From d6e77f5ad9d986fad32bf8f1551d82738ade2fd7 Mon Sep 17 00:00:00 2001 From: wolf Date: Wed, 17 Jan 2001 08:05:50 +0000 Subject: [PATCH] Prefix functions and classes with std:: where this is necessary for the forthcoming future gcc 3.0 release, and mandated by the C++ standard. git-svn-id: https://svn.dealii.org/branches/Branch-3-1@3699 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/convergence_table.h | 20 +- deal.II/base/include/base/data_out_base.h | 85 +- deal.II/base/include/base/exceptions.h | 50 +- deal.II/base/include/base/function.h | 90 +- .../base/include/base/function_derivative.h | 10 +- deal.II/base/include/base/function_lib.h | 164 +- deal.II/base/include/base/function_time.h | 2 +- deal.II/base/include/base/job_identifier.h | 32 +- deal.II/base/include/base/logstream.h | 48 +- .../base/include/base/memory_consumption.h | 60 +- deal.II/base/include/base/multithread_info.h | 4 +- deal.II/base/include/base/parameter_handler.h | 970 +- deal.II/base/include/base/point.h | 12 +- deal.II/base/include/base/quadrature.h | 36 +- deal.II/base/include/base/quadrature_lib.h | 2 +- deal.II/base/include/base/smartpointer.h | 4 +- deal.II/base/include/base/subscriptor.h | 4 +- deal.II/base/include/base/table_handler.h | 80 +- deal.II/base/include/base/tensor.h | 14 +- deal.II/base/include/base/tensor_base.h | 65 +- deal.II/base/include/base/tensor_function.h | 10 +- deal.II/base/include/base/thread_management.h | 254 +- deal.II/base/include/base/timer.h | 4 +- deal.II/base/source/convergence_table.cc | 42 +- .../source/data_out_base.all_dimensions.cc | 2 +- deal.II/base/source/data_out_base.cc | 478 +- deal.II/base/source/exceptions.cc | 34 +- deal.II/base/source/function.cc | 93 +- deal.II/base/source/function_derivative.cc | 130 +- deal.II/base/source/function_lib.cc | 110 +- deal.II/base/source/function_time.cc | 2 +- deal.II/base/source/job_identifier.cc | 11 +- deal.II/base/source/log.cc | 26 +- deal.II/base/source/memory_consumption.cc | 18 +- deal.II/base/source/multithread_info.cc | 8 +- deal.II/base/source/parameter_handler.cc | 412 +- deal.II/base/source/programid.cc | 2 +- deal.II/base/source/quadrature.cc | 52 +- deal.II/base/source/quadrature_lib.cc | 2 +- deal.II/base/source/subscriptor.cc | 2 +- deal.II/base/source/table_handler.cc | 159 +- deal.II/base/source/tensor.cc | 2 +- deal.II/base/source/tensor_function.cc | 10 +- deal.II/base/source/thread_management.cc | 4 +- deal.II/base/source/timer.cc | 2 +- deal.II/deal.II/include/dofs/dof_accessor.h | 38 +- .../include/dofs/dof_accessor.templates.h | 32 +- .../deal.II/include/dofs/dof_constraints.h | 12 +- .../include/dofs/dof_constraints.templates.h | 54 +- deal.II/deal.II/include/dofs/dof_handler.h | 12 +- deal.II/deal.II/include/dofs/dof_levels.h | 8 +- deal.II/deal.II/include/dofs/dof_tools.h | 52 +- deal.II/deal.II/include/fe/fe.h | 134 +- .../deal.II/include/fe/fe_lib.criss_cross.h | 36 +- deal.II/deal.II/include/fe/fe_lib.dg.h | 16 +- deal.II/deal.II/include/fe/fe_lib.dgp.h | 26 +- deal.II/deal.II/include/fe/fe_lib.lagrange.h | 26 +- deal.II/deal.II/include/fe/fe_system.h | 52 +- deal.II/deal.II/include/fe/fe_tools.h | 250 +- deal.II/deal.II/include/fe/fe_update_flags.h | 2 +- deal.II/deal.II/include/fe/fe_values.h | 80 +- deal.II/deal.II/include/fe/q1_mapping.h | 36 +- deal.II/deal.II/include/grid/.cvsignore | 2 +- deal.II/deal.II/include/grid/geometry_info.h | 5 +- deal.II/deal.II/include/grid/grid_generator.h | 2 +- deal.II/deal.II/include/grid/grid_in.h | 26 +- deal.II/deal.II/include/grid/grid_out.h | 18 +- .../deal.II/include/grid/grid_refinement.h | 14 +- .../deal.II/include/grid/grid_reordering.h | 34 +- deal.II/deal.II/include/grid/intergrid_map.h | 4 +- deal.II/deal.II/include/grid/magic_numbers.h | 2 +- .../deal.II/include/grid/persistent_tria.h | 16 +- deal.II/deal.II/include/grid/tria.h | 94 +- deal.II/deal.II/include/grid/tria_accessor.h | 20 +- .../include/grid/tria_accessor.templates.h | 18 +- deal.II/deal.II/include/grid/tria_boundary.h | 2 +- .../deal.II/include/grid/tria_boundary_lib.h | 2 +- deal.II/deal.II/include/grid/tria_hex.h | 2 +- deal.II/deal.II/include/grid/tria_iterator.h | 17 +- .../include/grid/tria_iterator.templates.h | 2 +- .../deal.II/include/grid/tria_iterator_base.h | 2 +- deal.II/deal.II/include/grid/tria_levels.h | 44 +- deal.II/deal.II/include/grid/tria_line.h | 4 +- deal.II/deal.II/include/grid/tria_quad.h | 4 +- deal.II/deal.II/include/multigrid/mg_base.h | 18 +- .../include/multigrid/mg_dof_accessor.h | 20 +- .../include/multigrid/mg_dof_handler.h | 64 +- .../deal.II/include/multigrid/mg_dof_tools.h | 2 +- .../deal.II/include/multigrid/mg_smoother.h | 4 +- .../include/multigrid/mg_smoother.templates.h | 8 +- deal.II/deal.II/include/multigrid/multigrid.h | 32 +- .../include/multigrid/multigrid.templates.h | 18 +- deal.II/deal.II/include/numerics/assembler.h | 2 +- deal.II/deal.II/include/numerics/base.h | 6 +- deal.II/deal.II/include/numerics/data_out.h | 36 +- .../deal.II/include/numerics/data_out_faces.h | 8 +- .../include/numerics/data_out_rotation.h | 6 +- .../deal.II/include/numerics/data_out_stack.h | 38 +- .../numerics/derivative_approximation.h | 4 +- .../include/numerics/dof_print_solver_step.h | 14 +- .../include/numerics/dof_renumbering.h | 16 +- .../include/numerics/error_estimator.h | 36 +- deal.II/deal.II/include/numerics/histogram.h | 22 +- deal.II/deal.II/include/numerics/matrices.h | 10 +- .../include/numerics/solution_transfer.h | 18 +- .../deal.II/include/numerics/time_dependent.h | 12 +- deal.II/deal.II/include/numerics/vectors.h | 14 +- deal.II/deal.II/source/dofs/dof_accessor.cc | 31 +- .../deal.II/source/dofs/dof_constraints.cc | 76 +- deal.II/deal.II/source/dofs/dof_handler.cc | 124 +- deal.II/deal.II/source/dofs/dof_levels.cc | 2 +- .../deal.II/source/dofs/dof_renumbering.cc | 136 +- deal.II/deal.II/source/dofs/dof_tools.cc | 198 +- deal.II/deal.II/source/fe/fe.cc | 130 +- .../deal.II/source/fe/fe_lib.criss_cross.cc | 138 +- deal.II/deal.II/source/fe/fe_lib.cubic.cc | 11810 ++++++++-------- deal.II/deal.II/source/fe/fe_lib.dg.cc | 10 +- .../deal.II/source/fe/fe_lib.dg.constant.cc | 14 +- deal.II/deal.II/source/fe/fe_lib.dgp1.cc | 50 +- deal.II/deal.II/source/fe/fe_lib.dgp2.cc | 42 +- deal.II/deal.II/source/fe/fe_lib.dgp3.cc | 42 +- deal.II/deal.II/source/fe/fe_lib.linear.cc | 68 +- deal.II/deal.II/source/fe/fe_lib.quadratic.cc | 848 +- deal.II/deal.II/source/fe/fe_lib.quartic.cc | 48 +- deal.II/deal.II/source/fe/fe_system.cc | 120 +- deal.II/deal.II/source/fe/fe_tools.cc | 12 +- deal.II/deal.II/source/fe/fe_values.cc | 104 +- deal.II/deal.II/source/fe/q1_mapping.cc | 228 +- .../deal.II/source/fe/q1_mapping.jacobians.cc | 14 +- deal.II/deal.II/source/grid/geometry_info.cc | 12 +- deal.II/deal.II/source/grid/grid_generator.cc | 238 +- deal.II/deal.II/source/grid/grid_in.cc | 130 +- .../source/grid/grid_out.all_dimensions.cc | 8 +- deal.II/deal.II/source/grid/grid_out.cc | 166 +- .../deal.II/source/grid/grid_refinement.cc | 52 +- .../deal.II/source/grid/grid_reordering.cc | 170 +- deal.II/deal.II/source/grid/intergrid_map.cc | 2 +- .../deal.II/source/grid/persistent_tria.cc | 30 +- .../source/grid/tria.all_dimensions.cc | 34 +- deal.II/deal.II/source/grid/tria.cc | 631 +- deal.II/deal.II/source/grid/tria_accessor.cc | 1012 +- deal.II/deal.II/source/grid/tria_boundary.cc | 2 +- .../deal.II/source/grid/tria_boundary_lib.cc | 2 +- deal.II/deal.II/source/multigrid/mg_base.cc | 2 +- .../source/multigrid/mg_dof_accessor.cc | 20 +- .../source/multigrid/mg_dof_handler.cc | 50 +- .../deal.II/source/multigrid/mg_dof_tools.cc | 24 +- .../deal.II/source/multigrid/mg_smoother.cc | 8 +- .../multigrid/multigrid.all_dimensions.cc | 2 +- deal.II/deal.II/source/multigrid/multigrid.cc | 8 +- deal.II/deal.II/source/numerics/assembler.cc | 4 +- deal.II/deal.II/source/numerics/base.cc | 6 +- deal.II/deal.II/source/numerics/data_out.cc | 36 +- .../deal.II/source/numerics/data_out_faces.cc | 8 +- .../source/numerics/data_out_rotation.cc | 10 +- .../deal.II/source/numerics/data_out_stack.cc | 63 +- .../numerics/derivative_approximation.cc | 22 +- deal.II/deal.II/source/numerics/equation.cc | 2 +- .../source/numerics/error_estimator.cc | 56 +- deal.II/deal.II/source/numerics/histogram.cc | 66 +- deal.II/deal.II/source/numerics/matrices.cc | 82 +- .../source/numerics/solution_transfer.cc | 40 +- .../deal.II/source/numerics/time_dependent.cc | 46 +- .../source/numerics/vectors.all_dimensions.cc | 4 +- deal.II/deal.II/source/numerics/vectors.cc | 114 +- deal.II/examples/step-1/step-1.cc | 4 +- deal.II/examples/step-2/step-2.cc | 4 +- deal.II/examples/step-3/step-3.cc | 24 +- deal.II/examples/step-4/step-4.cc | 36 +- deal.II/examples/step-5/step-5.cc | 62 +- deal.II/examples/step-6/step-6.cc | 76 +- deal.II/examples/step-7/step-7.cc | 110 +- deal.II/examples/step-8/step-8.cc | 86 +- deal.II/examples/step-9/step-9.cc | 126 +- deal.II/lac/include/lac/block_indices.h | 20 +- deal.II/lac/include/lac/block_matrix.h | 2 +- deal.II/lac/include/lac/block_sparse_matrix.h | 10 +- .../lac/block_sparse_matrix.templates.h | 6 +- .../lac/include/lac/block_sparsity_pattern.h | 6 +- deal.II/lac/include/lac/block_vector.h | 28 +- .../lac/include/lac/block_vector.templates.h | 24 +- deal.II/lac/include/lac/eigen.h | 2 +- deal.II/lac/include/lac/full_matrix.h | 8 +- .../lac/include/lac/full_matrix.templates.h | 60 +- deal.II/lac/include/lac/precondition.h | 2 +- deal.II/lac/include/lac/precondition_block.h | 6 +- .../lac/precondition_block.templates.h | 20 +- .../lac/include/lac/precondition_selector.h | 12 +- deal.II/lac/include/lac/solver.h | 2 +- deal.II/lac/include/lac/solver_bicgstab.h | 2 +- deal.II/lac/include/lac/solver_cg.h | 2 +- deal.II/lac/include/lac/solver_control.h | 2 +- deal.II/lac/include/lac/solver_gmres.h | 4 +- deal.II/lac/include/lac/solver_minres.h | 2 +- deal.II/lac/include/lac/solver_qmrs.h | 16 +- deal.II/lac/include/lac/solver_richardson.h | 2 +- deal.II/lac/include/lac/solver_selector.h | 22 +- deal.II/lac/include/lac/sparse_ilu.h | 2 +- .../lac/include/lac/sparse_ilu.templates.h | 26 +- deal.II/lac/include/lac/sparse_matrix.h | 8 +- .../lac/include/lac/sparse_matrix.templates.h | 54 +- deal.II/lac/include/lac/sparse_vanka.h | 25 +- .../lac/include/lac/sparse_vanka.templates.h | 47 +- deal.II/lac/include/lac/sparsity_pattern.h | 22 +- deal.II/lac/include/lac/swappable_vector.h | 10 +- .../include/lac/swappable_vector.templates.h | 10 +- deal.II/lac/include/lac/vector.h | 16 +- deal.II/lac/include/lac/vector.templates.h | 43 +- deal.II/lac/include/lac/vector_memory.h | 20 +- deal.II/lac/source/block_sparse_matrix.cc | 2 +- deal.II/lac/source/block_sparsity_pattern.cc | 8 +- deal.II/lac/source/block_vector.cc | 2 +- deal.II/lac/source/full_matrix.double.cc | 6 +- deal.II/lac/source/full_matrix.float.cc | 2 +- deal.II/lac/source/precondition_block.cc | 2 +- deal.II/lac/source/solver_control.cc | 4 +- deal.II/lac/source/sparse_ilu.cc | 2 +- deal.II/lac/source/sparse_matrix.double.cc | 2 +- deal.II/lac/source/sparse_matrix.float.cc | 2 +- .../lac/source/sparse_matrix.long_double.cc | 2 +- deal.II/lac/source/sparse_vanka.cc | 2 +- deal.II/lac/source/sparsity_pattern.cc | 94 +- deal.II/lac/source/swappable_vector.cc | 2 +- deal.II/lac/source/vector.cc | 6 +- deal.II/lac/source/vector.long_double.cc | 6 +- 225 files changed, 11983 insertions(+), 11868 deletions(-) diff --git a/deal.II/base/include/base/convergence_table.h b/deal.II/base/include/base/convergence_table.h index e345b938c5..7c10868d1e 100644 --- a/deal.II/base/include/base/convergence_table.h +++ b/deal.II/base/include/base/convergence_table.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -103,9 +103,9 @@ class ConvergenceTable: public TableHandler * * Still not implemented. */ - void evaluate_convergence_rates (const string &data_column_key, - const string &reference_column_key, - const RateMode rate_mode); + void evaluate_convergence_rates (const std::string &data_column_key, + const std::string &reference_column_key, + const RateMode rate_mode); /** @@ -125,8 +125,8 @@ class ConvergenceTable: public TableHandler * the @p{set_tex_supercaption (...)} function * of the base class @p{TableHandler}. */ - void evaluate_convergence_rates (const string &data_column_key, - const RateMode rate_mode); + void evaluate_convergence_rates (const std::string &data_column_key, + const RateMode rate_mode); /** * Omit this column @p{key} @@ -139,7 +139,7 @@ class ConvergenceTable: public TableHandler * omitting the column from convergence * rate evalution. */ - void omit_column_from_convergence_rate_evaluation(const string &key); + void omit_column_from_convergence_rate_evaluation(const std::string &key); /** * Evaluates convergence rates @@ -167,8 +167,8 @@ class ConvergenceTable: public TableHandler * should omitted by calling the * @p{omit_column_from_convergence_rate_evaluation(..)}. */ - void evaluate_all_convergence_rates(const string &reference_column_key, - const RateMode rate_mode); + void evaluate_all_convergence_rates(const std::string &reference_column_key, + const RateMode rate_mode); /** * Evaluates convergence rates @@ -205,7 +205,7 @@ class ConvergenceTable: public TableHandler * Exception */ DeclException1 (ExcRateColumnAlreadyExists, - string, + std::string, << "Rate column <" << arg1 << "> does already exist."); }; diff --git a/deal.II/base/include/base/data_out_base.h b/deal.II/base/include/base/data_out_base.h index 71ca79938e..616b2dd7be 100644 --- a/deal.II/base/include/base/data_out_base.h +++ b/deal.II/base/include/base/data_out_base.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -427,7 +427,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -499,7 +499,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -555,7 +555,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -634,7 +634,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -929,7 +929,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -985,7 +985,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -1003,10 +1003,10 @@ class DataOutBase * on the parameters. */ template - static void write_ucd (const vector > &patches, - const vector &data_names, - const UcdFlags &flags, - ostream &out); + static void write_ucd (const std::vector > &patches, + const std::vector &data_names, + const UcdFlags &flags, + std::ostream &out); /** * Write the given list of patches @@ -1016,10 +1016,10 @@ class DataOutBase * on the parameters. */ template - static void write_gnuplot (const vector > &patches, - const vector &data_names, - const GnuplotFlags &flags, - ostream &out); + static void write_gnuplot (const std::vector > &patches, + const std::vector &data_names, + const GnuplotFlags &flags, + std::ostream &out); /** * Write the given list of patches @@ -1029,10 +1029,10 @@ class DataOutBase * on the parameters. */ template - static void write_povray (const vector > &patches, - const vector &data_names, - const PovrayFlags &flags, - ostream &out); + static void write_povray (const std::vector > &patches, + const std::vector &data_names, + const PovrayFlags &flags, + std::ostream &out); /** * Write the given list of patches @@ -1042,10 +1042,10 @@ class DataOutBase * on the parameters. */ template - static void write_eps (const vector > &patches, - const vector &data_names, - const EpsFlags &flags, - ostream &out); + static void write_eps (const std::vector > &patches, + const std::vector &data_names, + const EpsFlags &flags, + std::ostream &out); /** * Write the given list of patches @@ -1055,10 +1055,10 @@ class DataOutBase * on the parameters. */ template - static void write_gmv (const vector > &patches, - const vector &data_names, - const GmvFlags &flags, - ostream &out); + static void write_gmv (const std::vector > &patches, + const std::vector &data_names, + const GmvFlags &flags, + std::ostream &out); /** * Determine an estimate for @@ -1069,7 +1069,7 @@ class DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -1175,8 +1175,8 @@ class DataOutBase */ template static void - write_gmv_reorder_data_vectors (const vector > &patches, - vector > &data_vectors); + write_gmv_reorder_data_vectors (const std::vector > &patches, + std::vector > &data_vectors); }; @@ -1309,35 +1309,35 @@ class DataOutInterface : private DataOutBase * function and write it to @p{out} in * UCD format. */ - void write_ucd (ostream &out) const; + void write_ucd (std::ostream &out) const; /** * Obtain data through the @p{get_patches} * function and write it to @p{out} in * GNUPLOT format. */ - void write_gnuplot (ostream &out) const; + void write_gnuplot (std::ostream &out) const; /** * Obtain data through the @p{get_patches} * function and write it to @p{out} in * POVRAY format. */ - void write_povray (ostream &out) const; + void write_povray (std::ostream &out) const; /** * Obtain data through the @p{get_patches} * function and write it to @p{out} in * EPS format. */ - void write_eps (ostream &out) const; + void write_eps (std::ostream &out) const; /** * Obtain data through the @p{get_patches} * function and write it to @p{out} in * GMV format. */ - void write_gmv (ostream &out) const; + void write_gmv (std::ostream &out) const; /** * Write data and grid to @p{out} according @@ -1349,7 +1349,8 @@ class DataOutInterface : private DataOutBase * An error occurs if no format is provided and * the default format is @p{default_format}. */ - void write (ostream &out, const OutputFormat output_format = default_format) const; + void write (std::ostream &out, + const OutputFormat output_format = default_format) const; /** * Set the default format. The value set here @@ -1407,7 +1408,7 @@ class DataOutInterface : private DataOutBase * suffix for the * @p{default_format} is returned. */ - string default_suffix (const OutputFormat output_format = default_format) const; + std::string default_suffix (const OutputFormat output_format = default_format) const; /** * Return the @p{OutputFormat} value @@ -1429,7 +1430,7 @@ class DataOutInterface : private DataOutBase * @p{ParameterHandler} class, use the * function @p{get_output_format_names ()}. */ - static OutputFormat parse_output_format (const string &format_name); + static OutputFormat parse_output_format (const std::string &format_name); /** * Return a list of implemented output @@ -1438,7 +1439,7 @@ class DataOutInterface : private DataOutBase * as used by the @p{ParameterHandler} * classes. */ - static string get_output_format_names (); + static std::string get_output_format_names (); /** * Declare parameters for all output @@ -1487,7 +1488,7 @@ class DataOutInterface : private DataOutBase * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -1513,7 +1514,7 @@ class DataOutInterface : private DataOutBase * allow the output functions to * know what they shall print. */ - virtual const vector > & + virtual const std::vector > & get_patches () const = 0; /** @@ -1522,7 +1523,7 @@ class DataOutInterface : private DataOutBase * obtained by the output functions * of the base class. */ - virtual vector get_dataset_names () const = 0; + virtual std::vector get_dataset_names () const = 0; private: /** diff --git a/deal.II/base/include/base/exceptions.h b/deal.II/base/include/base/exceptions.h index c6df148655..927c2e1e90 100644 --- a/deal.II/base/include/base/exceptions.h +++ b/deal.II/base/include/base/exceptions.h @@ -69,7 +69,7 @@ * This declares an exception class named @p{ExcDomain}, which * has two variables as additional information (named * @p{arg1} and @p{arg2} by default) and which outputs the - * given sequence (which is appended to an @p{ostream} + * given sequence (which is appended to an @p{std::ostream} * variable's name, thus the weird syntax). There are * other @p{DeclExceptionN} macros for exception classes * with more or no parameters. It is proposed to let start @@ -136,7 +136,7 @@ * In @p{__IssueError} the given data * is transferred into the @p{exc} object by calling the * @p{SetFields} function; after that, the general error info - * is printed onto @p{cerr} using the @p{PrintError} function of + * is printed onto @p{std::cerr} using the @p{PrintError} function of * @p{exc} and finally the exception specific data is printed * using the user defined function @p{PrintError} (which is * normally created using the @p{DeclException (...)} macro @@ -175,9 +175,9 @@ * do_something (); * } * catch (exception &e) { - * cerr << "Exception occured:" << endl + * std::cerr << "Exception occured:" << std::endl * << e.what () - * << endl; + * << std::endl; * do_something_to_reciver (); * }; * @end{verbatim} @@ -243,8 +243,8 @@ * public: * name (const type1 a1, const type2 a2) : * arg1 (a1), arg2(a2) {}; - * virtual void PrintInfo (ostream &out) const { - * out outsequence << endl; + * virtual void PrintInfo (std::ostream &out) const { + * out outsequence << std::endl; * }; * private: * type1 arg1; @@ -278,7 +278,7 @@ * * @author Wolfgang Bangerth, November 1997, extensions 1998 */ -class ExceptionBase : public exception +class ExceptionBase : public std::exception { public: /** @@ -311,14 +311,14 @@ class ExceptionBase : public exception * Print out the general part of the error * information. */ - void PrintExcData (ostream &out) const; + void PrintExcData (std::ostream &out) const; /** * Print more specific information about the * exception which occured. Overload this * function in your own exception classes. */ - virtual void PrintInfo (ostream &out) const; + virtual void PrintInfo (std::ostream &out) const; /** @@ -381,14 +381,14 @@ void __IssueError_Assert (const char *file, { // Fill the fields of the exception object e.SetFields (file, line, function, cond, exc_name); - cerr << "--------------------------------------------------------" - << endl; + std::cerr << "--------------------------------------------------------" + << std::endl; // print out general data - e.PrintExcData (cerr); + e.PrintExcData (std::cerr); // print out exception specific data - e.PrintInfo (cerr); - cerr << "--------------------------------------------------------" - << endl; + e.PrintInfo (std::cerr); + std::cerr << "--------------------------------------------------------" + << std::endl; abort (); }; @@ -505,8 +505,8 @@ class Exception0 : public ExceptionBase {} class Exception1 : public ExceptionBase { \ public: \ Exception1 (const type1 a1) : arg1 (a1) {}; \ - virtual void PrintInfo (ostream &out) const { \ - out outsequence << endl; \ + virtual void PrintInfo (std::ostream &out) const { \ + out outsequence << std::endl; \ }; \ private: \ const type1 arg1; \ @@ -525,8 +525,8 @@ class Exception2 : public ExceptionBase { \ public: \ Exception2 (const type1 a1, const type2 a2) : \ arg1 (a1), arg2(a2) {}; \ - virtual void PrintInfo (ostream &out) const { \ - out outsequence << endl; \ + virtual void PrintInfo (std::ostream &out) const { \ + out outsequence << std::endl; \ }; \ private: \ const type1 arg1; \ @@ -546,8 +546,8 @@ class Exception3 : public ExceptionBase { \ public: \ Exception3 (const type1 a1, const type2 a2, const type3 a3) : \ arg1 (a1), arg2(a2), arg3(a3) {}; \ - virtual void PrintInfo (ostream &out) const { \ - out outsequence << endl; \ + virtual void PrintInfo (std::ostream &out) const { \ + out outsequence << std::endl; \ }; \ private: \ const type1 arg1; \ @@ -569,8 +569,8 @@ class Exception4 : public ExceptionBase { \ Exception4 (const type1 a1, const type2 a2, \ const type3 a3, const type4 a4) : \ arg1 (a1), arg2(a2), arg3(a3), arg4(a4) {}; \ - virtual void PrintInfo (ostream &out) const { \ - out outsequence << endl; \ + virtual void PrintInfo (std::ostream &out) const { \ + out outsequence << std::endl; \ }; \ private: \ const type1 arg1; \ @@ -593,8 +593,8 @@ class Exception5 : public ExceptionBase { \ Exception5 (const type1 a1, const type2 a2, const type3 a3, \ const type4 a4, const type5 a5) : \ arg1 (a1), arg2(a2), arg3(a3), arg4(a4), arg5(a5) {}; \ - virtual void PrintInfo (ostream &out) const { \ - out outsequence << endl; \ + virtual void PrintInfo (std::ostream &out) const { \ + out outsequence << std::endl; \ }; \ private: \ const type1 arg1; \ diff --git a/deal.II/base/include/base/function.h b/deal.II/base/include/base/function.h index 69ef98668a..de66b9f622 100644 --- a/deal.II/base/include/base/function.h +++ b/deal.II/base/include/base/function.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -49,13 +49,13 @@ template class Vector; * components at a list of points at once: * @begin{verbatim} * // access to one component at several points - * void value_list (const vector > &point_list, - * vector &value_list, + * void value_list (const std::vector > &point_list, + * std::vector &value_list, * const unsigned int component = 0) const; * * // return all components at several points - * void vector_value_list (const vector > &point_list, - * vector > &value_list) const; + * void vector_value_list (const std::vector > &point_list, + * std::vector > &value_list) const; * @end{verbatim} * * Furthermore, there are functions returning the gradient of the @@ -162,9 +162,9 @@ class Function : public FunctionTime, * right size, i.e. the same * size as the @p{points} array. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Set @p{values} to the point @@ -177,8 +177,8 @@ class Function : public FunctionTime, * the same number of components * as this function has. */ - virtual void vector_value_list (const vector > &points, - vector > &values) const; + virtual void vector_value_list (const std::vector > &points, + std::vector > &values) const; /** * Return the gradient of the @@ -193,8 +193,8 @@ class Function : public FunctionTime, * components of the * function at the given point. */ - virtual void vector_gradient (const Point &p, - vector > &gradients) const; + virtual void vector_gradient (const Point &p, + std::vector > &gradients) const; /** * Set @p{gradients} to the @@ -205,9 +205,9 @@ class Function : public FunctionTime, * right size, i.e. the same * size as the @p{points} array. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Set @p{gradients} to the gradients of @@ -223,8 +223,8 @@ class Function : public FunctionTime, * over the different components * of the function. */ - virtual void vector_gradient_list (const vector > &points, - vector > > &gradients) const; + virtual void vector_gradient_list (const std::vector > &points, + std::vector > > &gradients) const; /** * Compute the Laplacian of a @@ -239,22 +239,22 @@ class Function : public FunctionTime, * store them in @p{values}. */ virtual void vector_laplacian (const Point &p, - Vector &values) const; + Vector &values) const; /** * Compute the Laplacian of one * component at a set of points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Compute the Laplacians of all * components at a set of points. */ - virtual void vector_laplacian_list (const vector > &points, - vector > &values) const; + virtual void vector_laplacian_list (const std::vector > &points, + std::vector > &values) const; /** * Determine an estimate for @@ -265,7 +265,7 @@ class Function : public FunctionTime, * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -329,9 +329,9 @@ class ZeroFunction : public Function * the same size as the @p{points} * array. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Set @p{values} to the point values @@ -342,8 +342,8 @@ class ZeroFunction : public Function * the same size as the @p{points} * array. */ - virtual void vector_value_list (const vector > &points, - vector > &values) const; + virtual void vector_value_list (const std::vector > &points, + std::vector > &values) const; /** * Return the gradient of the function @@ -359,8 +359,8 @@ class ZeroFunction : public Function * function at the given point, * for all components. */ - virtual void vector_gradient (const Point &p, - vector > &gradients) const; + virtual void vector_gradient (const Point &p, + std::vector > &gradients) const; /** * Set @p{gradients} to the gradients of @@ -370,9 +370,9 @@ class ZeroFunction : public Function * already has the right size, i.e. * the same size as the @p{points} array. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Set @p{gradients} to the gradients of @@ -388,8 +388,8 @@ class ZeroFunction : public Function * over the different components * of the function. */ - virtual void vector_gradient_list (const vector > &points, - vector > > &gradients) const; + virtual void vector_gradient_list (const std::vector > &points, + std::vector > > &gradients) const; }; @@ -457,9 +457,9 @@ class ConstantFunction : public ZeroFunction * the same size as the @p{points} * array. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Set @p{values} to the point values @@ -470,8 +470,8 @@ class ConstantFunction : public ZeroFunction * the same size as the @p{points} * array. */ - virtual void vector_value_list (const vector > &points, - vector > &values) const; + virtual void vector_value_list (const std::vector > &points, + std::vector > &values) const; /** * Determine an estimate for @@ -482,7 +482,7 @@ class ConstantFunction : public ZeroFunction * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -538,8 +538,8 @@ class ComponentSelectFunction : public ConstantFunction * the same size as the @p{points} * array. */ - virtual void vector_value_list (const vector > &points, - vector > &values) const; + virtual void vector_value_list (const std::vector > &points, + std::vector > &values) const; /** * Determine an estimate for @@ -550,7 +550,7 @@ class ComponentSelectFunction : public ConstantFunction * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often diff --git a/deal.II/base/include/base/function_derivative.h b/deal.II/base/include/base/function_derivative.h index 9400f0fff5..91375ee706 100644 --- a/deal.II/base/include/base/function_derivative.h +++ b/deal.II/base/include/base/function_derivative.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -86,9 +86,9 @@ class FunctionDerivative : public Function /** * Function values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Determine an estimate for @@ -99,7 +99,7 @@ class FunctionDerivative : public Function * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often diff --git a/deal.II/base/include/base/function_lib.h b/deal.II/base/include/base/function_lib.h index cf57ccac3c..f0be7ae3ff 100644 --- a/deal.II/base/include/base/function_lib.h +++ b/deal.II/base/include/base/function_lib.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -40,9 +40,9 @@ class SquareFunction : public Function /** * Function values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at one point. @@ -52,10 +52,10 @@ class SquareFunction : public Function /** Gradients at multiple points. - */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + */ + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian of the function at one point. @@ -66,9 +66,9 @@ class SquareFunction : public Function /** * Laplacian of the function at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -92,23 +92,23 @@ class Q1WedgeFunction : public Function /** * Function values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at one point. */ virtual Tensor<1,dim> gradient (const Point &p, - const unsigned int component = 0) const; + const unsigned int component = 0) const; /** Gradients at multiple points. - */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; - + */ + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; + /** * Laplacian of the function at one point. */ @@ -118,9 +118,9 @@ class Q1WedgeFunction : public Function /** * Laplacian of the function at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -159,9 +159,9 @@ class PillowFunction : public Function /** * Values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at a single point. @@ -172,9 +172,9 @@ class PillowFunction : public Function /** * Gradients at multiple points. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian at a single point. @@ -185,9 +185,9 @@ class PillowFunction : public Function /** * Laplacian at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; private: const double offset; }; @@ -213,9 +213,9 @@ class CosineFunction : public Function /** * Values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at a single point. @@ -226,9 +226,9 @@ class CosineFunction : public Function /** * Gradients at multiple points. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian at a single point. @@ -239,9 +239,9 @@ class CosineFunction : public Function /** * Laplacian at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -263,9 +263,9 @@ class ExpFunction : public Function /** * Values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at a single point. @@ -276,9 +276,9 @@ class ExpFunction : public Function /** * Gradients at multiple points. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian at a single point. @@ -289,9 +289,9 @@ class ExpFunction : public Function /** * Laplacian at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -312,22 +312,22 @@ class LSingularityFunction : public Function<2> /** * Values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at a single point. */ - virtual Tensor<1,2> gradient (const Point<2> &p, - const unsigned int component = 0) const; + virtual Tensor<1,2> gradient (const Point<2> &p, + const unsigned int component = 0) const; /** * Gradients at multiple points. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian at a single point. @@ -338,9 +338,9 @@ class LSingularityFunction : public Function<2> /** * Laplacian at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -361,22 +361,22 @@ class SlitSingularityFunction : public Function<2> /** * Values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at a single point. */ virtual Tensor<1,2> gradient (const Point<2> &p, - const unsigned int component = 0) const; + const unsigned int component = 0) const; /** * Gradients at multiple points. */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian at a single point. @@ -387,9 +387,9 @@ class SlitSingularityFunction : public Function<2> /** * Laplacian at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -428,9 +428,9 @@ class JumpFunction : public Function /** * Function values at multiple points. */ - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Gradient at one point. @@ -440,10 +440,10 @@ class JumpFunction : public Function /** Gradients at multiple points. - */ - virtual void gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component = 0) const; + */ + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component = 0) const; /** * Laplacian of the function at one point. @@ -454,9 +454,9 @@ class JumpFunction : public Function /** * Laplacian of the function at multiple points. */ - virtual void laplacian_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; /** * Determine an estimate for @@ -467,7 +467,7 @@ class JumpFunction : public Function * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often diff --git a/deal.II/base/include/base/function_time.h b/deal.II/base/include/base/function_time.h index e126e90902..fa0136cc44 100644 --- a/deal.II/base/include/base/function_time.h +++ b/deal.II/base/include/base/function_time.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/include/base/job_identifier.h b/deal.II/base/include/base/job_identifier.h index 72babfc175..ac9e87db0b 100644 --- a/deal.II/base/include/base/job_identifier.h +++ b/deal.II/base/include/base/job_identifier.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -26,18 +26,40 @@ class JobIdentifier { public: + /** + * Constructor. Set program + * identifier to value of + * @p{program_id} concatenated + * with the present time. + */ JobIdentifier(); - ~JobIdentifier(); - + + /** + * ??? + */ static const char* program_id(); - const string operator () ()const; + + /** + * Return the value of @p{id}. + */ + const std::string operator () ()const; + private: - string id; + /** + * String holding the identifier + * of the presently running + * program. + */ + std::string id; }; /*------------------------------ Inline functions ------------------------------*/ + +/** + * Global object to identify the presently running program. + */ extern JobIdentifier dealjobid; #endif diff --git a/deal.II/base/include/base/logstream.h b/deal.II/base/include/base/logstream.h index b73a7ed0d1..221beacb36 100644 --- a/deal.II/base/include/base/logstream.h +++ b/deal.II/base/include/base/logstream.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -33,12 +33,12 @@ * The usual usage of this class is through the pregenerated object * @p{deallog}. Typical steps are * @begin{itemize} - * @item @p{deallog.attach(ostream)}: write logging information into a file. + * @item @p{deallog.attach(std::ostream)}: write logging information into a file. * @item @p{deallog.depth_console(n)}: restrict output on screen to outer loops. * @item Before entering a new phase of your program, e.g. a new loop, * @p{deallog.push("loopname")}. - * @item @p{deallog << anything << endl;} to write logging information - * (Usage of @p{endl} is mandatory!). + * @item @p{deallog << anything << std::endl;} to write logging information + * (Usage of @p{std::endl} is mandatory!). * @item @p{deallog.pop()} when leaving that stage entered with @p{push}. * @end{itemize} * @@ -54,15 +54,15 @@ class LogStream * allow identification where the * output was generated. */ - stack prefixes; + std::stack prefixes; /** * Default stream, where the output * is to go to. This stream defaults - * to @p{cerr}, but can be set to another + * to @p{std::cerr}, but can be set to another * stream through the constructor. */ - ostream *std_out; + std::ostream *std_out; /** * Pointer to a stream, where a copy of @@ -72,7 +72,7 @@ class LogStream * You can set and reset this stream * by the @p{attach} function. */ - ostream *file; + std::ostream *file; /** * Flag which stores whether the @@ -113,7 +113,7 @@ class LogStream * Standard constructor, since we * intend to provide an object * @p{deallog} in the library. Set the - * standard output stream to @p{cerr}. + * standard output stream to @p{std::cerr}. */ LogStream(); @@ -121,7 +121,7 @@ class LogStream * Enable output to a second * stream @p{o}. */ - void attach(ostream& o); + void attach(std::ostream& o); /** * Disable output to the second @@ -134,12 +134,12 @@ class LogStream /** * Gives the default stream (@p{std_out}). */ - ostream& get_console(); + std::ostream& get_console(); /** * Gives the file stream. */ - ostream& get_file_stream(); + std::ostream& get_file_stream(); /** * Push another prefix on the @@ -148,7 +148,7 @@ class LogStream * colon and there is a double * colon after the last prefix. */ - void push (const string& text); + void push (const std::string& text); /** * Remove the last prefix. @@ -200,14 +200,14 @@ class LogStream * function on the present object. It * works the same way as it is possible * to output the stream manipulators - * (like @p{endl}, etc) work on standard - * streams: @p{stream << endl;}. We need + * (like @p{std::endl}, etc) work on standard + * streams: @p{stream << std::endl;}. We need * to overload this function in order * to know when we have to print the * prefixes, since a user may use several * calls to @p{operator <<} before the * line is complete. The overloaded - * function @p{void endl(LogStream &)} + * function @p{void std::endl(LogStream &)} * tells the @p{LogStream} that the end of * the line is reached. */ @@ -223,7 +223,7 @@ class LogStream * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -261,7 +261,7 @@ LogStream & LogStream::operator<< (const T& t) { // if the previous command was an - // @p{endl}, print the topmost prefix + // @p{std::endl}, print the topmost prefix // and a colon if (was_endl) { @@ -281,10 +281,10 @@ LogStream::operator<< (const T& t) /** - * Replacement of @p{endl} for @p{LogStream}. + * Replacement of @p{std::endl} for @p{LogStream}. * - * Overloaded version of the stream manipulator function @p{endl} which - * results in calling the original version of @p{endl} for each of the + * Overloaded version of the stream manipulator function @p{std::endl} which + * results in calling the original version of @p{std::endl} for each of the * two streams, if the present prefix number does not exceed the * specified maximal number. * @@ -293,10 +293,10 @@ LogStream::operator<< (const T& t) inline void endl(LogStream& s) { if (s.prefixes.size() <= s.std_depth) - *s.std_out << endl; + *s.std_out << std::endl; if (s.file && (s.prefixes.size() <= s.file_depth)) - *s.file << endl; + *s.file << std::endl; s.was_endl = true; }; @@ -312,3 +312,5 @@ extern LogStream deallog; #endif + + diff --git a/deal.II/base/include/base/memory_consumption.h b/deal.II/base/include/base/memory_consumption.h index b139bfec09..1df064f48a 100644 --- a/deal.II/base/include/base/memory_consumption.h +++ b/deal.II/base/include/base/memory_consumption.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -24,7 +24,7 @@ * This namespace provides functions helping to determine the amount * of memory used by objects. The goal is not necessarily to give the * amount of memory used up to the last bit (what is the memory used - * by an STL @p{map<>} object?), but rather to aid in the search for + * by an STL @p{std::map<>} object?), but rather to aid in the search for * memory bottlenecks. * * The functions in this namespace work basically by reducing each @@ -37,19 +37,19 @@ * operator to it. If this is not the case, then try to reduce it to * more basic types. * - * For example, if it is a C-style array or a standard C++ @p{vector}, + * For example, if it is a C-style array or a standard C++ @p{std::vector}, * then sum up the sizes of the array elements by calling * @p{memory_consumption} on each of them. This way, we can also - * reduce objects of type @p{vector >} to its atomic + * reduce objects of type @p{std::vector >} to its atomic * types, and can thus determine the memory used even if the sizes of * the elements of the outermost vector differ (e.g. the first * sub-vector has 3 and the second sub-vector has 10 elements). * * There are two exceptions to simply adding up the sizes of the - * subobjects: for C++ @p{vector} objects, we also have to add the + * subobjects: for C++ @p{std::vector} objects, we also have to add the * size of the vector object, i.e. @p{sizeof(vector)}, to the sizes * of the elements. Secondly, for the most common used vectors, such - * as @p{vector} and @p{vector} we determine the + * as @p{std::vector} and @p{std::vector} we determine the * size without a loop but rather directly, since we know that the * sizes of the elements are constant. * @@ -141,15 +141,15 @@ namespace MemoryConsumption /** * Determine an estimate of the * amount of memory in bytes - * consumed by a @p{string} + * consumed by a @p{std::string} * variable. */ - unsigned int memory_consumption (const string &s); + unsigned int memory_consumption (const std::string &s); /** * Determine an estimate of the * amount of memory in bytes - * consumed by a @p{vector} of + * consumed by a @p{std::vector} of * certain elements. It does so by * looping over all elements of the * vector and determining their @@ -194,7 +194,7 @@ namespace MemoryConsumption * vectors of bools. */ template - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Estimate the amount of memory @@ -204,10 +204,10 @@ namespace MemoryConsumption * store simple data elements * like @p{double}s in such * arrays (but rather use STL - * @p{vector}s or deal.II + * @p{std::vector}s or deal.II * @p{Vector} objects), we do not * provide specializations like - * for the @p{vector} arrays, but + * for the @p{std::vector} arrays, but * always use the loop over all * elements. */ @@ -225,7 +225,7 @@ namespace MemoryConsumption * one-by-one, but as a bit * field. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -233,7 +233,7 @@ namespace MemoryConsumption * consumption of a vector, here * for a vector of @p{int}s. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -241,7 +241,7 @@ namespace MemoryConsumption * consumption of a vector, here * for a vector of @p{double}s. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -249,7 +249,7 @@ namespace MemoryConsumption * consumption of a vector, here * for a vector of @p{float}s. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -257,7 +257,7 @@ namespace MemoryConsumption * consumption of a vector, here * for a vector of @p{char}s. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -265,7 +265,7 @@ namespace MemoryConsumption * consumption of a vector, here * for a vector of @p{unsigned char}s. */ - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Specialization of the @@ -274,7 +274,7 @@ namespace MemoryConsumption * for a vector of pointers. */ template - unsigned int memory_consumption (const vector &v); + unsigned int memory_consumption (const std::vector &v); /** * Determine an estimate of the @@ -282,7 +282,7 @@ namespace MemoryConsumption * consumed by a pair of values. */ template - unsigned int memory_consumption (const pair &p); + unsigned int memory_consumption (const std::pair &p); /** * Return the amount of memory @@ -414,9 +414,9 @@ namespace MemoryConsumption template - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { - unsigned int mem = sizeof(vector); + unsigned int mem = sizeof(std::vector); const unsigned int n = v.size(); for (unsigned int i=0; i &v) + unsigned int memory_consumption (const std::vector &v) { return v.capacity() / 8 + sizeof(v); }; @@ -446,7 +446,7 @@ namespace MemoryConsumption inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(int) + sizeof(v)); @@ -455,7 +455,7 @@ namespace MemoryConsumption inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(double) + sizeof(v)); @@ -464,7 +464,7 @@ namespace MemoryConsumption inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(float) + sizeof(v)); @@ -473,7 +473,7 @@ namespace MemoryConsumption inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(char) + sizeof(v)); @@ -482,7 +482,7 @@ namespace MemoryConsumption inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(unsigned char) + sizeof(v)); @@ -492,7 +492,7 @@ namespace MemoryConsumption template inline - unsigned int memory_consumption (const vector &v) + unsigned int memory_consumption (const std::vector &v) { return (v.capacity() * sizeof(T *) + sizeof(v)); @@ -502,7 +502,7 @@ namespace MemoryConsumption template inline - unsigned int memory_consumption (const pair &p) + unsigned int memory_consumption (const std::pair &p) { return (memory_consumption(p.first) + memory_consumption(p.second)); diff --git a/deal.II/base/include/base/multithread_info.h b/deal.II/base/include/base/multithread_info.h index e2f277d5ef..fdc42b74c8 100644 --- a/deal.II/base/include/base/multithread_info.h +++ b/deal.II/base/include/base/multithread_info.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -74,7 +74,7 @@ class MultithreadInfo * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often diff --git a/deal.II/base/include/base/parameter_handler.h b/deal.II/base/include/base/parameter_handler.h index ef5b0e87a6..aac88a1ed6 100644 --- a/deal.II/base/include/base/parameter_handler.h +++ b/deal.II/base/include/base/parameter_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -24,8 +24,7 @@ class MultipleParameterLoop; #include #include -class istream; -class ostream; +// forward declaration class LogStream; /** @@ -42,92 +41,92 @@ enum OutputStyle { */ namespace Patterns { - /** - * Base class to declare common - * interface. + /** + * Base class to declare common + * interface. */ - class PatternBase - { - public: - /** - * Make destructor of this and all - * derived classes virtual. - */ - virtual ~PatternBase (); + class PatternBase + { + public: + /** + * Make destructor of this and all + * derived classes virtual. + */ + virtual ~PatternBase (); - /** - * Return true if the given string - * matches the pattern. - */ - virtual bool match (const string &test_string) const = 0; + /** + * Return true if the given string + * matches the pattern. + */ + virtual bool match (const std::string &test_string) const = 0; - /** - * Return a string describing the - * pattern. - */ - virtual string description () const = 0; + /** + * Return a string describing the + * pattern. + */ + virtual std::string description () const = 0; - /** - * Return a pointer to an - * exact copy of the - * object. This is necessary - * since we want to store - * objects of this type in - * containers, were we need - * to copy objects without - * knowledge of their actual - * data type (we only have - * pointers to the base - * class). - * - * Ownership of the objects - * returned by this function - * is passed to the caller of - * this function. - */ - virtual PatternBase * clone () const = 0; - - /** - * Determine an estimate for - * the memory consumption (in - * bytes) of this object. To - * avoid unnecessary - * overhead, we do not force - * derivd classes to provide - * this function as a virtual - * overloaded one, but rather - * try to cast the present - * object to one of the known - * derived classes and if - * that fails then take the - * size of this base class - * instead and add 32 byte - * (this value is arbitrary, - * it should account for - * virtual function tables, - * and some possible data - * elements). Since there are - * usually not many thousands - * of objects of this type - * around, and since the - * @p{memory_consumption} - * mechanism is used to find - * out where memory in the - * range of many megabytes - * is, this seems like a - * reasonable approximation. - * - * On the other hand, if you - * know that your class - * deviates from this - * assumption significantly, - * you can still overload - * this function. - */ - virtual unsigned int memory_consumption () const; - }; + /** + * Return a pointer to an + * exact copy of the + * object. This is necessary + * since we want to store + * objects of this type in + * containers, were we need + * to copy objects without + * knowledge of their actual + * data type (we only have + * pointers to the base + * class). + * + * Ownership of the objects + * returned by this function + * is passed to the caller of + * this function. + */ + virtual PatternBase * clone () const = 0; + + /** + * Determine an estimate for + * the memory consumption (in + * bytes) of this object. To + * avoid unnecessary + * overhead, we do not force + * derivd classes to provide + * this function as a virtual + * overloaded one, but rather + * try to cast the present + * object to one of the known + * derived classes and if + * that fails then take the + * size of this base class + * instead and add 32 byte + * (this value is arbitrary, + * it should account for + * virtual function tables, + * and some possible data + * elements). Since there are + * usually not many thousands + * of objects of this type + * around, and since the + * @p{memory_consumption} + * mechanism is used to find + * out where memory in the + * range of many megabytes + * is, this seems like a + * reasonable approximation. + * + * On the other hand, if you + * know that your class + * deviates from this + * assumption significantly, + * you can still overload + * this function. + */ + virtual unsigned int memory_consumption () const; + }; - /** + /** * Test for the string being an * integer. If bounds are given * to the constructor, then the @@ -161,82 +160,82 @@ namespace Patterns * performed), or in many other * cases. */ - class Integer : public PatternBase - { - public: - /** - * Constructor. Bounds can be - * specified within which a - * valid parameter has to - * be. If the upper bound is - * smaller than the lower - * bound, then the infinite - * interval is meant. The - * default values are chosen - * such that no bounds are - * enforced on parameters. - */ - Integer (const int lower_bound = 1, - const int upper_bound = 0); + class Integer : public PatternBase + { + public: + /** + * Constructor. Bounds can be + * specified within which a + * valid parameter has to + * be. If the upper bound is + * smaller than the lower + * bound, then the infinite + * interval is meant. The + * default values are chosen + * such that no bounds are + * enforced on parameters. + */ + Integer (const int lower_bound = 1, + const int upper_bound = 0); - /** - * Return @p{true} if the - * string is an integer and - * its value is within the - * specified range. - */ - virtual bool match (const string &test_string) const; - - /** - * Return a description of - * the pattern that valid - * string are expected to - * match. If bounds were - * specified to the - * constructor, then include - * them into this - * description. - */ - virtual string description () const; - - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; + /** + * Return @p{true} if the + * string is an integer and + * its value is within the + * specified range. + */ + virtual bool match (const std::string &test_string) const; + + /** + * Return a description of + * the pattern that valid + * string are expected to + * match. If bounds were + * specified to the + * constructor, then include + * them into this + * description. + */ + virtual std::string description () const; + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; - private: - /** - * Value of the lower - * bound. A number that - * satisfies the @p{match} - * operation of this class - * must be equal to this - * value or larger, if the - * bounds of the interval for - * a valid range. - */ - const int lower_bound; - - /** - * Value of the upper - * bound. A number that - * satisfies the @p{match} - * operation of this class - * must be equal to this - * value or less, if the - * bounds of the interval for - * a valid range. - */ - const int upper_bound; - }; + private: + /** + * Value of the lower + * bound. A number that + * satisfies the @p{match} + * operation of this class + * must be equal to this + * value or larger, if the + * bounds of the interval for + * a valid range. + */ + const int lower_bound; + + /** + * Value of the upper + * bound. A number that + * satisfies the @p{match} + * operation of this class + * must be equal to this + * value or less, if the + * bounds of the interval for + * a valid range. + */ + const int upper_bound; + }; - /** + /** * Test for the string being a * @p{double}. If bounds are * given to the constructor, then @@ -271,82 +270,82 @@ namespace Patterns * between zero and one), or in * many other cases. */ - class Double : public PatternBase - { - public: - /** - * Constructor. Bounds can be - * specified within which a - * valid parameter has to - * be. If the upper bound is - * smaller than the lower - * bound, then the infinite - * interval is meant. The - * default values are chosen - * such that no bounds are - * enforced on parameters. - */ - Double (const int lower_bound = 1, - const int upper_bound = 0); + class Double : public PatternBase + { + public: + /** + * Constructor. Bounds can be + * specified within which a + * valid parameter has to + * be. If the upper bound is + * smaller than the lower + * bound, then the infinite + * interval is meant. The + * default values are chosen + * such that no bounds are + * enforced on parameters. + */ + Double (const int lower_bound = 1, + const int upper_bound = 0); - /** - * Return @p{true} if the - * string is a number and its - * value is within the - * specified range. - */ - virtual bool match (const string &test_string) const; - - /** - * Return a description of - * the pattern that valid - * string are expected to - * match. If bounds were - * specified to the - * constructor, then include - * them into this - * description. - */ - virtual string description () const; - - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; + /** + * Return @p{true} if the + * string is a number and its + * value is within the + * specified range. + */ + virtual bool match (const std::string &test_string) const; + + /** + * Return a description of + * the pattern that valid + * string are expected to + * match. If bounds were + * specified to the + * constructor, then include + * them into this + * description. + */ + virtual std::string description () const; + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; - private: - /** - * Value of the lower - * bound. A number that - * satisfies the @p{match} - * operation of this class - * must be equal to this - * value or larger, if the - * bounds of the interval for - * a valid range. - */ - const int lower_bound; - - /** - * Value of the upper - * bound. A number that - * satisfies the @p{match} - * operation of this class - * must be equal to this - * value or less, if the - * bounds of the interval for - * a valid range. - */ - const int upper_bound; - }; + private: + /** + * Value of the lower + * bound. A number that + * satisfies the @p{match} + * operation of this class + * must be equal to this + * value or larger, if the + * bounds of the interval for + * a valid range. + */ + const int lower_bound; + + /** + * Value of the upper + * bound. A number that + * satisfies the @p{match} + * operation of this class + * must be equal to this + * value or less, if the + * bounds of the interval for + * a valid range. + */ + const int upper_bound; + }; - /** + /** * Test for the string being one * of a sequence of values given * like a regular expression. For @@ -360,67 +359,67 @@ namespace Patterns * pipe signs do not matter and * are eliminated. */ - class Selection : public PatternBase - { - public: - /** - * Constructor. Take the - * given parameter as the - * specification of valid - * strings. - */ - Selection (const string &seq); - - /** - * Return @p{true} if the - * string is an element of - * the description list - * passed to the constructor. - */ - virtual bool match (const string &test_string) const; - - /** - * Return a description of - * the pattern that valid - * string are expected to - * match. Here, this is the - * list of valid strings - * passed to the constructor. - */ - virtual string description () const; + class Selection : public PatternBase + { + public: + /** + * Constructor. Take the + * given parameter as the + * specification of valid + * strings. + */ + Selection (const std::string &seq); + + /** + * Return @p{true} if the + * string is an element of + * the description list + * passed to the constructor. + */ + virtual bool match (const std::string &test_string) const; + + /** + * Return a description of + * the pattern that valid + * string are expected to + * match. Here, this is the + * list of valid strings + * passed to the constructor. + */ + virtual std::string description () const; + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; + + /** + * Determine an estimate for + * the memory consumption (in + * bytes) of this object. + */ + unsigned int memory_consumption () const; + + private: + /** + * List of valid strings as + * passed to the + * constructor. We don't make + * this string constant, as + * we process it somewhat in + * the constructor. + */ + std::string sequence; + }; - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; - - /** - * Determine an estimate for - * the memory consumption (in - * bytes) of this object. - */ - unsigned int memory_consumption () const; - - private: - /** - * List of valid strings as - * passed to the - * constructor. We don't make - * this string constant, as - * we process it somewhat in - * the constructor. - */ - string sequence; - }; - - /** + /** * This class is much like the * @p{Selection} class, but it * allows the input to be a @@ -440,142 +439,142 @@ namespace Patterns * values given to the * constructor. */ - class MultipleSelection : public PatternBase - { - public: - /** - * Constructor. Take the - * given parameter as the - * specification of valid - * strings. - */ - MultipleSelection (const string &seq); - - /** - * Return @p{true} if the - * string is an element of - * the description list - * passed to the constructor. - */ - virtual bool match (const string &test_string) const; - - /** - * Return a description of - * the pattern that valid - * string are expected to - * match. Here, this is the - * list of valid strings - * passed to the constructor. - */ - virtual string description () const; - - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; - - /** - * Determine an estimate for - * the memory consumption (in - * bytes) of this object. - */ - unsigned int memory_consumption () const; - - /** - * Exception. - */ - DeclException1 (ExcCommasNotAllowed, - int, - << "A comma was found at position " << arg1 - << " of your input string, but commas are not allowed here."); + class MultipleSelection : public PatternBase + { + public: + /** + * Constructor. Take the + * given parameter as the + * specification of valid + * strings. + */ + MultipleSelection (const std::string &seq); + + /** + * Return @p{true} if the + * string is an element of + * the description list + * passed to the constructor. + */ + virtual bool match (const std::string &test_string) const; + + /** + * Return a description of + * the pattern that valid + * string are expected to + * match. Here, this is the + * list of valid strings + * passed to the constructor. + */ + virtual std::string description () const; + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; + + /** + * Determine an estimate for + * the memory consumption (in + * bytes) of this object. + */ + unsigned int memory_consumption () const; + + /** + * Exception. + */ + DeclException1 (ExcCommasNotAllowed, + int, + << "A comma was found at position " << arg1 + << " of your input string, but commas are not allowed here."); - private: - /** - * List of valid strings as - * passed to the - * constructor. We don't make - * this string constant, as - * we process it somewhat in - * the constructor. - */ - string sequence; - }; + private: + /** + * List of valid strings as + * passed to the + * constructor. We don't make + * this string constant, as + * we process it somewhat in + * the constructor. + */ + std::string sequence; + }; - /** + /** * Test for the string being * either "true" or "false". This * is mapped to the @p{Selection} * class. */ - class Bool : public Selection - { - public: - /** - * Constrcuctor. - */ - Bool (); - - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; - }; + class Bool : public Selection + { + public: + /** + * Constrcuctor. + */ + Bool (); + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; + }; - /** + /** * Always returns true when testing a * string. */ - class Anything : public PatternBase - { - public: - /** - * Constructor. (Allow for at - * least one non-virtual - * function in this class, as - * otherwise sometimes no - * virtual table is emitted.) - */ - Anything (); - - /** - * Return @p{true} if the - * string matches its - * constraints, i.e. always. - */ - virtual bool match (const string &test_string) const; - - /** - * Return a description of - * the pattern that valid - * string are expected to - * match. Here, this is the - * string @p{"[Anything]"}. - */ - virtual string description () const; - - /** - * Return a copy of the - * present object, which is - * newly allocated on the - * heap. Ownership of that - * object is transferred to - * the caller of this - * function. - */ - virtual PatternBase * clone () const; - }; + class Anything : public PatternBase + { + public: + /** + * Constructor. (Allow for at + * least one non-virtual + * function in this class, as + * otherwise sometimes no + * virtual table is emitted.) + */ + Anything (); + + /** + * Return @p{true} if the + * string matches its + * constraints, i.e. always. + */ + virtual bool match (const std::string &test_string) const; + + /** + * Return a description of + * the pattern that valid + * string are expected to + * match. Here, this is the + * string @p{"[Anything]"}. + */ + virtual std::string description () const; + + /** + * Return a copy of the + * present object, which is + * newly allocated on the + * heap. Ownership of that + * object is transferred to + * the caller of this + * function. + */ + virtual PatternBase * clone () const; + }; }; @@ -705,7 +704,7 @@ namespace Patterns * * @sect3{Reading data from input sources} * - * In order to read input you can use three possibilities: reading from an @p{istream} object, + * In order to read input you can use three possibilities: reading from an @p{std::istream} object, * reading from a file of which the name is given and reading from a string in memory in * which the lines are separated by @p{\n} characters. These possibilites are used as follows: * @begin{verbatim} @@ -729,7 +728,7 @@ namespace Patterns * yet unknown subsection names after using @p{read_input}. The results in this case are * unspecified. * - * If an error occurs upon reading the input, error messages are written to @p{cerr}. + * If an error occurs upon reading the input, error messages are written to @p{std::cerr}. * * * @sect3{Getting entry values out of a @p{ParameterHandler} object} @@ -739,7 +738,7 @@ namespace Patterns * @begin{verbatim} * void NonLinEq::get_parameters (ParameterHandler &prm) { * prm.enter_subsection ("Nonlinear solver"); - * string method = prm.get ("Nonlinear method"); + * std::string method = prm.get ("Nonlinear method"); * eq.get_parameters (prm); * prm.leave_subsection (); * }; @@ -816,7 +815,7 @@ namespace Patterns * static void declare_parameters (ParameterHandler &prm); * void get_parameters (ParameterHandler &prm); * private: - * string Method; + * std::string Method; * int MaxIterations; * }; * @@ -824,8 +823,8 @@ namespace Patterns * class Problem { * private: * LinEq eq1, eq2; - * string Matrix1, Matrix2; - * string outfile; + * std::string Matrix1, Matrix2; + * std::string outfile; * public: * static void declare_parameters (ParameterHandler &prm); * void get_parameters (ParameterHandler &prm); @@ -852,7 +851,7 @@ namespace Patterns * Method = prm.get ("Solver"); * MaxIterations = prm.get_integer ("Maximum number of iterations"); * prm.leave_subsection (); - * cout << " LinEq: Method=" << Method << ", MaxIterations=" << MaxIterations << endl; + * std::cout << " LinEq: Method=" << Method << ", MaxIterations=" << MaxIterations << std::endl; * }; * * @@ -893,7 +892,7 @@ namespace Patterns * // entries of the problem class * outfile = prm.get ("Output file"); * - * string equation1 = prm.get ("Equation 1"), + * std::string equation1 = prm.get ("Equation 1"), * equation2 = prm.get ("Equation 2"); * * // get parameters for the @@ -910,9 +909,9 @@ namespace Patterns * eq2.get_parameters (prm); // for eq2 * prm.leave_subsection (); * - * cout << " Problem: outfile=" << outfile << endl - * << " eq1=" << equation1 << ", eq2=" << equation2 << endl - * << " Matrix1=" << Matrix1 << ", Matrix2=" << Matrix2 << endl; + * std::cout << " Problem: outfile=" << outfile << std::endl + * << " eq1=" << equation1 << ", eq2=" << equation2 << std::endl + * << " Matrix1=" << Matrix1 << ", Matrix2=" << Matrix2 << std::endl; * }; * * @@ -928,13 +927,13 @@ namespace Patterns * // argv[1] would also be a good idea * prm.read_input ("prmtest.prm"); * - * // print parameters to cout as ASCII text - * cout << endl << endl; - * prm.print_parameters (cout, Text); + * // print parameters to std::cout as ASCII text + * std::cout << std::endl << std::endl; + * prm.print_parameters (std::cout, Text); * * // get parameters into the program - * cout << endl << endl - * << "Getting parameters:" << endl; + * std::cout << std::endl << std::endl + * << "Getting parameters:" << std::endl; * p.get_parameters (prm); * }; * @end{verbatim} @@ -1033,7 +1032,7 @@ class ParameterHandler * * Return whether the read was successful. */ - virtual bool read_input (istream &input); + virtual bool read_input (std::istream &input); /** * Read input from a file the name of which @@ -1045,7 +1044,7 @@ class ParameterHandler * the requested file with default values if * the file did not exist. */ - virtual bool read_input (const string &filename); + virtual bool read_input (const std::string &filename); /** * Read input from a string in memory. The @@ -1079,16 +1078,15 @@ class ParameterHandler * the regular expression; * @p{true} otherwise. */ - bool declare_entry (const string &entry, - const string &default_value, - const Patterns::PatternBase &pattern - = Patterns::Anything()); + bool declare_entry (const std::string &entry, + const std::string &default_value, + const Patterns::PatternBase &pattern = Patterns::Anything()); /** * Enter a subsection; if not yet * existent, declare it. */ - void enter_subsection (const string &subsection); + void enter_subsection (const std::string &subsection); /** * Leave present subsection. @@ -1108,25 +1106,25 @@ class ParameterHandler * was declared (therefore an exception may be * thrown). */ - const string & get (const string &entry_string) const; + const std::string & get (const std::string &entry_string) const; /** * Return value of entry @p{entry_string} as * @p{long int}. */ - long int get_integer (const string &entry_string) const; + long int get_integer (const std::string &entry_string) const; /** * Return value of entry @p{entry_string} as * @p{double}. */ - double get_double (const string &entry_string) const; + double get_double (const std::string &entry_string) const; /** * Return value of entry @p{entry_string} as * @p{bool}. */ - bool get_bool (const string &entry_string) const; + bool get_bool (const std::string &entry_string) const; /** * Print all parameters with the given style @@ -1143,24 +1141,25 @@ class ParameterHandler * by simply copying the output to your * input file. */ - ostream & print_parameters (ostream &out, const OutputStyle style); + std::ostream & print_parameters (std::ostream &out, + const OutputStyle style); /** * Print out the parameters of the subsection * given by the @p{subsection_path} member * variable. */ - void print_parameters_section (ostream &out, - const OutputStyle Style, - const unsigned int indent_level); + void print_parameters_section (std::ostream &out, + const OutputStyle style, + const unsigned int indent_level); - /** - * Print parameters to a logstream. - * This function allows to print - * all parameters into a log-file. - * Sections will be indented in the - * usual log-file style. - */ + /** + * Print parameters to a logstream. + * This function allows to print + * all parameters into a log-file. + * Sections will be indented in the + * usual log-file style. + */ void log_parameters (LogStream& out); /** @@ -1184,13 +1183,13 @@ class ParameterHandler * Exception */ DeclException1 (ExcEntryAlreadyExists, - string, + std::string, << "The following entry already exists: " << arg1); /** * Exception */ DeclException2 (ExcDefaultDoesNotMatchPattern, - string, string, + std::string, std::string, << "The default string <" << arg1 << "> does not match the given pattern <" << arg2 << ">"); /** @@ -1201,13 +1200,13 @@ class ParameterHandler * Exception */ DeclException1 (ExcEntryUndeclared, - string, + std::string, << "You cant ask for entry <" << arg1 << "> you have not yet declared"); /** * Exception */ DeclException1 (ExcConversionError, - string, + std::string, << "Error when trying to convert the following string: " << arg1); private: @@ -1226,10 +1225,10 @@ class ParameterHandler { ~Section (); - typedef map > EntryType; + typedef std::map > EntryType; - EntryType entries; - map subsections; + EntryType entries; + std::map subsections; /** * Determine an estimate for @@ -1240,7 +1239,7 @@ class ParameterHandler * not be determined exactly * (for example: what is the * memory consumption of an - * STL @p{map} type with a + * STL @p{std::map} type with a * certain number of * elements?), this is only * an estimate. however often @@ -1255,7 +1254,7 @@ class ParameterHandler * subsections; empty list means * top level */ - vector subsection_path; + std::vector subsection_path; /** * List of default values @@ -1291,9 +1290,15 @@ class ParameterHandler * non-declared entry was given * or teh entry value did not * match the regular - * expression. @p{true} otherwise + * expression. @p{true} otherwise. + * + * The function modifies its + * argument, but also takes it by + * value, so the caller's + * variable is not changed. */ - bool scan_line (string line, const unsigned int lineno); + bool scan_line (std::string line, + const unsigned int lineno); /** * Get a pointer to the @@ -1591,13 +1596,13 @@ class MultipleParameterLoop : public ParameterHandler * Read input from a stream until stream * returns @p{eof} condition or error. */ - virtual bool read_input (istream &Input); + virtual bool read_input (std::istream &Input); /** * Read input from a file the name of which * is given. */ - virtual bool read_input (const string &FileName); + virtual bool read_input (const std::string &FileName); /** * Read input from a string in memory. The @@ -1650,7 +1655,9 @@ class MultipleParameterLoop : public ParameterHandler * into the different variants is done * later by @p{split_different_values}. */ - Entry (const vector &Path, const string &Name, const string &Value); + Entry (const std::vector &Path, + const std::string &Name, + const std::string &Value); /** * Split the entry value into the different @@ -1661,24 +1668,24 @@ class MultipleParameterLoop : public ParameterHandler /** * Path to variant entry. */ - vector subsection_path; + std::vector subsection_path; /** * Name of entry. */ - string entry_name; + std::string entry_name; /** * Original variant value. */ - string entry_value; + std::string entry_value; /** * List of entry values constructed out of * what was given in the input file (that * is stored in @p{EntryValue}. */ - vector different_values; + std::vector different_values; /** * Store whether this entry is a variant @@ -1698,25 +1705,28 @@ class MultipleParameterLoop : public ParameterHandler /** * List of variant entry values. */ - vector multiple_choices; + std::vector multiple_choices; /** - * Number of branches constructed from the - * different combinations of the variants. - * This obviously equals the number of runs - * to be performed. + * Number of branches constructed + * from the different + * combinations of the variants. + * This obviously equals the + * number of runs to be + * performed. */ - int n_branches; + unsigned int n_branches; /** - * Initialize the different branches, i.e. - * construct the combinations. + * Initialize the different + * branches, i.e. construct the + * combinations. */ void init_branches (); /** - * Initialize the branches in the given - * section. + * Initialize the branches in the + * given section. */ void init_branches_section (const ParameterHandler::Section &sec); diff --git a/deal.II/base/include/base/point.h b/deal.II/base/include/base/point.h index 4015eb3ede..bcb07d2a17 100644 --- a/deal.II/base/include/base/point.h +++ b/deal.II/base/include/base/point.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -112,9 +112,9 @@ class Point : public Tensor<1,dim> */ Point operator - (const Point &) const; - /** - * The opposite vector. - */ + /** + * The opposite vector. + */ Point operator - () const; /** @@ -271,7 +271,7 @@ Point<4>::Point (const double, const double, const double) template inline double Point::operator () (const unsigned int index) const - { +{ Assert (index Point::operator - () const { Point result; for (unsigned int i=0; i > & points, - const vector & weights); + Quadrature (const std::vector > &points, + const std::vector &weights); /** * Virtual destructor. @@ -111,7 +111,7 @@ class Quadrature : public Subscriptor * Return a reference to the whole array of * quadrature points. */ - const vector > & get_points () const; + const std::vector > & get_points () const; /** * Return the weight of the @p{i}th @@ -123,7 +123,7 @@ class Quadrature : public Subscriptor * Return a reference to the whole array * of weights. */ - const vector & get_weights () const; + const std::vector & get_weights () const; /** * Determine an estimate for @@ -138,14 +138,14 @@ class Quadrature : public Subscriptor * List of quadrature points. To be filled * by the constructors of derived classes. */ - vector > quadrature_points; + std::vector > quadrature_points; /** * List of weights of the quadrature points. * To be filled by the constructors of * derived classes. */ - vector weights; + std::vector weights; }; @@ -254,17 +254,17 @@ class QProjector * details, see the general doc for * this class. */ - static void project_to_face (const Quadrature &quadrature, - const unsigned int face_no, - vector > &q_points); + static void project_to_face (const Quadrature &quadrature, + const unsigned int face_no, + std::vector > &q_points); /** * Projection to all faces. * Generate a formula that integrates * over all faces at the same time. */ - static void project_to_faces (const Quadrature &quadrature, - vector > &q_points); + static void project_to_faces (const Quadrature &quadrature, + std::vector > &q_points); /** * Compute the quadrature points on the @@ -274,10 +274,10 @@ class QProjector * details, see the general doc for * this class. */ - static void project_to_subface (const Quadrature &quadrature, - const unsigned int face_no, - const unsigned int subface_no, - vector > &q_points); + static void project_to_subface (const Quadrature &quadrature, + const unsigned int face_no, + const unsigned int subface_no, + std::vector > &q_points); /** * Projection to all child faces. @@ -286,8 +286,8 @@ class QProjector * ordering is first by face, * then by subface */ - static void project_to_subfaces (const Quadrature &quadrature, - vector > &q_points); + static void project_to_subfaces (const Quadrature &quadrature, + std::vector > &q_points); }; diff --git a/deal.II/base/include/base/quadrature_lib.h b/deal.II/base/include/base/quadrature_lib.h index 65dd7a7129..affdfc7225 100644 --- a/deal.II/base/include/base/quadrature_lib.h +++ b/deal.II/base/include/base/quadrature_lib.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/include/base/smartpointer.h b/deal.II/base/include/base/smartpointer.h index a87be47f23..d1b3d50f17 100644 --- a/deal.II/base/include/base/smartpointer.h +++ b/deal.II/base/include/base/smartpointer.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -175,7 +175,7 @@ class SmartPointer * have deliberately chosen a * short name. */ - T * t; + T * t; }; diff --git a/deal.II/base/include/base/subscriptor.h b/deal.II/base/include/base/subscriptor.h index 5e2a829549..8c2c56b314 100644 --- a/deal.II/base/include/base/subscriptor.h +++ b/deal.II/base/include/base/subscriptor.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -132,7 +132,7 @@ class Subscriptor * constructor, we obtain it in * between and store it here. */ - mutable const type_info * object_info; + mutable const std::type_info * object_info; }; diff --git a/deal.II/base/include/base/table_handler.h b/deal.II/base/include/base/table_handler.h index 9552beae66..aa8de5db8e 100644 --- a/deal.II/base/include/base/table_handler.h +++ b/deal.II/base/include/base/table_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -45,12 +45,12 @@ class TableEntryBase /** * Write the table entry as text. */ - virtual void write_text (ostream &) const =0; + virtual void write_text (std::ostream &) const =0; /** * Write the table entry in tex format. */ - virtual void write_tex (ostream &) const =0; + virtual void write_tex (std::ostream &) const =0; }; @@ -88,12 +88,12 @@ class TableEntry : public TableEntryBase /** * Write the table entry as text. */ - virtual void write_text (ostream &out) const; + virtual void write_text (std::ostream &out) const; /** * Write the table entry in tex format. */ - virtual void write_tex (ostream &out) const; + virtual void write_tex (std::ostream &out) const; private: /** @@ -111,12 +111,12 @@ class TableEntry : public TableEntryBase * @sect3{Usage} * * The most important function is the templatized function - * @p{add_value(const string &key, const value_type value)}, that adds a column + * @p{add_value(const std::string &key, const value_type value)}, that adds a column * with the name @p{key} to the table if this column does not yet exist and adds the - * value of @p{value_type} (e.g. @p{unsigned int}, @p{double}, @p{string}, ...) to this column. + * value of @p{value_type} (e.g. @p{unsigned int}, @p{double}, @p{std::string}, ...) to this column. * After the table is complete there are different possibilities of output, e.g. - * into a tex file with @p{write_tex(ofstream &file)} or as text with - * @p{write_text (ostream &out)}. + * into a tex file with @p{write_tex(std::ofstream &file)} or as text with + * @p{write_text (std::ostream &out)}. * * Two (or more) columns may be merged into a "supercolumn" by twice * (or multiple) calling @p{add_column_to_supercolumn(...)}, see @@ -151,7 +151,7 @@ class TableEntry : public TableEntryBase * table.set_precision("square roots", 6); * * // output - * ofstream out_file("number_table.tex"); + * std::ofstream out_file("number_table.tex"); * table.write_tex(out_file); * out_file.close(); * @end{verbatim} @@ -174,8 +174,8 @@ class TableHandler * to the column. */ template - void add_value (const string &key, - const value_type value); + void add_value (const std::string &key, + const value_type value); /** * Creates a sypercolumn (if not yet @@ -194,8 +194,8 @@ class TableHandler * the order of output follows the order * the columns are added to the supercolumn. */ - void add_column_to_supercolumn (const string &key, - const string &superkey); + void add_column_to_supercolumn (const std::string &key, + const std::string &superkey); /** * Change the order of columns and @@ -220,7 +220,7 @@ class TableHandler * next e.g. five columns and again @p{write_*}, * and so on. */ - void set_column_order (const vector &new_order); + void set_column_order (const std::vector &new_order); /** * Sets the @p{precision} e.g. double or float @@ -228,7 +228,7 @@ class TableHandler * the same as in calling * @p{out << setprecision(precision)}. */ - void set_precision (const string &key, + void set_precision (const std::string &key, const unsigned int precision); /** @@ -236,8 +236,8 @@ class TableHandler * scientific, false means fixed point * notation. */ - void set_scientific (const string &key, - bool scientific); + void set_scientific (const std::string &key, + const bool scientific); /** * Sets the caption of the column @p{key} @@ -245,8 +245,8 @@ class TableHandler * this different from @p{key}, if it * contains formulas or similar constructs. */ - void set_tex_caption (const string &key, - const string &tex_caption); + void set_tex_caption (const std::string &key, + const std::string &tex_caption); /** * Sets the caption the the supercolumn @@ -255,8 +255,8 @@ class TableHandler * if it contains formulas or similar * constructs. */ - void set_tex_supercaption (const string &superkey, - const string &tex_supercaption); + void set_tex_supercaption (const std::string &superkey, + const std::string &tex_supercaption); /** * Sets the tex output format of a column. @@ -265,46 +265,46 @@ class TableHandler * is not called for a column, the default * is preset to be @p{c}. */ - void set_tex_format (const string &key, - const string &format="c"); + void set_tex_format (const std::string &key, + const std::string &format="c"); /** * Write table as formatted text, e.g. * to the standard output. */ - void write_text (ostream &out) const; + void write_text (std::ostream &out) const; /** * Write table as a tex file. */ - void write_tex (ofstream &file) const; + void write_tex (std::ofstream &file) const; /** * Exception */ DeclException1 (ExcColumnNotExistent, - string, + std::string, << "Column <" << arg1 << "> does not exist."); /** * Exception */ DeclException1 (ExcSuperColumnNotExistent, - string, + std::string, << "Supercolumn <" << arg1 << "> does not exist."); /** * Exception */ DeclException1 (ExcColumnOrSuperColumnNotExistent, - string, + std::string, << "Column or supercolumn <" << arg1 << "> does not exist."); /** * Exception */ DeclException4 (ExcWrongNumberOfDataEntries, - string, int, string, int, + std::string, int, std::string, int, << "Column <" << arg1 << "> has got " << arg2 << " rows, but Column <" << arg3 << "> has got " << arg4 << "."); @@ -312,7 +312,7 @@ class TableHandler * Exception */ DeclException1 (ExcUndefinedTexFormat, - string, + std::string, << "<" << arg1 << "> is not a tex column format. Use l,c,r."); protected: @@ -332,7 +332,7 @@ class TableHandler /** * Constructor. */ - Column(const string &tex_caption); + Column(const std::string &tex_caption); /** * Destructor. @@ -348,7 +348,7 @@ class TableHandler * a wrapper for @p{T}, but is derived * from @p{TableEntryBase}. */ - vector entries; + std::vector entries; /** * The caption of the column in tex output. @@ -358,7 +358,7 @@ class TableHandler * be changed by calling * @p{TableHandler::set_tex_caption(...)}. */ - string tex_caption; + std::string tex_caption; /** * The column format in tex output. @@ -370,7 +370,7 @@ class TableHandler * right or left. */ - string tex_format; + std::string tex_format; /** * Double or float entries are written with @@ -402,7 +402,7 @@ class TableHandler * consistency of the data. The result is * returned in @p{sel_columns}. */ - void get_selected_columns (vector &sel_columns) const; + void get_selected_columns (std::vector &sel_columns) const; /** * Builtin function, that gives the @@ -422,13 +422,13 @@ class TableHandler * adding the columns. This order may be * changed by @p{set_column_order(...)}. */ - vector column_order; + std::vector column_order; /** * Maps the column keys to the columns * (not supercolumns). */ - map columns; + std::map columns; /** * Maps each supercolumn key to the @@ -441,7 +441,7 @@ class TableHandler * keys for each supercolumn key is * relevant. */ - map > supercolumns; + std::map > supercolumns; /** * Maps the supercolumn keys to the @@ -452,7 +452,7 @@ class TableHandler * supercolumn keys but they may be changed * by @p{set_tex_supercaptions(...)}. */ - map tex_supercaptions; + std::map tex_supercaptions; }; diff --git a/deal.II/base/include/base/tensor.h b/deal.II/base/include/base/tensor.h index 750bfc1b0a..15648cf8fc 100644 --- a/deal.II/base/include/base/tensor.h +++ b/deal.II/base/include/base/tensor.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -140,9 +140,9 @@ class Tensor */ Tensor operator - (const Tensor &) const; - /** - * Invert all entries of a tensor. - */ + /** + * Invert all entries of a tensor. + */ Tensor operator - () const; /** @@ -655,7 +655,7 @@ void outer_product (Tensor<3,dim> &dst, for (unsigned int i=0; i &dst, for (unsigned int i=0; i &t) default: AssertThrow (false, ExcNotImplemented()); - }; + }; return return_tensor; }; diff --git a/deal.II/base/include/base/tensor_base.h b/deal.II/base/include/base/tensor_base.h index 32cefb3a0a..de0eed9e20 100644 --- a/deal.II/base/include/base/tensor_base.h +++ b/deal.II/base/include/base/tensor_base.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -42,7 +42,7 @@ template class Tensor; template class Tensor<1,dim> { - public: + public: /** * Provide a way to get the * dimension of an object without @@ -192,9 +192,9 @@ class Tensor<1,dim> */ Tensor<1,dim> operator - (const Tensor<1,dim> &) const; - /** - * Tensor with inverted entries. - */ + /** + * Tensor with inverted entries. + */ Tensor<1,dim> operator - () const; /** @@ -251,11 +251,11 @@ class Tensor<1,dim> */ double values[(dim!=0) ? (dim) : 1]; - /** - * Point is allowed access to - * the coordinates. This is - * supposed to improve speed. - */ + /** + * Point is allowed access to + * the coordinates. This is + * supposed to improve speed. + */ friend class Point; }; @@ -274,7 +274,7 @@ DeclException1 (ExcDimTooSmall, * form @p{x1 x2 x3 etc}. */ template -ostream & operator << (ostream &out, const Tensor<1,dim> &p); +std::ostream & operator << (std::ostream &out, const Tensor<1,dim> &p); /*------------------------------- Inline functions: Tensor ---------------------------*/ @@ -313,6 +313,24 @@ Tensor<1,dim>::Tensor (const Tensor<1,dim> &p) +template <> +inline +Tensor<1,0>::Tensor (const Tensor<1,0> &) +{ + // at some places in the library, + // we have Point<0> for formal + // reasons (e.g., we sometimes have + // Quadrature for faces, so + // we have Quadrature<0> for dim=1, + // and then we have Point<0>). To + // avoid warnings in the above + // function that the loop end check + // always fails, we implement this + // function here +}; + + + template inline double Tensor<1,dim>::operator [] (const unsigned int index) const @@ -344,6 +362,25 @@ Tensor<1,dim> & Tensor<1,dim>::operator = (const Tensor<1,dim> &p) +template <> +inline +Tensor<1,0> & Tensor<1,0>::operator = (const Tensor<1,0> &) +{ + // at some places in the library, + // we have Point<0> for formal + // reasons (e.g., we sometimes have + // Quadrature for faces, so + // we have Quadrature<0> for dim=1, + // and then we have Point<0>). To + // avoid warnings in the above + // function that the loop end check + // always fails, we implement this + // function here + return *this; +}; + + + template inline bool Tensor<1,dim>::operator == (const Tensor<1,dim> &p) const @@ -444,7 +481,7 @@ Tensor<1,dim> Tensor<1,dim>::operator - () const { Tensor<1,dim> result; for (unsigned int i=0; i::memory_consumption () */ template inline -ostream & operator << (ostream &out, const Tensor<1,dim> &p) +std::ostream & operator << (std::ostream &out, const Tensor<1,dim> &p) { for (unsigned int i=0; i &p) * a compiler warning that the loop is empty. */ inline -ostream & operator << (ostream &out, const Tensor<1,1> &p) +std::ostream & operator << (std::ostream &out, const Tensor<1,1> &p) { out << p[0]; diff --git a/deal.II/base/include/base/tensor_function.h b/deal.II/base/include/base/tensor_function.h index 867fedbc25..616c624338 100644 --- a/deal.II/base/include/base/tensor_function.h +++ b/deal.II/base/include/base/tensor_function.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -85,8 +85,8 @@ class TensorFunction : public FunctionTime, * the right size, i.e. the same * size as the @p{points} array. */ - virtual void value_list (const vector > &points, - vector > &values) const; + virtual void value_list (const std::vector > &points, + std::vector > &values) const; /** * Return the gradient of the @@ -102,8 +102,8 @@ class TensorFunction : public FunctionTime, * the right size, i.e. the same * size as the @p{points} array. */ - virtual void gradient_list (const vector > &points, - vector > &gradients) const; + virtual void gradient_list (const std::vector > &points, + std::vector > &gradients) const; /** * Exception diff --git a/deal.II/base/include/base/thread_management.h b/deal.II/base/include/base/thread_management.h index 36e4420043..0d7d706a83 100644 --- a/deal.II/base/include/base/thread_management.h +++ b/deal.II/base/include/base/thread_management.h @@ -1238,7 +1238,7 @@ namespace Threads friend typename FunData7::ArgCollector encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, - Arg4_, Arg5_, Arg6_, Arg7_)); + Arg4_, Arg5_, Arg6_, Arg7_)); }; @@ -1371,8 +1371,8 @@ namespace Threads friend typename FunData8::ArgCollector encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, - Arg4_, Arg5_, Arg6_, - Arg7_, Arg8_)); + Arg4_, Arg5_, Arg6_, + Arg7_, Arg8_)); }; @@ -1631,7 +1631,7 @@ namespace Threads */ template friend - typename MemFunData1::ArgCollector + typename MemFunData1::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_)); }; @@ -1770,7 +1770,7 @@ namespace Threads */ template friend - typename MemFunData2::ArgCollector + typename MemFunData2::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_)); }; @@ -1912,7 +1912,7 @@ namespace Threads */ template friend - typename MemFunData3::ArgCollector + typename MemFunData3::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_,Arg2_,Arg3_)); }; @@ -2058,7 +2058,7 @@ namespace Threads */ template friend - typename MemFunData4::ArgCollector + typename MemFunData4::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_)); }; @@ -2208,7 +2208,7 @@ namespace Threads */ template friend - typename MemFunData5::ArgCollector + typename MemFunData5::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_, Arg5_)); }; @@ -2363,7 +2363,7 @@ namespace Threads */ template friend - typename MemFunData6::ArgCollector + typename MemFunData6::ArgCollector encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_, Arg5_, Arg6_)); }; @@ -2673,7 +2673,7 @@ namespace Threads * @p{[begin[i],end[i])}. */ template - vector > + std::vector > split_range (const ForwardIterator &begin, const ForwardIterator &end, const unsigned int n_intervals); @@ -2687,7 +2687,7 @@ namespace Threads * iterators, now values are taken * that define the whole interval. */ - vector > + std::vector > split_interval (const unsigned int begin, const unsigned int end, const unsigned int n_intervals); @@ -2799,13 +2799,13 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -2876,14 +2876,14 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -2957,15 +2957,15 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3044,16 +3044,16 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; Arg3 arg3 = fun_data->arg3; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3136,7 +3136,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; @@ -3144,9 +3144,9 @@ namespace Threads Arg4 arg4 = fun_data->arg4; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3233,7 +3233,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; @@ -3242,9 +3242,9 @@ namespace Threads Arg5 arg5 = fun_data->arg5; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3300,15 +3300,15 @@ namespace Threads template - FunData6::FunData6 (const FunData6 &fun_data) : - FunDataBase (fun_data), - fun_ptr (fun_data.fun_ptr), - arg1 (fun_data.arg1), - arg2 (fun_data.arg2), - arg3 (fun_data.arg3), - arg4 (fun_data.arg4), - arg5 (fun_data.arg5), - arg6 (fun_data.arg6) + FunData6::FunData6 (const FunData6 &fun_data) : + FunDataBase (fun_data), + fun_ptr (fun_data.fun_ptr), + arg1 (fun_data.arg1), + arg2 (fun_data.arg2), + arg3 (fun_data.arg3), + arg4 (fun_data.arg4), + arg5 (fun_data.arg5), + arg6 (fun_data.arg6) {}; @@ -3336,7 +3336,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; @@ -3346,9 +3346,9 @@ namespace Threads Arg6 arg6 = fun_data->arg6; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3408,16 +3408,16 @@ namespace Threads template - FunData7::FunData7 (const FunData7 &fun_data) : - FunDataBase (fun_data), - fun_ptr (fun_data.fun_ptr), - arg1 (fun_data.arg1), - arg2 (fun_data.arg2), - arg3 (fun_data.arg3), - arg4 (fun_data.arg4), - arg5 (fun_data.arg5), - arg6 (fun_data.arg6), - arg7 (fun_data.arg7) + FunData7::FunData7 (const FunData7 &fun_data) : + FunDataBase (fun_data), + fun_ptr (fun_data.fun_ptr), + arg1 (fun_data.arg1), + arg2 (fun_data.arg2), + arg3 (fun_data.arg3), + arg4 (fun_data.arg4), + arg5 (fun_data.arg5), + arg6 (fun_data.arg6), + arg7 (fun_data.arg7) {}; @@ -3445,7 +3445,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; @@ -3456,9 +3456,9 @@ namespace Threads Arg7 arg7 = fun_data->arg7; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3498,14 +3498,14 @@ namespace Threads template FunData8::FunData8 (FunPtr fun_ptr, - Arg1 arg1, - Arg2 arg2, - Arg3 arg3, - Arg4 arg4, - Arg5 arg5, - Arg6 arg6, - Arg7 arg7, - Arg8 arg8) : + Arg1 arg1, + Arg2 arg2, + Arg3 arg3, + Arg4 arg4, + Arg5 arg5, + Arg6 arg6, + Arg7 arg7, + Arg8 arg8) : FunDataBase (&FunData8::thread_entry_point), fun_ptr (fun_ptr), arg1 (arg1), @@ -3521,17 +3521,17 @@ namespace Threads template - FunData8::FunData8 (const FunData8 &fun_data) : - FunDataBase (fun_data), - fun_ptr (fun_data.fun_ptr), - arg1 (fun_data.arg1), - arg2 (fun_data.arg2), - arg3 (fun_data.arg3), - arg4 (fun_data.arg4), - arg5 (fun_data.arg5), - arg6 (fun_data.arg6), - arg7 (fun_data.arg7), - arg8 (fun_data.arg8) + FunData8::FunData8 (const FunData8 &fun_data) : + FunDataBase (fun_data), + fun_ptr (fun_data.fun_ptr), + arg1 (fun_data.arg1), + arg2 (fun_data.arg2), + arg3 (fun_data.arg3), + arg4 (fun_data.arg4), + arg5 (fun_data.arg5), + arg6 (fun_data.arg6), + arg7 (fun_data.arg7), + arg8 (fun_data.arg8) {}; @@ -3559,7 +3559,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; @@ -3571,9 +3571,9 @@ namespace Threads Arg8 arg8 = fun_data->arg8; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3655,13 +3655,13 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3745,15 +3745,15 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3840,16 +3840,16 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; Arg2 arg2 = fun_data->arg2; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -3943,7 +3943,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; @@ -3951,9 +3951,9 @@ namespace Threads Arg3 arg3 = fun_data->arg3; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -4053,7 +4053,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; @@ -4062,9 +4062,9 @@ namespace Threads Arg4 arg4 = fun_data->arg4; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -4168,7 +4168,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; @@ -4178,9 +4178,9 @@ namespace Threads Arg5 arg5 = fun_data->arg5; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -4239,15 +4239,15 @@ namespace Threads Arg4 arg4, Arg5 arg5, Arg6 arg6) : - FunDataBase (&MemFunData6::thread_entry_point), - fun_ptr (fun_ptr), - object (object), - arg1 (arg1), - arg2 (arg2), - arg3 (arg3), - arg4 (arg4), - arg5 (arg5), - arg6 (arg6) + FunDataBase (&MemFunData6::thread_entry_point), + fun_ptr (fun_ptr), + object (object), + arg1 (arg1), + arg2 (arg2), + arg3 (arg3), + arg4 (arg4), + arg5 (arg5), + arg6 (arg6) {}; @@ -4290,7 +4290,7 @@ namespace Threads const ThisClass *fun_data = dynamic_cast (fun_encapsulation->fun_data_base); - // copy the parameters + // copy the parameters ThisClass::FunPtr fun_ptr = fun_data->fun_ptr; Class *object = fun_data->object; Arg1 arg1 = fun_data->arg1; @@ -4301,9 +4301,9 @@ namespace Threads Arg6 arg6 = fun_data->arg6; - // copying of parameters is done, - // now we can release the lock on - // @p{fun_data} + // copying of parameters is done, + // now we can release the lock on + // @p{fun_data} fun_data->lock.release (); // call the function @@ -4347,9 +4347,9 @@ namespace Threads Arg4 arg4, Arg5 arg5, Arg6 arg6) - { - return collect_args (&object, arg1, arg2, arg3, arg4, arg5, arg6); - }; + { + return collect_args (&object, arg1, arg2, arg3, arg4, arg5, arg6); + }; /* ---------------------------------------------------------------- */ @@ -4499,7 +4499,7 @@ namespace Threads template - vector > + std::vector > split_range (const ForwardIterator &begin, const ForwardIterator &end, const unsigned int n_intervals) { @@ -4507,7 +4507,7 @@ namespace Threads const unsigned int n_elements_per_interval = n_elements / n_intervals; const unsigned int residual = n_elements % n_intervals; - vector > + std::vector > return_values (n_intervals); return_values[0].first = begin; diff --git a/deal.II/base/include/base/timer.h b/deal.II/base/include/base/timer.h index 2d99107a12..b82935f93f 100644 --- a/deal.II/base/include/base/timer.h +++ b/deal.II/base/include/base/timer.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -35,7 +35,7 @@ * * timer.stop (); * - * cout << "Elapsed time: " << timer() << " seconds."; + * std::cout << "Elapsed time: " << timer() << " seconds."; * * // reset timer for the next thing it shall do * timer.reset(); diff --git a/deal.II/base/source/convergence_table.cc b/deal.II/base/source/convergence_table.cc index 96ab9a8da0..b1096d5268 100644 --- a/deal.II/base/source/convergence_table.cc +++ b/deal.II/base/source/convergence_table.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -20,9 +20,9 @@ ConvergenceTable::ConvergenceTable() {} -void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, - const string &reference_column_key, - const RateMode rate_mode) +void ConvergenceTable::evaluate_convergence_rates(const std::string &data_column_key, + const std::string &reference_column_key, + const RateMode rate_mode) { Assert(columns.count(data_column_key), ExcColumnNotExistent(data_column_key)); @@ -32,12 +32,12 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, if (rate_mode==none) return; - vector &entries=columns[data_column_key].entries; - string rate_key=data_column_key; + std::vector &entries=columns[data_column_key].entries; + std::string rate_key=data_column_key; const unsigned int n=entries.size(); - vector values(n); + std::vector values(n); for (unsigned int i=0; i*>(entries[i]) != 0) @@ -66,7 +66,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, columns[rate_key].flag=1; set_precision(rate_key, 2); - string superkey=data_column_key; + std::string superkey=data_column_key; if (!supercolumns.count(superkey)) { add_column_to_supercolumn(data_column_key, superkey); @@ -77,17 +77,17 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, } -void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, - const RateMode rate_mode) +void ConvergenceTable::evaluate_convergence_rates(const std::string &data_column_key, + const RateMode rate_mode) { Assert(columns.count(data_column_key), ExcColumnNotExistent(data_column_key)); - vector &entries=columns[data_column_key].entries; - string rate_key=data_column_key+"..."; + std::vector &entries=columns[data_column_key].entries; + std::string rate_key=data_column_key+"..."; const unsigned int n=entries.size(); - vector values(n); + std::vector values(n); for (unsigned int i=0; i*>(entries[i]) != 0) @@ -111,7 +111,7 @@ void ConvergenceTable::evaluate_convergence_rates(const string &data_column_key, Assert(columns.count(rate_key)==0, ExcRateColumnAlreadyExists(rate_key)); // no value available for the // first row - add_value(rate_key, string("-")); + add_value(rate_key, std::string("-")); for (unsigned int i=1; i::iterator col_iter=columns.find(key); + const std::map::iterator col_iter=columns.find(key); col_iter->second.flag=1; } -void ConvergenceTable::evaluate_all_convergence_rates(const string &reference_column_key, +void ConvergenceTable::evaluate_all_convergence_rates(const std::string &reference_column_key, const RateMode rate_mode) { - for (map::const_iterator col_iter=columns.begin(); + for (std::map::const_iterator col_iter=columns.begin(); col_iter!=columns.end(); ++col_iter) if (!col_iter->second.flag) evaluate_convergence_rates(col_iter->first, reference_column_key, rate_mode); @@ -166,7 +166,7 @@ void ConvergenceTable::evaluate_all_convergence_rates(const string &reference_co void ConvergenceTable::evaluate_all_convergence_rates(const RateMode rate_mode) { - for (map::const_iterator col_iter=columns.begin(); + for (std::map::const_iterator col_iter=columns.begin(); col_iter!=columns.end(); ++col_iter) if (!col_iter->second.flag) evaluate_convergence_rates(col_iter->first, rate_mode); diff --git a/deal.II/base/source/data_out_base.all_dimensions.cc b/deal.II/base/source/data_out_base.all_dimensions.cc index d6dc2f4d65..618cb56fc1 100644 --- a/deal.II/base/source/data_out_base.all_dimensions.cc +++ b/deal.II/base/source/data_out_base.all_dimensions.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/source/data_out_base.cc b/deal.II/base/source/data_out_base.cc index ea55db556b..4cf50d335a 100644 --- a/deal.II/base/source/data_out_base.cc +++ b/deal.II/base/source/data_out_base.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -26,8 +26,8 @@ template DataOutBase::Patch::Patch () : n_subdivisions (1) - // all the other data has a - // constructor of its own + // all the other data has a + // constructor of its own { Assert (dim<=spacedim, ExcInvalidCombinationOfDimensions(dim,spacedim)); Assert (spacedim<=3, ExcNotImplemented()); @@ -50,10 +50,10 @@ DataOutBase::Patch::memory_consumption () const template -void DataOutBase::write_ucd (const vector > &patches, - const vector &data_names, - const UcdFlags &flags, - ostream &out) +void DataOutBase::write_ucd (const std::vector > &patches, + const std::vector &data_names, + const UcdFlags &flags, + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -65,7 +65,7 @@ void DataOutBase::write_ucd (const vector > &patches, // and cells for later use unsigned int n_cells = 0, n_nodes = 0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) switch (dim) { @@ -97,19 +97,19 @@ void DataOutBase::write_ucd (const vector > &patches, { time_t time1= time (0); tm *time = localtime(&time1); - out << "# This file was generated by the deal.II library." << endl + out << "# This file was generated by the deal.II library." << std::endl << "# Date = " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" - << time->tm_mday << endl + << time->tm_mday << std::endl << "# Time = " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl - << "#" << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl + << "#" << std::endl << "# For a description of the UCD format see the AVS Developer's guide." - << endl - << "#" << endl; + << std::endl + << "#" << std::endl; }; // start with ucd data @@ -118,7 +118,7 @@ void DataOutBase::write_ucd (const vector > &patches, << n_data_sets << ' ' << 0 << ' ' // no cell data at present << 0 // no model data - << endl; + << std::endl; /////////////////////////////// // first make up the list of used @@ -132,7 +132,7 @@ void DataOutBase::write_ucd (const vector > &patches, { unsigned int present_node = 1; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -158,7 +158,7 @@ void DataOutBase::write_ucd (const vector > &patches, // fill with zeroes for (unsigned int i=spacedim; i<3; ++i) out << "0 "; - out << endl; + out << std::endl; }; break; @@ -189,7 +189,7 @@ void DataOutBase::write_ucd (const vector > &patches, // fill with zeroes for (unsigned int i=spacedim; i<3; ++i) out << "0 "; - out << endl; + out << std::endl; ++present_node; }; @@ -237,7 +237,7 @@ void DataOutBase::write_ucd (const vector > &patches, // fill with zeroes unnecessary here for (unsigned int i=spacedim; i<3; ++i) out << "0 "; - out << endl; + out << std::endl; ++present_node; }; @@ -263,7 +263,7 @@ void DataOutBase::write_ucd (const vector > &patches, unsigned int present_cell = 1; unsigned int first_vertex_of_patch = 0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -278,7 +278,7 @@ void DataOutBase::write_ucd (const vector > &patches, out << present_cell << " 0 line " // set material id to 0 << first_vertex_of_patch+i+1 << ' ' - << first_vertex_of_patch+i+1+1 << endl; + << first_vertex_of_patch+i+1+1 << std::endl; break; }; @@ -293,7 +293,7 @@ void DataOutBase::write_ucd (const vector > &patches, << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1 << ' ' << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1+1 << ' ' << first_vertex_of_patch+i*(n_subdivisions+1)+j+1+1 - << endl; + << std::endl; ++present_cell; }; break; @@ -316,7 +316,7 @@ void DataOutBase::write_ucd (const vector > &patches, << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j )*(n_subdivisions+1)+k+1+1 << ' ' << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j+1)*(n_subdivisions+1)+k+1+1 << ' ' << first_vertex_of_patch+(i*(n_subdivisions+1)+j+1 )*(n_subdivisions+1)+k+1+1 << ' ' - << endl; + << std::endl; ++present_cell; }; break; @@ -347,7 +347,7 @@ void DataOutBase::write_ucd (const vector > &patches, Assert (false, ExcNotImplemented()); }; }; - out << endl; + out << std::endl; // note that we number starting with 1! Assert (present_cell == n_cells+1, @@ -363,17 +363,17 @@ void DataOutBase::write_ucd (const vector > &patches, for (unsigned int i=0; i >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch != patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -400,7 +400,7 @@ void DataOutBase::write_ucd (const vector > &patches, for (unsigned int data_set=0; data_setdata(data_set,i) << ' '; - out << endl; + out << std::endl; }; break; @@ -416,7 +416,7 @@ void DataOutBase::write_ucd (const vector > &patches, for (unsigned int data_set=0; data_setdata(data_set,i*(n_subdivisions+1) + j) << ' '; - out << endl; + out << std::endl; ++present_node; }; @@ -437,7 +437,7 @@ void DataOutBase::write_ucd (const vector > &patches, (i*(n_subdivisions+1)+j)*(n_subdivisions+1)+k) << ' '; - out << endl; + out << std::endl; ++present_node; }; @@ -460,10 +460,10 @@ void DataOutBase::write_ucd (const vector > &patches, template -void DataOutBase::write_gnuplot (const vector > &patches, - const vector &data_names, - const GnuplotFlags &/*flags*/, - ostream &out) +void DataOutBase::write_gnuplot (const std::vector > &patches, + const std::vector &data_names, + const GnuplotFlags &/*flags*/, + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -479,19 +479,19 @@ void DataOutBase::write_gnuplot (const vector > &patches, // use const time_t time1= time (0); const tm *time = localtime(&time1); - out << "# This file was generated by the deal.II library." << endl + out << "# This file was generated by the deal.II library." << std::endl << "# Date = " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" - << time->tm_mday << endl + << time->tm_mday << std::endl << "# Time = " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl - << "#" << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl + << "#" << std::endl << "# For a description of the GNUPLOT format see the GNUPLOT manual." - << endl - << "#" << endl + << std::endl + << "#" << std::endl << "# "; switch (spacedim) @@ -514,12 +514,12 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << '<' << data_names[i] << "> "; - out << endl; + out << std::endl; }; // loop over all patches - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch != patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -550,12 +550,12 @@ void DataOutBase::write_gnuplot (const vector > &patches, for (unsigned int data_set=0; data_setdata(data_set,i) << ' '; - out << endl; + out << std::endl; }; // end of patch - out << endl - << endl; + out << std::endl + << std::endl; break; }; @@ -580,15 +580,15 @@ void DataOutBase::write_gnuplot (const vector > &patches, for (unsigned int data_set=0; data_setdata(data_set,i*(n_subdivisions+1) + j) << ' '; - out << endl; + out << std::endl; }; // end of row in patch - out << endl; + out << std::endl; }; // end of patch - out << endl; + out << std::endl; break; }; @@ -638,7 +638,7 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k); - out << endl; + out << std::endl; // write point there // and its data @@ -655,11 +655,11 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, ((i+1)*(n_subdivisions+1) + j)*(n_subdivisions+1)+k); - out << endl; + out << std::endl; // end of line - out << endl - << endl; + out << std::endl + << std::endl; }; // line into positive y-direction @@ -673,7 +673,7 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k); - out << endl; + out << std::endl; // write point there // and its data @@ -690,11 +690,11 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, (i*(n_subdivisions+1) + (j+1))*(n_subdivisions+1)+k); - out << endl; + out << std::endl; // end of line - out << endl - << endl; + out << std::endl + << std::endl; }; // line into positive z-direction @@ -708,7 +708,7 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k); - out << endl; + out << std::endl; // write point there // and its data @@ -725,11 +725,11 @@ void DataOutBase::write_gnuplot (const vector > &patches, out << ' ' << patch->data(data_set, (i*(n_subdivisions+1) + j)*(n_subdivisions+1)+k+1); - out << endl; + out << std::endl; // end of line - out << endl - << endl; + out << std::endl + << std::endl; }; }; @@ -748,10 +748,10 @@ void DataOutBase::write_gnuplot (const vector > &patches, template -void DataOutBase::write_povray (const vector > &patches, - const vector &data_names, - const PovrayFlags &flags, - ostream &out) +void DataOutBase::write_povray (const std::vector > &patches, + const std::vector &data_names, + const PovrayFlags &flags, + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -761,64 +761,64 @@ void DataOutBase::write_povray (const vector > &patches, const unsigned int n_data_sets = data_names.size(); - // write preamble + // write preamble if (true) { - // block this to have local - // variables destroyed after use + // block this to have local + // variables destroyed after use const time_t time1= time (0); const tm *time = localtime(&time1); - out << "/* This file was generated by the deal.II library." << endl + out << "/* This file was generated by the deal.II library." << std::endl << " Date = " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" - << time->tm_mday << endl + << time->tm_mday << std::endl << " Time = " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl - << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl + << std::endl << " For a description of the POVRAY format see the POVRAY manual." - << endl - << "*/ " << endl; + << std::endl + << "*/ " << std::endl; // include files - out << "#include \"colors.inc\" " << endl - << "#include \"textures.inc\" " << endl; + out << "#include \"colors.inc\" " << std::endl + << "#include \"textures.inc\" " << std::endl; // use external include file for textures, // camera and light if (flags.external_data) - out << "#include \"data.inc\" " << endl; + out << "#include \"data.inc\" " << std::endl; else // all definitions in data file { // camera - out << endl << endl - << "camera {" << endl - << " location <1,4,-7>" << endl - << " look_at <0,0,0>" << endl - << " angle 30" << endl - << "}" << endl; + out << std::endl << std::endl + << "camera {" << std::endl + << " location <1,4,-7>" << std::endl + << " look_at <0,0,0>" << std::endl + << " angle 30" << std::endl + << "}" << std::endl; // light - out << endl - << "light_source {" << endl - << " <1,4,-7>" << endl - << " color Grey" << endl - << "}" << endl; - out << endl - << "light_source {" << endl - << " <0,20,0>" << endl - << " color White" << endl - << "}" << endl; + out << std::endl + << "light_source {" << std::endl + << " <1,4,-7>" << std::endl + << " color Grey" << std::endl + << "}" << std::endl; + out << std::endl + << "light_source {" << std::endl + << " <0,20,0>" << std::endl + << " color White" << std::endl + << "}" << std::endl; } }; // max. and min. heigth of solution double hmin=0, hmax=0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch != patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -843,32 +843,32 @@ void DataOutBase::write_povray (const vector > &patches, } } - out << "#declare HMIN=" << hmin << ";" << endl - << "#declare HMAX=" << hmax << ";" << endl << endl; + out << "#declare HMIN=" << hmin << ";" << std::endl + << "#declare HMAX=" << hmax << ";" << std::endl << std::endl; if (!flags.external_data) { - // texture with scaled niveau lines - // 10 lines in the surface - out << "#declare Tex=texture{" << endl - << " pigment {" << endl - << " gradient y" << endl - << " scale y*(HMAX-HMIN)*" << 0.1 << endl - << " color_map {" << endl - << " [0.00 color Light_Purple] " << endl - << " [0.95 color Light_Purple] " << endl - << " [1.00 color White] " << endl - << "} } }" << endl << endl; + // texture with scaled niveau lines + // 10 lines in the surface + out << "#declare Tex=texture{" << std::endl + << " pigment {" << std::endl + << " gradient y" << std::endl + << " scale y*(HMAX-HMIN)*" << 0.1 << std::endl + << " color_map {" << std::endl + << " [0.00 color Light_Purple] " << std::endl + << " [0.95 color Light_Purple] " << std::endl + << " [1.00 color White] " << std::endl + << "} } }" << std::endl << std::endl; } if (!flags.bicubic_patch) { // start of mesh header - out << endl - << "mesh {" << endl; + out << std::endl + << "mesh {" << std::endl; } - // loop over all patches - for (typename vector >::const_iterator patch=patches.begin(); + // loop over all patches + for (typename std::vector >::const_iterator patch=patches.begin(); patch != patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -892,9 +892,9 @@ void DataOutBase::write_povray (const vector > &patches, for (unsigned int j=0; jvertices[1] * x_frac) + (patch->vertices[0] * (1-x_frac))) * (1-y_frac) + ((patch->vertices[2] * x_frac) + @@ -908,7 +908,7 @@ void DataOutBase::write_povray (const vector > &patches, { for (unsigned int j=0; j > &patches, if (j!=n_subdivisions&&j!=0) nrml[i*(n_subdivisions+1)+j](2)/=2; nrml[i*(n_subdivisions+1)+j](1)=1.; - // normalize Vektor + // normalize Vektor double norm=sqrt( - pow(nrml[i*(n_subdivisions+1)+j](0),2.)+ - pow(nrml[i*(n_subdivisions+1)+j](1),2.)+1.); + pow(nrml[i*(n_subdivisions+1)+j](0),2.)+ + pow(nrml[i*(n_subdivisions+1)+j](1),2.)+1.); for (unsigned int k=0;k<3;++k) nrml[i*(n_subdivisions+1)+j](k)/=norm; } } - // writing smooth_triangles + // writing smooth_triangles - // down/right triangle - out << "smooth_triangle {" << endl << "\t<" + // down/right triangle + out << "smooth_triangle {" << std::endl << "\t<" << ver[dl](0) << "," << patch->data(0,dl) << "," << ver[dl](1) << ">, <" - << nrml[dl] << ">," << endl + << nrml[dl] << ">," << std::endl << " \t<" << ver[dl+n_subdivisions+1](0) << "," << patch->data(0,dl+n_subdivisions+1) << "," << ver[dl+n_subdivisions+1](1) << ">, <" - << nrml[dl+n_subdivisions+1] << ">," << endl + << nrml[dl+n_subdivisions+1] << ">," << std::endl << "\t<" << ver[dl+n_subdivisions+2](0) << "," << patch->data(0,dl+n_subdivisions+2) << "," << ver[dl+n_subdivisions+2](1) << ">, <" - << nrml[dl+n_subdivisions+2] << ">}" << endl; + << nrml[dl+n_subdivisions+2] << ">}" << std::endl; - // upper/left triangle - out << "smooth_triangle {" << endl << "\t<" + // upper/left triangle + out << "smooth_triangle {" << std::endl << "\t<" << ver[dl](0) << "," << patch->data(0,dl) << "," << ver[dl](1) << ">, <" - << nrml[dl] << ">," << endl + << nrml[dl] << ">," << std::endl << "\t<" << ver[dl+n_subdivisions+2](0) << "," << patch->data(0,dl+n_subdivisions+2) << "," << ver[dl+n_subdivisions+2](1) << ">, <" - << nrml[dl+n_subdivisions+2] << ">," << endl + << nrml[dl+n_subdivisions+2] << ">," << std::endl << "\t<" << ver[dl+1](0) << "," << patch->data(0,dl+1) << "," << ver[dl+1](1) << ">, <" - << nrml[dl+1] << ">}" << endl; + << nrml[dl+1] << ">}" << std::endl; } else { - // writing standard triangles - // down/right triangle - out << "triangle {" << endl << "\t<" + // writing standard triangles + // down/right triangle + out << "triangle {" << std::endl << "\t<" << ver[dl](0) << "," << patch->data(0,dl) << "," - << ver[dl](1) << ">," << endl + << ver[dl](1) << ">," << std::endl << "\t<" << ver[dl+n_subdivisions+1](0) << "," << patch->data(0,dl+n_subdivisions+1) << "," - << ver[dl+n_subdivisions+1](1) << ">," << endl + << ver[dl+n_subdivisions+1](1) << ">," << std::endl << "\t<" << ver[dl+n_subdivisions+2](0) << "," << patch->data(0,dl+n_subdivisions+2) << "," - << ver[dl+n_subdivisions+2](1) << ">}" << endl; + << ver[dl+n_subdivisions+2](1) << ">}" << std::endl; - // upper/left triangle - out << "triangle {" << endl << "\t<" + // upper/left triangle + out << "triangle {" << std::endl << "\t<" << ver[dl](0) << "," << patch->data(0,dl) << "," - << ver[dl](1) << ">," << endl + << ver[dl](1) << ">," << std::endl << "\t<" << ver[dl+n_subdivisions+2](0) << "," << patch->data(0,dl+n_subdivisions+2) << "," - << ver[dl+n_subdivisions+2](1) << ">," << endl + << ver[dl+n_subdivisions+2](1) << ">," << std::endl << "\t<" << ver[dl+1](0) << "," << patch->data(0,dl+1) << "," - << ver[dl+1](1) << ">}" << endl; + << ver[dl+1](1) << ">}" << std::endl; }; }; }; @@ -1020,28 +1020,28 @@ void DataOutBase::write_povray (const vector > &patches, else { // writing bicubic_patch Assert (n_subdivisions==3, ExcUnexpectedNumberOfSubdivisions(n_subdivisions,3)); - out << endl - << "bicubic_patch {" << endl - << " type 0" << endl - << " flatness 0" << endl - << " u_steps 0" << endl - << " v_steps 0" << endl; + out << std::endl + << "bicubic_patch {" << std::endl + << " type 0" << std::endl + << " flatness 0" << std::endl + << " u_steps 0" << std::endl + << " v_steps 0" << std::endl; for (int i=0;i<16;++i) { out << "\t<" << ver[i](0) << "," << patch->data(0,i) << "," << ver[i](1) << ">"; if (i!=15) out << ","; - out << endl; + out << std::endl; }; - out << " texture {Tex}" << endl - << "}" << endl; + out << " texture {Tex}" << std::endl + << "}" << std::endl; }; }; if (!flags.bicubic_patch) { // the end of the mesh - out << " texture {Tex}" << endl - << "}" << endl - << endl; + out << " texture {Tex}" << std::endl + << "}" << std::endl + << std::endl; } AssertThrow (out, ExcIO()); @@ -1050,10 +1050,10 @@ void DataOutBase::write_povray (const vector > &patches, template -void DataOutBase::write_eps (const vector > &patches, - const vector &/*data_names*/, - const EpsFlags &flags, - ostream &out) +void DataOutBase::write_eps (const std::vector > &patches, + const std::vector &/*data_names*/, + const EpsFlags &flags, + std::ostream &out) { Assert (out, ExcIO()); @@ -1075,7 +1075,7 @@ void DataOutBase::write_eps (const vector > &patches, // of the center point of the cell // along the line of sight as value // for sorting - multiset cells; + std::multiset cells; // two variables in which we // will store the minimum and @@ -1091,7 +1091,7 @@ void DataOutBase::write_eps (const vector > &patches, // note that since dim==2, we // have exactly four vertices per // patch and per cell - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -1110,21 +1110,21 @@ void DataOutBase::write_eps (const vector > &patches, ((patch->vertices[2] * x_frac) + (patch->vertices[3] * (1-x_frac))) * y_frac), - (((patch->vertices[1] * x_frac1) + - (patch->vertices[0] * (1-x_frac1))) * (1-y_frac) + - ((patch->vertices[2] * x_frac1) + - (patch->vertices[3] * (1-x_frac1))) * y_frac), + (((patch->vertices[1] * x_frac1) + + (patch->vertices[0] * (1-x_frac1))) * (1-y_frac) + + ((patch->vertices[2] * x_frac1) + + (patch->vertices[3] * (1-x_frac1))) * y_frac), - (((patch->vertices[1] * x_frac1) + - (patch->vertices[0] * (1-x_frac1))) * (1-y_frac1) + - ((patch->vertices[2] * x_frac1) + - (patch->vertices[3] * (1-x_frac1))) * y_frac1), + (((patch->vertices[1] * x_frac1) + + (patch->vertices[0] * (1-x_frac1))) * (1-y_frac1) + + ((patch->vertices[2] * x_frac1) + + (patch->vertices[3] * (1-x_frac1))) * y_frac1), - (((patch->vertices[1] * x_frac) + - (patch->vertices[0] * (1-x_frac))) * (1-y_frac1) + - ((patch->vertices[2] * x_frac) + - (patch->vertices[3] * (1-x_frac))) * y_frac1) - }; + (((patch->vertices[1] * x_frac) + + (patch->vertices[0] * (1-x_frac))) * (1-y_frac1) + + ((patch->vertices[2] * x_frac) + + (patch->vertices[3] * (1-x_frac))) * y_frac1) + }; Assert ((flags.height_vector < patch->data.m()) || patch->data.m() == 0, @@ -1260,14 +1260,14 @@ void DataOutBase::write_eps (const vector > &patches, double y_min = cells.begin()->vertices[0](1); double y_max = y_min; - for (multiset::const_iterator cell=cells.begin(); + for (std::multiset::const_iterator cell=cells.begin(); cell!=cells.end(); ++cell) for (unsigned int vertex=0; vertex<4; ++vertex) { - x_min = min (x_min, cell->vertices[vertex](0)); - x_max = max (x_max, cell->vertices[vertex](0)); - y_min = min (y_min, cell->vertices[vertex](1)); - y_max = max (y_max, cell->vertices[vertex](1)); + x_min = std::min (x_min, cell->vertices[vertex](0)); + x_max = std::max (x_max, cell->vertices[vertex](0)); + y_min = std::min (y_min, cell->vertices[vertex](1)); + y_max = std::max (y_max, cell->vertices[vertex](1)); }; // scale in x-direction such that @@ -1291,16 +1291,16 @@ void DataOutBase::write_eps (const vector > &patches, // use time_t time1= time (0); tm *time = localtime(&time1); - out << "%!PS-Adobe-2.0 EPSF-1.2" << endl - << "%%Title: deal.II Output" << endl - << "%%Creator: the deal.II library" << endl + out << "%!PS-Adobe-2.0 EPSF-1.2" << std::endl + << "%%Title: deal.II Output" << std::endl + << "%%Creator: the deal.II library" << std::endl << "%%Creation Date: " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" << time->tm_mday << " - " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl << "%%BoundingBox: " // lower left corner << "0 0 " @@ -1308,7 +1308,7 @@ void DataOutBase::write_eps (const vector > &patches, << static_cast( (x_max-x_min) * scale ) << ' ' << static_cast( (y_max-y_min) * scale ) - << endl; + << std::endl; // define some abbreviations to keep // the output small: @@ -1318,23 +1318,23 @@ void DataOutBase::write_eps (const vector > &patches, // sg=set gray value // lx=close the line and plot the line // lf=close the line and fill the interior - out << "/m {moveto} bind def" << endl - << "/l {lineto} bind def" << endl - << "/s {setrgbcolor} bind def" << endl - << "/sg {setgray} bind def" << endl - << "/lx {lineto closepath stroke} bind def" << endl - << "/lf {lineto closepath fill} bind def" << endl; + out << "/m {moveto} bind def" << std::endl + << "/l {lineto} bind def" << std::endl + << "/s {setrgbcolor} bind def" << std::endl + << "/sg {setgray} bind def" << std::endl + << "/lx {lineto closepath stroke} bind def" << std::endl + << "/lf {lineto closepath fill} bind def" << std::endl; - out << "%%EndProlog" << endl - << endl; + out << "%%EndProlog" << std::endl + << std::endl; // set fine lines - out << flags.line_width << " setlinewidth" << endl; + out << flags.line_width << " setlinewidth" << std::endl; // allow only five digits // for output (instead of the // default six); this should suffice // even for fine grids, but reduces // the file size significantly - out << setprecision (5); + out << std::setprecision (5); }; // now we've got all the information @@ -1342,7 +1342,7 @@ void DataOutBase::write_eps (const vector > &patches, // note: due to the ordering, we // traverse the list of cells // back-to-front - for (multiset::const_iterator cell=cells.begin(); + for (std::multiset::const_iterator cell=cells.begin(); cell!=cells.end(); ++cell) { if (flags.draw_cells) @@ -1365,7 +1365,7 @@ void DataOutBase::write_eps (const vector > &patches, << (cell->vertices[1]-offset) * scale << " l " << (cell->vertices[2]-offset) * scale << " l " << (cell->vertices[3]-offset) * scale << " lf" - << endl; + << std::endl; }; if (flags.draw_mesh) @@ -1374,9 +1374,9 @@ void DataOutBase::write_eps (const vector > &patches, << (cell->vertices[1]-offset) * scale << " l " << (cell->vertices[2]-offset) * scale << " l " << (cell->vertices[3]-offset) * scale << " lx" - << endl; + << std::endl; }; - out << "showpage" << endl; + out << "showpage" << std::endl; break; }; @@ -1389,10 +1389,10 @@ void DataOutBase::write_eps (const vector > &patches, template -void DataOutBase::write_gmv (const vector > &patches, - const vector &data_names, - const GmvFlags &/*flags*/, - ostream &out) +void DataOutBase::write_gmv (const std::vector > &patches, + const std::vector &data_names, + const GmvFlags &/*flags*/, + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -1410,14 +1410,14 @@ void DataOutBase::write_gmv (const vector > &patches, /////////////////////// // preamble out << "gmvinput ascii" - << endl - << endl; + << std::endl + << std::endl; // first count the number of cells // and cells for later use unsigned int n_cells = 0, n_nodes = 0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) switch (dim) { @@ -1465,8 +1465,8 @@ void DataOutBase::write_gmv (const vector > &patches, // separate thread and when wanting // to write out the data, we wait // for that thread to finish - vector > data_vectors (n_data_sets, - vector (n_nodes)); + std::vector > data_vectors (n_data_sets, + std::vector (n_nodes)); Threads::ThreadManager thread_manager; Threads::spawn (thread_manager, Threads::encapsulate (&DataOutBase::template @@ -1480,10 +1480,10 @@ void DataOutBase::write_gmv (const vector > &patches, // // note that we have to print // d=1..3 dimensions - out << "nodes " << n_nodes << endl; + out << "nodes " << n_nodes << std::endl; for (unsigned int d=1; d<=3; ++d) { - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -1568,22 +1568,22 @@ void DataOutBase::write_gmv (const vector > &patches, out << "0 "; }; }; - out << endl; + out << std::endl; }; - out << endl; + out << std::endl; ///////////////////////////////// // now for the cells. note that // vertices are counted from 1 onwards if (true) { - out << "cells " << n_cells << endl; + out << "cells " << n_cells << std::endl; unsigned int first_vertex_of_patch = 0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch!=patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -1597,7 +1597,7 @@ void DataOutBase::write_gmv (const vector > &patches, for (unsigned int i=0; i > &patches, << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1 << ' ' << first_vertex_of_patch+(i+1)*(n_subdivisions+1)+j+1+1 << ' ' << first_vertex_of_patch+i*(n_subdivisions+1)+j+1+1 - << endl; + << std::endl; break; }; @@ -1630,7 +1630,7 @@ void DataOutBase::write_gmv (const vector > &patches, << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j )*(n_subdivisions+1)+k+1+1 << ' ' << first_vertex_of_patch+((i+1)*(n_subdivisions+1)+j+1)*(n_subdivisions+1)+k+1+1 << ' ' << first_vertex_of_patch+(i*(n_subdivisions+1)+j+1 )*(n_subdivisions+1)+k+1+1 << ' ' - << endl; + << std::endl; }; break; }; @@ -1660,12 +1660,12 @@ void DataOutBase::write_gmv (const vector > &patches, Assert (false, ExcNotImplemented()); }; }; - out << endl; + out << std::endl; }; /////////////////////////////////////// // data output. - out << "variable" << endl; + out << "variable" << std::endl; // now write the data vectors to // @p{out} first make sure that all @@ -1678,22 +1678,22 @@ void DataOutBase::write_gmv (const vector > &patches, // support explicitely here) for (unsigned int data_set=0; data_set(out, " ")); - out << endl - << endl; + std::ostream_iterator(out, " ")); + out << std::endl + << std::endl; }; // end of variable section - out << "endvars" << endl; + out << "endvars" << std::endl; // end of output out << "endgmv" - << endl; + << std::endl; // assert the stream is still ok AssertThrow (out, ExcIO()); @@ -1703,8 +1703,8 @@ void DataOutBase::write_gmv (const vector > &patches, template void -DataOutBase::write_gmv_reorder_data_vectors (const vector > &patches, - vector > &data_vectors) +DataOutBase::write_gmv_reorder_data_vectors (const std::vector > &patches, + std::vector > &data_vectors) { // unlike in the main function, we // don't have here the data_names @@ -1720,7 +1720,7 @@ DataOutBase::write_gmv_reorder_data_vectors (const vector > // loop over all patches unsigned int next_value = 0; - for (typename vector >::const_iterator patch=patches.begin(); + for (typename std::vector >::const_iterator patch=patches.begin(); patch != patches.end(); ++patch) { const unsigned int n_subdivisions = patch->n_subdivisions; @@ -1793,16 +1793,16 @@ DataOutBase::write_gmv_reorder_data_vectors (const vector > template -void DataOutInterface::write_ucd (ostream &out) const +void DataOutInterface::write_ucd (std::ostream &out) const { DataOutBase::write_ucd (get_patches(), get_dataset_names(), - ucd_flags, out); + ucd_flags, out); }; template -void DataOutInterface::write_gnuplot (ostream &out) const +void DataOutInterface::write_gnuplot (std::ostream &out) const { DataOutBase::write_gnuplot (get_patches(), get_dataset_names(), gnuplot_flags, out); @@ -1811,7 +1811,7 @@ void DataOutInterface::write_gnuplot (ostream &out) const template -void DataOutInterface::write_povray (ostream &out) const +void DataOutInterface::write_povray (std::ostream &out) const { DataOutBase::write_povray (get_patches(), get_dataset_names(), povray_flags, out); @@ -1820,7 +1820,7 @@ void DataOutInterface::write_povray (ostream &out) const template -void DataOutInterface::write_eps (ostream &out) const +void DataOutInterface::write_eps (std::ostream &out) const { DataOutBase::write_eps (get_patches(), get_dataset_names(), eps_flags, out); @@ -1829,7 +1829,7 @@ void DataOutInterface::write_eps (ostream &out) const template -void DataOutInterface::write_gmv (ostream &out) const +void DataOutInterface::write_gmv (std::ostream &out) const { DataOutBase::write_gmv (get_patches(), get_dataset_names(), gmv_flags, out); @@ -1838,8 +1838,8 @@ void DataOutInterface::write_gmv (ostream &out) const template -void DataOutInterface::write (ostream &out, - OutputFormat output_format) const +void DataOutInterface::write (std::ostream &out, + OutputFormat output_format) const { if (output_format == default_format) output_format = default_fmt; @@ -1923,7 +1923,7 @@ void DataOutInterface::set_flags (const GmvFlags &flags) template -string DataOutInterface::default_suffix (OutputFormat output_format) const +std::string DataOutInterface::default_suffix (OutputFormat output_format) const { if (output_format == default_format) output_format = default_fmt; @@ -1955,7 +1955,7 @@ string DataOutInterface::default_suffix (OutputFormat output_forma template DataOutInterface::OutputFormat -DataOutInterface::parse_output_format (const string &format_name) +DataOutInterface::parse_output_format (const std::string &format_name) { if (format_name == "ucd") return ucd; @@ -1981,7 +1981,7 @@ DataOutInterface::parse_output_format (const string &format_name) template -string DataOutInterface::get_output_format_names () +std::string DataOutInterface::get_output_format_names () { return "ucd|gnuplot|povray|eps|gmv"; } @@ -2020,7 +2020,7 @@ void DataOutInterface::declare_parameters (ParameterHandler &prm) template void DataOutInterface::parse_parameters (ParameterHandler &prm) { - const string& output_name = prm.get ("Output format"); + const std::string& output_name = prm.get ("Output format"); default_fmt = parse_output_format (output_name); prm.enter_subsection ("UCD output parameters"); diff --git a/deal.II/base/source/exceptions.cc b/deal.II/base/source/exceptions.cc index a67d5209ab..028c231244 100644 --- a/deal.II/base/source/exceptions.cc +++ b/deal.II/base/source/exceptions.cc @@ -43,24 +43,24 @@ void ExceptionBase::SetFields (const char* f, -void ExceptionBase::PrintExcData (ostream &out) const +void ExceptionBase::PrintExcData (std::ostream &out) const { out << "An error occurred in line <" << line << "> of file <" << file - << "> in function" << endl - << " " << function << endl - << "The violated condition was: "<< endl - << " " << cond << endl - << "The name and call sequence of the exception was:" << endl - << " " << exc << endl - << "Additional Information: " << endl; + << "> in function" << std::endl + << " " << function << std::endl + << "The violated condition was: "<< std::endl + << " " << cond << std::endl + << "The name and call sequence of the exception was:" << std::endl + << " " << exc << std::endl + << "Additional Information: " << std::endl; }; -void ExceptionBase::PrintInfo (ostream &out) const +void ExceptionBase::PrintInfo (std::ostream &out) const { - out << "(none)" << endl; + out << "(none)" << std::endl; }; @@ -78,21 +78,21 @@ const char * ExceptionBase::what () const throw () // and therefore need a liftime which is // longer than the execution time of this // function - static string description; + static std::string description; // convert the messages printed by the - // exceptions into a string - ostrstream converter; + // exceptions into a std::string + std::ostrstream converter; converter << "--------------------------------------------------------" - << endl; - // put general info into the string + << std::endl; + // put general info into the std::string PrintExcData (converter); // put in exception specific data PrintInfo (converter); converter << "--------------------------------------------------------" - << endl - << ends; + << std::endl + << std::ends; description = converter.str(); diff --git a/deal.II/base/source/function.cc b/deal.II/base/source/function.cc index 3444ced4eb..0b39d30ba6 100644 --- a/deal.II/base/source/function.cc +++ b/deal.II/base/source/function.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -49,9 +49,9 @@ void Function::vector_value (const Point &, template -void Function::value_list (const vector > &points, - vector &values, - const unsigned int component) const +void Function::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { // check whether component is in // the valid range is up to the @@ -65,8 +65,8 @@ void Function::value_list (const vector > &points, template -void Function::vector_value_list (const vector > &points, - vector > &values) const +void Function::vector_value_list (const std::vector > &points, + std::vector > &values) const { // check whether component is in // the valid range is up to the @@ -90,16 +90,16 @@ Tensor<1,dim> Function::gradient (const Point &, template void Function::vector_gradient (const Point &, - vector > &) const + std::vector > &) const { Assert (false, ExcPureFunctionCalled()); }; template -void Function::gradient_list (const vector > &points, - vector > &gradients, - const unsigned int component) const +void Function::gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int component) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); @@ -110,8 +110,8 @@ void Function::gradient_list (const vector > &points, template -void Function::vector_gradient_list (const vector > &points, - vector > > &gradients) const +void Function::vector_gradient_list (const std::vector > &points, + std::vector > > &gradients) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); @@ -129,7 +129,7 @@ void Function::vector_gradient_list (const vector > &point template double Function::laplacian (const Point &, - const unsigned int) const + const unsigned int) const { Assert (false, ExcPureFunctionCalled()); return 0; @@ -138,7 +138,7 @@ double Function::laplacian (const Point &, template void Function::vector_laplacian (const Point &, - Vector &) const + Vector &) const { Assert (false, ExcPureFunctionCalled()); } @@ -146,9 +146,9 @@ void Function::vector_laplacian (const Point &, template -void Function::laplacian_list (const vector > &points, - vector &laplacians, - const unsigned int component) const +void Function::laplacian_list (const std::vector > &points, + std::vector &laplacians, + const unsigned int component) const { // check whether component is in // the valid range is up to the @@ -162,8 +162,8 @@ void Function::laplacian_list (const vector > &points, template -void Function::vector_laplacian_list (const vector > &points, - vector > &laplacians) const +void Function::vector_laplacian_list (const std::vector > &points, + std::vector > &laplacians) const { // check whether component is in // the valid range is up to the @@ -202,7 +202,7 @@ ZeroFunction::~ZeroFunction () template double ZeroFunction::value (const Point &, - const unsigned int) const + const unsigned int) const { return 0.; }; @@ -215,13 +215,13 @@ void ZeroFunction::vector_value (const Point &, Assert (return_value.size() == n_components, ExcDimensionMismatch (return_value.size(), n_components)); - fill_n (return_value.begin(), n_components, 0.0); + std::fill_n (return_value.begin(), n_components, 0.0); }; template -void ZeroFunction::value_list (const vector > &points, - vector &values, +void ZeroFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int /*component*/) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -231,8 +231,8 @@ void ZeroFunction::value_list (const vector > &points, template -void ZeroFunction::vector_value_list (const vector > &points, - vector > &values) const +void ZeroFunction::vector_value_list (const std::vector > &points, + std::vector > &values) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -241,7 +241,7 @@ void ZeroFunction::vector_value_list (const vector > &points, { Assert (values[i].size() == n_components, ExcDimensionMismatch(values[i].size(), n_components)); - fill_n (values[i].begin(), n_components, 0.); + std::fill_n (values[i].begin(), n_components, 0.); }; }; @@ -256,7 +256,7 @@ Tensor<1,dim> ZeroFunction::gradient (const Point &, template void ZeroFunction::vector_gradient (const Point &, - vector > &gradients) const + std::vector > &gradients) const { Assert (gradients.size() == n_components, ExcDimensionMismatch(gradients.size(), n_components)); @@ -267,9 +267,9 @@ void ZeroFunction::vector_gradient (const Point &, template -void ZeroFunction::gradient_list (const vector > &points, - vector > &gradients, - const unsigned int /*component*/) const +void ZeroFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int /*component*/) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); @@ -280,8 +280,8 @@ void ZeroFunction::gradient_list (const vector > &points, template -void ZeroFunction::vector_gradient_list (const vector > &points, - vector > > &gradients) const +void ZeroFunction::vector_gradient_list (const std::vector > &points, + std::vector > > &gradients) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); @@ -301,7 +301,7 @@ template ConstantFunction::ConstantFunction (const double value, const unsigned int n_components) : ZeroFunction (n_components), - function_value (value) {}; + function_value (value) {}; template @@ -310,7 +310,7 @@ ConstantFunction::~ConstantFunction () {}; template double ConstantFunction::value (const Point &, - const unsigned int) const + const unsigned int) const { return function_value; }; @@ -323,14 +323,15 @@ void ConstantFunction::vector_value (const Point &, Assert (return_value.size() == n_components, ExcDimensionMismatch (return_value.size(), n_components)); - fill_n (return_value.begin(), n_components, function_value); + std::fill_n (return_value.begin(), n_components, function_value); }; template -void ConstantFunction::value_list (const vector > &points, - vector &values, - const unsigned int /*component*/) const { +void ConstantFunction::value_list (const std::vector > &points, + std::vector &values, + const unsigned int /*component*/) const +{ Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -339,8 +340,8 @@ void ConstantFunction::value_list (const vector > &points, template -void ConstantFunction::vector_value_list (const vector > &points, - vector > &values) const +void ConstantFunction::vector_value_list (const std::vector > &points, + std::vector > &values) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -349,7 +350,7 @@ void ConstantFunction::vector_value_list (const vector > &points { Assert (values[i].size() == n_components, ExcDimensionMismatch(values[i].size(), n_components)); - fill_n (values[i].begin(), n_components, function_value); + std::fill_n (values[i].begin(), n_components, function_value); }; }; @@ -372,7 +373,7 @@ ComponentSelectFunction::ComponentSelectFunction (const unsigned int select const unsigned int n_components) : ConstantFunction (value, n_components), - selected(selected) + selected(selected) {} @@ -383,15 +384,15 @@ void ComponentSelectFunction::vector_value (const Point &, Assert (return_value.size() == n_components, ExcDimensionMismatch (return_value.size(), n_components)); - fill_n (return_value.begin(), n_components, 0.); + std::fill_n (return_value.begin(), n_components, 0.); return_value(selected) = function_value; } template -void ComponentSelectFunction::vector_value_list (const vector > &points, - vector > &values) const +void ComponentSelectFunction::vector_value_list (const std::vector > &points, + std::vector > &values) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -400,7 +401,7 @@ void ComponentSelectFunction::vector_value_list (const vector > { Assert (values[i].size() == n_components, ExcDimensionMismatch(values[i].size(), n_components)); - fill_n (values[i].begin(), n_components, 0.); + std::fill_n (values[i].begin(), n_components, 0.); values[i](selected) = function_value; } } diff --git a/deal.II/base/source/function_derivative.cc b/deal.II/base/source/function_derivative.cc index f1abe317c3..cf1f624cc6 100644 --- a/deal.II/base/source/function_derivative.cc +++ b/deal.II/base/source/function_derivative.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -22,8 +22,8 @@ FunctionDerivative::FunctionDerivative (const Function& f, const Point& dir) : Function (f.n_components, f.get_time()), - f(f), - direction(dir) + f(f), + direction(dir) { set_h(); set_formula(); @@ -74,75 +74,75 @@ FunctionDerivative::value (const Point &p, template void -FunctionDerivative::value_list (const vector > &points, - vector &values, - const unsigned int component) const +FunctionDerivative::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { const unsigned int n = points.size(); switch (formula) { - case Euler: - { - vector > p1(n); - vector > p2(n); - vector e2(n); - for (unsigned int i=0;i > p1(n); + std::vector > p2(n); + std::vector e2(n); + for (unsigned int i=0;i > p2(n); - vector e2(n); - for (unsigned int i=0;i > p_p(n); - vector > p_pp(n); - vector > p_m(n); - vector > p_mm(n); - vector e_p(n); - vector e_pp(n); - vector e_m(n); - for (unsigned int i=0;i > p2(n); + std::vector e2(n); + for (unsigned int i=0;i > p_p(n); + std::vector > p_pp(n); + std::vector > p_m(n); + std::vector > p_mm(n); + std::vector e_p(n); + std::vector e_pp(n); + std::vector e_m(n); + for (unsigned int i=0;i::value (const Point &p, template void -SquareFunction::value_list (const vector > &points, - vector &values, +SquareFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -68,8 +68,8 @@ SquareFunction::laplacian (const Point &, template void -SquareFunction::laplacian_list (const vector > &points, - vector &values, +SquareFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -93,8 +93,8 @@ SquareFunction::gradient (const Point &p, template void -SquareFunction::gradient_list (const vector > &points, - vector > &gradients, +SquareFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -111,7 +111,7 @@ SquareFunction::gradient_list (const vector > &points, template double Q1WedgeFunction::value (const Point &p, - const unsigned int) const + const unsigned int) const { return p(0)*p(1); } @@ -120,9 +120,9 @@ Q1WedgeFunction::value (const Point &p, template void -Q1WedgeFunction::value_list (const vector > &points, - vector &values, - const unsigned int) const +Q1WedgeFunction::value_list (const std::vector > &points, + std::vector &values, + const unsigned int) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -138,7 +138,7 @@ Q1WedgeFunction::value_list (const vector > &points, template double Q1WedgeFunction::laplacian (const Point &, - const unsigned int) const + const unsigned int) const { return 0.; } @@ -146,9 +146,9 @@ Q1WedgeFunction::laplacian (const Point &, template void -Q1WedgeFunction::laplacian_list (const vector > &points, - vector &values, - const unsigned int) const +Q1WedgeFunction::laplacian_list (const std::vector > &points, + std::vector &values, + const unsigned int) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -162,7 +162,7 @@ Q1WedgeFunction::laplacian_list (const vector > &points, template Tensor<1,dim> Q1WedgeFunction::gradient (const Point &p, - const unsigned int) const + const unsigned int) const { Tensor<1,dim> erg; erg[0] = p(1); @@ -174,9 +174,9 @@ Q1WedgeFunction::gradient (const Point &p, template void -Q1WedgeFunction::gradient_list (const vector > &points, - vector > &gradients, - const unsigned int) const +Q1WedgeFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, + const unsigned int) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); @@ -220,8 +220,8 @@ PillowFunction::value (const Point &p, template void -PillowFunction::value_list (const vector > &points, - vector &values, +PillowFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -272,8 +272,8 @@ PillowFunction::laplacian (const Point &p, template void -PillowFunction::laplacian_list (const vector > &points, - vector &values, +PillowFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -329,8 +329,8 @@ PillowFunction::gradient (const Point &p, template void -PillowFunction::gradient_list (const vector > &points, - vector > &gradients, +PillowFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -382,8 +382,8 @@ CosineFunction::value (const Point &p, template void -CosineFunction::value_list (const vector > &points, - vector &values, +CosineFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -430,8 +430,8 @@ CosineFunction::laplacian (const Point &p, template void -CosineFunction::laplacian_list (const vector > &points, - vector &values, +CosineFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -485,8 +485,8 @@ CosineFunction::gradient (const Point &p, template void -CosineFunction::gradient_list (const vector > &points, - vector > &gradients, +CosineFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -538,8 +538,8 @@ ExpFunction::value (const Point &p, template void -ExpFunction::value_list (const vector > &points, - vector &values, +ExpFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -586,8 +586,8 @@ ExpFunction::laplacian (const Point &p, template void -ExpFunction::laplacian_list (const vector > &points, - vector &values, +ExpFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -641,8 +641,8 @@ ExpFunction::gradient (const Point &p, template void -ExpFunction::gradient_list (const vector > &points, - vector > &gradients, +ExpFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -692,8 +692,8 @@ LSingularityFunction::value (const Point<2> &p, void -LSingularityFunction::value_list (const vector > &points, - vector &values, +LSingularityFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -726,8 +726,8 @@ LSingularityFunction::laplacian (const Point<2> &, void -LSingularityFunction::laplacian_list (const vector > &points, - vector &values, +LSingularityFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -763,8 +763,8 @@ LSingularityFunction::gradient (const Point<2> &p, void -LSingularityFunction::gradient_list (const vector > &points, - vector > &gradients, +LSingularityFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -790,8 +790,8 @@ SlitSingularityFunction::value (const Point<2> &p, void -SlitSingularityFunction::value_list (const vector > &points, - vector &values, +SlitSingularityFunction::value_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -819,8 +819,8 @@ SlitSingularityFunction::laplacian (const Point<2> &, void -SlitSingularityFunction::laplacian_list (const vector > &points, - vector &values, +SlitSingularityFunction::laplacian_list (const std::vector > &points, + std::vector &values, const unsigned int) const { Assert (values.size() == points.size(), @@ -843,8 +843,8 @@ SlitSingularityFunction::gradient (const Point<2> &/*p*/, void -SlitSingularityFunction::gradient_list (const vector > &points, - vector > &gradients, +SlitSingularityFunction::gradient_list (const std::vector > &points, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == points.size(), @@ -891,8 +891,8 @@ JumpFunction::value (const Point &p, template void -JumpFunction::value_list (const vector > &p, - vector &values, +JumpFunction::value_list (const std::vector > &p, + std::vector &values, const unsigned int) const { Assert (values.size() == p.size(), @@ -919,8 +919,8 @@ JumpFunction::laplacian (const Point &p, template void -JumpFunction::laplacian_list (const vector > &p, - vector &values, +JumpFunction::laplacian_list (const std::vector > &p, + std::vector &values, const unsigned int) const { Assert (values.size() == p.size(), @@ -955,8 +955,8 @@ JumpFunction::gradient (const Point &p, template void -JumpFunction::gradient_list (const vector > &p, - vector > &gradients, +JumpFunction::gradient_list (const std::vector > &p, + std::vector > &gradients, const unsigned int) const { Assert (gradients.size() == p.size(), diff --git a/deal.II/base/source/function_time.cc b/deal.II/base/source/function_time.cc index 8f307dc3d7..5d6a38a812 100644 --- a/deal.II/base/source/function_time.cc +++ b/deal.II/base/source/function_time.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/source/job_identifier.cc b/deal.II/base/source/job_identifier.cc index 3bbc1df6e0..7eecd2de04 100644 --- a/deal.II/base/source/job_identifier.cc +++ b/deal.II/base/source/job_identifier.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -18,17 +18,18 @@ JobIdentifier dealjobid; + JobIdentifier::JobIdentifier() { time_t t = time(0); - id = string(program_id()) + string(ctime(&t)); + id = std::string(program_id()) + std::string(ctime(&t)); } -JobIdentifier::~JobIdentifier() -{} -const string +const std::string JobIdentifier::operator ()() const { return id; } + + diff --git a/deal.II/base/source/log.cc b/deal.II/base/source/log.cc index 88c4c2494b..4370bf98e3 100644 --- a/deal.II/base/source/log.cc +++ b/deal.II/base/source/log.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -23,20 +23,20 @@ LogStream deallog; LogStream::LogStream() - : std_out(&cerr), file(0), was_endl(true), + : std_out(&std::cerr), file(0), was_endl(true), std_depth(10000), file_depth(10000), print_utime(false) { prefixes.push("DEAL:"); - std_out->setf(ios::showpoint | ios::left); + std_out->setf(std::ios::showpoint | std::ios::left); } void -LogStream::attach(ostream& o) +LogStream::attach(std::ostream& o) { file = &o; - o.setf(ios::showpoint | ios::left); + o.setf(std::ios::showpoint | std::ios::left); o << dealjobid(); } @@ -47,14 +47,14 @@ void LogStream::detach () }; -ostream& +std::ostream& LogStream::get_console() { return *std_out; } -ostream& +std::ostream& LogStream::get_file_stream() { Assert(file, ExcNoFileStreamGiven()); @@ -63,11 +63,11 @@ LogStream::get_file_stream() void -LogStream::push (const string& text) +LogStream::push (const std::string& text) { - string pre=prefixes.top(); + std::string pre=prefixes.top(); pre += text; - pre += string(":"); + pre += std::string(":"); prefixes.push(pre); }; @@ -118,7 +118,7 @@ LogStream::print_line_head() *std_out << utime << ':'; std_out->width(p); } - *std_out << prefixes.top() << ':'; + *std_out << prefixes.top() << ':'; } if (file && (prefixes.size() <= file_depth)) @@ -129,7 +129,7 @@ LogStream::print_line_head() *file << utime << ':'; file->width(p); } - *file << prefixes.top() << ':'; + *file << prefixes.top() << ':'; } } @@ -151,7 +151,7 @@ LogStream::memory_consumption () const // elements, we have to copy the // stack since we can't access // elements from further below - stack tmp; + std::stack tmp; while (tmp.size() > 0) { mem += MemoryConsumption::memory_consumption (tmp.top()); diff --git a/deal.II/base/source/memory_consumption.cc b/deal.II/base/source/memory_consumption.cc index 62a2177a87..c33f7c51c8 100644 --- a/deal.II/base/source/memory_consumption.cc +++ b/deal.II/base/source/memory_consumption.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -17,20 +17,20 @@ namespace MemoryConsumption { - unsigned int memory_consumption (const string &s) + unsigned int memory_consumption (const std::string &s) { return sizeof(s) + s.length(); }; - unsigned int memory_consumption (const vector &v) - { - unsigned int mem = sizeof(v); - for (unsigned int i=0; i &v) + { + unsigned int mem = sizeof(v); + for (unsigned int i=0; i> search; - if (search.find("processor")!=string::npos) + if (search.find("processor")!=std::string::npos) nCPU++; } cpuinfo.close(); diff --git a/deal.II/base/source/parameter_handler.cc b/deal.II/base/source/parameter_handler.cc index d14c953178..6c208e380e 100644 --- a/deal.II/base/source/parameter_handler.cc +++ b/deal.II/base/source/parameter_handler.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -32,19 +32,19 @@ namespace Patterns unsigned int - PatternBase::memory_consumption () const - { - if (dynamic_cast(this) != 0) - return sizeof(Integer); - else if (dynamic_cast(this) != 0) - return sizeof(Double); - else if (dynamic_cast(this) != 0) - return sizeof(Bool); - else if (dynamic_cast(this) != 0) - return sizeof(Anything); - else - return sizeof(*this) + 32; - }; + PatternBase::memory_consumption () const + { + if (dynamic_cast(this) != 0) + return sizeof(Integer); + else if (dynamic_cast(this) != 0) + return sizeof(Double); + else if (dynamic_cast(this) != 0) + return sizeof(Bool); + else if (dynamic_cast(this) != 0) + return sizeof(Anything); + else + return sizeof(*this) + 32; + }; @@ -57,9 +57,9 @@ namespace Patterns - bool Integer::match (const string &test_string) const + bool Integer::match (const std::string &test_string) const { - istrstream str(test_string.c_str()); + std::istrstream str(test_string.c_str()); int i; if (str >> i) { @@ -78,18 +78,18 @@ namespace Patterns - string Integer::description () const + std::string Integer::description () const { // check whether valid bounds // were specified, and if so // output their values if (lower_bound <= upper_bound) { - ostrstream description; + std::ostrstream description; description << "[Integer range " << lower_bound << "..." << upper_bound << " (inclusive)]" - << ends; + << std::ends; return description.str(); } else @@ -116,9 +116,9 @@ namespace Patterns - bool Double::match (const string &test_string) const + bool Double::match (const std::string &test_string) const { - istrstream str(test_string.c_str()); + std::istrstream str(test_string.c_str()); double d; if (str >> d) { @@ -136,18 +136,18 @@ namespace Patterns - string Double::description () const + std::string Double::description () const { // check whether valid bounds // were specified, and if so // output their values if (lower_bound <= upper_bound) { - ostrstream description; + std::ostrstream description; description << "[Floating point range " << lower_bound << "..." << upper_bound << " (inclusive)]" - << ends; + << std::ends; return description.str(); } else @@ -165,26 +165,26 @@ namespace Patterns - Selection::Selection (const string &seq) + Selection::Selection (const std::string &seq) { sequence = seq; - while (sequence.find(" |") != string::npos) + while (sequence.find(" |") != std::string::npos) sequence.replace (sequence.find(" |"), 2, "|"); - while (sequence.find("| ") != string::npos) + while (sequence.find("| ") != std::string::npos) sequence.replace (sequence.find("| "), 2, "|"); }; - bool Selection::match (const string &test_string) const + bool Selection::match (const std::string &test_string) const { - vector choices; - string tmp(sequence); + std::vector choices; + std::string tmp(sequence); // check the different possibilities - while (tmp.find('|') != string::npos) + while (tmp.find('|') != std::string::npos) { - if (test_string == string(tmp, 0, tmp.find('|'))) + if (test_string == std::string(tmp, 0, tmp.find('|'))) return true; tmp.erase (0, tmp.find('|')+1); @@ -199,7 +199,7 @@ namespace Patterns - string Selection::description () const + std::string Selection::description () const { return sequence; }; @@ -214,40 +214,40 @@ namespace Patterns unsigned int - Selection::memory_consumption () const - { - return (sizeof(PatternBase) + - MemoryConsumption::memory_consumption(sequence)); - }; + Selection::memory_consumption () const + { + return (sizeof(PatternBase) + + MemoryConsumption::memory_consumption(sequence)); + }; - MultipleSelection::MultipleSelection (const string &seq) + MultipleSelection::MultipleSelection (const std::string &seq) { - Assert (seq.find (",") == string::npos, ExcCommasNotAllowed(seq.find(","))); + Assert (seq.find (",") == std::string::npos, ExcCommasNotAllowed(seq.find(","))); sequence = seq; - while (sequence.find(" |") != string::npos) + while (sequence.find(" |") != std::string::npos) sequence.replace (sequence.find(" |"), 2, "|"); - while (sequence.find("| ") != string::npos) + while (sequence.find("| ") != std::string::npos) sequence.replace (sequence.find("| "), 2, "|"); }; - bool MultipleSelection::match (const string &test_string_list) const + bool MultipleSelection::match (const std::string &test_string_list) const { - string tmp = test_string_list; - list split_list; + std::string tmp = test_string_list; + std::list split_list; // first split the input list while (tmp.length() != 0) { - string name; + std::string name; name = tmp; - if (name.find(",") != string::npos) + if (name.find(",") != std::string::npos) { - name.erase (name.find(","), string::npos); + name.erase (name.find(","), std::string::npos); tmp.erase (0, test_string_list.find(",")+1); } else @@ -264,15 +264,15 @@ namespace Patterns // check the different possibilities - for (list::const_iterator test_string = split_list.begin(); + for (std::list::const_iterator test_string = split_list.begin(); test_string != split_list.end(); ++test_string) { bool string_found = false; tmp = sequence; - while (tmp.find('|') != string::npos) + while (tmp.find('|') != std::string::npos) { - if (*test_string == string(tmp, 0, tmp.find('|'))) + if (*test_string == std::string(tmp, 0, tmp.find('|'))) { // string found, quit // loop. don't change @@ -298,7 +298,7 @@ namespace Patterns - string MultipleSelection::description () const + std::string MultipleSelection::description () const { return sequence; }; @@ -313,11 +313,11 @@ namespace Patterns unsigned int - MultipleSelection::memory_consumption () const - { - return (sizeof(PatternBase) + - MemoryConsumption::memory_consumption(sequence)); - }; + MultipleSelection::memory_consumption () const + { + return (sizeof(PatternBase) + + MemoryConsumption::memory_consumption(sequence)); + }; @@ -340,14 +340,14 @@ namespace Patterns - bool Anything::match (const string &) const + bool Anything::match (const std::string &) const { return true; }; - string Anything::description () const + std::string Anything::description () const { return "[Anything]"; }; @@ -374,11 +374,11 @@ ParameterHandler::~ParameterHandler () -bool ParameterHandler::read_input (istream &input) +bool ParameterHandler::read_input (std::istream &input) { AssertThrow (input, ExcIO()); - string line; + std::string line; int lineno=0; while (input) { @@ -393,17 +393,17 @@ bool ParameterHandler::read_input (istream &input) -bool ParameterHandler::read_input (const string &filename) +bool ParameterHandler::read_input (const std::string &filename) { - ifstream input (filename.c_str()); + std::ifstream input (filename.c_str()); if (!input) { - cerr << "ParameterHandler::read_input: could not open file <" - << filename << "> for reading." << endl - << "Trying to make file <" - << filename << "> with default values for you." << endl; + std::cerr << "ParameterHandler::read_input: could not open file <" + << filename << "> for reading." << std::endl + << "Trying to make file <" + << filename << "> with default values for you." << std::endl; - ofstream output (filename.c_str()); + std::ofstream output (filename.c_str()); if (output) { print_parameters (output, Text); @@ -419,12 +419,12 @@ bool ParameterHandler::read_input (const string &filename) bool ParameterHandler::read_input_from_string (const char *s) { - // if empty string then exit + // if empty std::string then exit // with success if ((s == 0) || ((*s) == 0)) return true; - string line; - string input (s); + std::string line; + std::string input (s); int lineno=0; // if necessary append a newline char @@ -458,7 +458,7 @@ void ParameterHandler::clear () defaults.entries.clear (); changed_entries.entries.clear (); - map::iterator p; + std::map::iterator p; for (p=defaults.subsections.begin(); p!=defaults.subsections.end(); ++p) delete p->second; @@ -475,8 +475,8 @@ void ParameterHandler::clear () -bool ParameterHandler::declare_entry (const string &entry, - const string &default_value, +bool ParameterHandler::declare_entry (const std::string &entry, + const std::string &default_value, const Patterns::PatternBase &pattern) { Section* p = get_present_defaults_subsection (); @@ -506,16 +506,16 @@ bool ParameterHandler::declare_entry (const string &entry, -void ParameterHandler::enter_subsection (const string &subsection) +void ParameterHandler::enter_subsection (const std::string &subsection) { Section* pd = get_present_defaults_subsection (); // does subsection already exist? if (pd->subsections.find (subsection) == pd->subsections.end()) { - // subsection does not yet exist: - // create entry in Defaults and - // changed_entries trees + // subsection does not yet exist: + // create entry in Defaults and + // changed_entries trees pd->subsections[subsection] = new Section(); Section* pc = get_present_changed_subsection (); @@ -547,7 +547,7 @@ bool ParameterHandler::leave_subsection () -const string & ParameterHandler::get (const string &entry_string) const +const std::string & ParameterHandler::get (const std::string &entry_string) const { const Section* pd = get_present_defaults_subsection (); const Section* pc = get_present_changed_subsection (); @@ -559,7 +559,7 @@ const string & ParameterHandler::get (const string &entry_string) const if (pd->entries.find (entry_string) == pd->entries.end()) { - static const string empty_string; + static const std::string empty_string; return empty_string; }; @@ -578,9 +578,9 @@ const string & ParameterHandler::get (const string &entry_string) const -long int ParameterHandler::get_integer (const string &entry_string) const +long int ParameterHandler::get_integer (const std::string &entry_string) const { - string s = get (entry_string); + std::string s = get (entry_string); char *endptr; long int i = strtol (s.c_str(), &endptr, 10); // assert there was no error @@ -592,9 +592,9 @@ long int ParameterHandler::get_integer (const string &entry_string) const -double ParameterHandler::get_double (const string &entry_string) const +double ParameterHandler::get_double (const std::string &entry_string) const { - string s = get (entry_string); + std::string s = get (entry_string); char *endptr; double d = strtod (s.c_str(), &endptr); // assert there was no error @@ -606,9 +606,9 @@ double ParameterHandler::get_double (const string &entry_string) const -bool ParameterHandler::get_bool (const string &entry_string) const +bool ParameterHandler::get_bool (const std::string &entry_string) const { - string s = get(entry_string); + std::string s = get(entry_string); AssertThrow ((s=="true") || (s=="false"), ExcConversionError(s)); if (s=="true") @@ -619,7 +619,7 @@ bool ParameterHandler::get_bool (const string &entry_string) const -ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style) +std::ostream & ParameterHandler::print_parameters (std::ostream &out, OutputStyle style) { // assert that only known formats are // given as "style" @@ -630,14 +630,14 @@ ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style) switch (style) { case Text: - out << "#Listing of Parameters" << endl - << "#---------------------" << endl; + out << "#Listing of Parameters" << std::endl + << "#---------------------" << std::endl; break; case LaTeX: out << "\\subsubsection*{Listing of parameters}"; - out << endl << endl; + out << std::endl << std::endl; out << "\\begin{itemize}" - << endl; + << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -651,7 +651,7 @@ ostream & ParameterHandler::print_parameters (ostream &out, OutputStyle style) case Text: break; case LaTeX: - out << "\\end{itemize}" << endl; + out << "\\end{itemize}" << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -673,7 +673,7 @@ ParameterHandler::log_parameters (LogStream &out) -void ParameterHandler::print_parameters_section (ostream &out, +void ParameterHandler::print_parameters_section (std::ostream &out, const OutputStyle style, const unsigned int indent_level) { @@ -706,14 +706,14 @@ void ParameterHandler::print_parameters_section (ostream &out, switch (style) { case Text: - out << setw(indent_level*2) << "" + out << std::setw(indent_level*2) << "" << "set " << ptr->first - << setw(longest_entry-ptr->first.length()+3) << " = " + << std::setw(longest_entry-ptr->first.length()+3) << " = " << pc->entries[ptr->first].first << " #" << pd->entries[ptr->first].first - << endl; + << std::endl; break; case LaTeX: out << "\\item {\\bf " << ptr->first << ":} " @@ -721,7 +721,7 @@ void ParameterHandler::print_parameters_section (ostream &out, << " ({\\it default:} " << pd->entries[ptr->first].first << ")" - << endl; + << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -731,16 +731,16 @@ void ParameterHandler::print_parameters_section (ostream &out, switch (style) { case Text: - out << setw(indent_level*2) << "" + out << std::setw(indent_level*2) << "" << "set " << ptr->first - << setw(longest_entry-ptr->first.length()+3) << "= " - << ptr->second.first << endl; + << std::setw(longest_entry-ptr->first.length()+3) << "= " + << ptr->second.first << std::endl; break; case LaTeX: out << "\\item {\\bf " << ptr->first << ":} " << ptr->second.first - << endl; + << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -749,22 +749,22 @@ void ParameterHandler::print_parameters_section (ostream &out, // now transverse subsections tree - map::const_iterator ptrss; + std::map::const_iterator ptrss; for (ptrss = pd->subsections.begin(); ptrss != pd->subsections.end(); ++ptrss) { switch (style) { case Text: - out << setw(indent_level*2) << "" - << "subsection " << ptrss->first << endl; + out << std::setw(indent_level*2) << "" + << "subsection " << ptrss->first << std::endl; break; case LaTeX: - out << endl + out << std::endl << "\\item {\\bf " << "Subsection " << ptrss->first - << "}" << endl + << "}" << std::endl << "\\begin{itemize}" - << endl; + << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -777,20 +777,20 @@ void ParameterHandler::print_parameters_section (ostream &out, case Text: // write end of subsection. one // blank line after each subsection - out << setw(indent_level*2) << "" - << "end" << endl - << endl; + out << std::setw(indent_level*2) << "" + << "end" << std::endl + << std::endl; // if this is a toplevel // subsection, then have two // newlines if (indent_level == 0) - out << endl; + out << std::endl; break; case LaTeX: out << "\\end{itemize}" - << endl; + << std::endl; break; default: Assert (false, ExcNotImplemented()); @@ -813,19 +813,19 @@ void ParameterHandler::log_parameters_section (LogStream &out) { if ((pc->entries.find(ptr->first) != pc->entries.end()) && (pc->entries[ptr->first].first != pd->entries[ptr->first].first)) - // check whether this entry is listed - // in the Changed tree and actually - // differs from the default value - out << ptr->first << ": " - << pc->entries[ptr->first].first << endl; + // check whether this entry is listed + // in the Changed tree and actually + // differs from the default value + out << ptr->first << ": " + << pc->entries[ptr->first].first << endl; else - out << ptr->first << ": " - << ptr->second.first << endl; + out << ptr->first << ": " + << ptr->second.first << endl; }; // now transverse subsections tree - map::const_iterator ptrss; + std::map::const_iterator ptrss; for (ptrss = pd->subsections.begin(); ptrss != pd->subsections.end(); ++ptrss) { out.push(ptrss->first); @@ -838,17 +838,17 @@ void ParameterHandler::log_parameters_section (LogStream &out) -bool ParameterHandler::scan_line (string line, +bool ParameterHandler::scan_line (std::string line, const unsigned int lineno) { // if there is a comment, delete it - if (line.find('#') != string::npos) - line.erase (line.find("#"), string::npos); + if (line.find('#') != std::string::npos) + line.erase (line.find("#"), std::string::npos); // replace every whitespace sequence // by " " - while (line.find('\t') != string::npos) + while (line.find('\t') != std::string::npos) line.replace (line.find('\t'), 1, " "); - while (line.find(" ") != string::npos) + while (line.find(" ") != std::string::npos) line.erase (line.find(" "), 1); // now every existing whitespace // should be exactly one ' '; @@ -865,19 +865,19 @@ bool ParameterHandler::scan_line (string line, (line.find ("subsection ") == 0)) { // delete this prefix - line.erase (0, string("subsection").length()+1); + line.erase (0, std::string("subsection").length()+1); - string SecName = line; + std::string SecName = line; Section* pc = get_present_changed_subsection (); // check whether subsection exists if (pc->subsections.find(SecName) == pc->subsections.end()) { - cerr << "Line " << lineno << ": There is no such subsection to be entered:" << endl; + std::cerr << "Line " << lineno << ": There is no such subsection to be entered:" << std::endl; for (unsigned int i=0; ientries[entry_name].second->match(entry_value)) { - cerr << "Line " << lineno << ":" << endl - << " The entry value" << endl - << " " << entry_value << endl - << " for the entry named" << endl - << " " << entry_name << endl - << " does not match the given pattern" << endl - << " " << pd->entries[entry_name].second->description() << endl; + std::cerr << "Line " << lineno << ":" << std::endl + << " The entry value" << std::endl + << " " << entry_value << std::endl + << " for the entry named" << std::endl + << " " << entry_name << std::endl + << " does not match the given pattern" << std::endl + << " " << pd->entries[entry_name].second->description() << std::endl; return false; }; @@ -964,8 +964,8 @@ bool ParameterHandler::scan_line (string line, }; // this line matched nothing known - cerr << "Line " << lineno << ": This line matched nothing known:" << endl - << " " << line << endl; + std::cerr << "Line " << lineno << ": This line matched nothing known:" << std::endl + << " " << line << std::endl; return false; }; @@ -974,7 +974,7 @@ bool ParameterHandler::scan_line (string line, ParameterHandler::Section* ParameterHandler::get_present_defaults_subsection () { Section* sec = &defaults; - vector::const_iterator SecName = subsection_path.begin(); + std::vector::const_iterator SecName = subsection_path.begin(); while (SecName != subsection_path.end()) { @@ -991,7 +991,7 @@ const ParameterHandler::Section* ParameterHandler::get_present_defaults_subsecti { Section* sec = const_cast(&defaults); // not nice, but needs to be and // after all: we do not change @p{sec} - vector::const_iterator SecName = subsection_path.begin(); + std::vector::const_iterator SecName = subsection_path.begin(); while (SecName != subsection_path.end()) { @@ -1007,7 +1007,7 @@ const ParameterHandler::Section* ParameterHandler::get_present_defaults_subsecti ParameterHandler::Section* ParameterHandler::get_present_changed_subsection () { Section* sec = &changed_entries; - vector::iterator SecName = subsection_path.begin(); + std::vector::iterator SecName = subsection_path.begin(); while (SecName != subsection_path.end()) { @@ -1023,7 +1023,7 @@ ParameterHandler::Section* ParameterHandler::get_present_changed_subsection () const ParameterHandler::Section* ParameterHandler::get_present_changed_subsection () const { Section* sec = const_cast(&changed_entries); // same as in get_present_default_s... - vector::const_iterator SecName = subsection_path.begin(); + std::vector::const_iterator SecName = subsection_path.begin(); while (SecName != subsection_path.end()) { @@ -1051,7 +1051,7 @@ ParameterHandler::Section::~Section () { entries.clear (); - map::iterator p; + std::map::iterator p; for (p=subsections.begin(); p!=subsections.end(); ++p) delete p->second; @@ -1069,7 +1069,7 @@ ParameterHandler::Section::memory_consumption () const mem += (MemoryConsumption::memory_consumption (i->first) + MemoryConsumption::memory_consumption (i->second.first) + MemoryConsumption::memory_consumption (*i->second.second)); - for (map::const_iterator i=subsections.begin(); i!=subsections.end(); ++i) + for (std::map::const_iterator i=subsections.begin(); i!=subsections.end(); ++i) mem += (MemoryConsumption::memory_consumption (i->first) + MemoryConsumption::memory_consumption (*(i->second))); return mem; @@ -1089,7 +1089,7 @@ MultipleParameterLoop::~MultipleParameterLoop () -bool MultipleParameterLoop::read_input (istream &input) +bool MultipleParameterLoop::read_input (std::istream &input) { AssertThrow (input, ExcIO()); @@ -1101,12 +1101,12 @@ bool MultipleParameterLoop::read_input (istream &input) -bool MultipleParameterLoop::read_input (const string &filename) +bool MultipleParameterLoop::read_input (const std::string &filename) { return ParameterHandler::read_input (filename); // don't call init_branches, since this read_input // function calls - // MultipleParameterLoop::Readinput(istream &, ostream &) + // MultipleParameterLoop::Readinput(std::istream &, std::ostream &) // which itself calls init_branches. }; @@ -1123,7 +1123,7 @@ bool MultipleParameterLoop::read_input_from_string (const char *s) void MultipleParameterLoop::loop (MultipleParameterLoop::UserClass &uc) { - for (int run_no=0; run_no 0) - for (vector::iterator i=multiple_choices.end()-1; + for (std::vector::iterator i=multiple_choices.end()-1; i >= multiple_choices.begin(); --i) if (i->different_values.size() == 1) multiple_choices.erase (i); @@ -1172,20 +1172,20 @@ void MultipleParameterLoop::init_branches () // number of entries for (unsigned int i=0; isecond.first.find('{') != string::npos) + if (e->second.first.find('{') != std::string::npos) multiple_choices.push_back (Entry(subsection_path, e->first, e->second.first)); // transverse subsections - map::const_iterator s; + std::map::const_iterator s; for (s = sec.subsections.begin(); s != sec.subsections.end(); ++s) { enter_subsection (s->first); @@ -1219,7 +1219,7 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no) { int possibilities = 1; - vector::iterator choice; + std::vector::iterator choice; for (choice = multiple_choices.begin(); choice != multiple_choices.end(); ++choice) @@ -1231,16 +1231,16 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no) // set entry Section* pd = get_present_defaults_subsection (); int selection = (run_no/possibilities) % choice->different_values.size(); - string entry_value; + std::string entry_value; if (choice->type == variant) entry_value = choice->different_values[selection]; else { if (run_no>=choice->different_values.size()) { - cerr << "The given array for entry " - << pd->entries[choice->entry_name].first - << " does not conatin enough elements! Taking empty string instead." << endl; + std::cerr << "The given array for entry " + << pd->entries[choice->entry_name].first + << " does not conatin enough elements! Taking empty string instead." << std::endl; entry_value = ""; } else @@ -1250,15 +1250,15 @@ void MultipleParameterLoop::fill_entry_values (const unsigned int run_no) // check conformance with regex if (!pd->entries[choice->entry_name].second->match(entry_value)) { - cerr << "In run no. " << run_no+1 << ":" << endl - << " The entry value" << endl - << " " << entry_value << endl - << " for the entry named" << endl - << " " << choice->entry_name << endl - << " does not match the given pattern" << endl - << " " << pd->entries[choice->entry_name].second->description() << endl - << " Taking default value" << endl - << " " << pd->entries[choice->entry_name].first << endl; + std::cerr << "In run no. " << run_no+1 << ":" << std::endl + << " The entry value" << std::endl + << " " << entry_value << std::endl + << " for the entry named" << std::endl + << " " << choice->entry_name << std::endl + << " does not match the given pattern" << std::endl + << " " << pd->entries[choice->entry_name].second->description() << std::endl + << " Taking default value" << std::endl + << " " << pd->entries[choice->entry_name].first << std::endl; // select default instead entry_value = pd->entries[choice->entry_name].first; @@ -1299,10 +1299,10 @@ MultipleParameterLoop::memory_consumption () const -MultipleParameterLoop::Entry::Entry (const vector &ssp, - const string& Name, - const string& Value) : - subsection_path (ssp), entry_name(Name), entry_value(Value) +MultipleParameterLoop::Entry::Entry (const std::vector &ssp, + const std::string &Name, + const std::string &Value) : + subsection_path (ssp), entry_name(Name), entry_value(Value) {}; @@ -1313,10 +1313,10 @@ void MultipleParameterLoop::Entry::split_different_values () // part before the opening "{", // the selection itself, final // part after "}" - string prefix (entry_value, 0, entry_value.find('{')); - string multiple(entry_value, entry_value.find('{')+1, - entry_value.rfind('}')-entry_value.find('{')-1); - string postfix (entry_value, entry_value.rfind('}')+1, string::npos); + std::string prefix (entry_value, 0, entry_value.find('{')); + std::string multiple(entry_value, entry_value.find('{')+1, + entry_value.rfind('}')-entry_value.find('{')-1); + std::string postfix (entry_value, entry_value.rfind('}')+1, std::string::npos); // if array entry {{..}}: delete inner // pair of braces if (multiple[0]=='{') @@ -1329,25 +1329,25 @@ void MultipleParameterLoop::Entry::split_different_values () while (multiple[multiple.size()-1] == ' ') multiple.erase (multiple.size()-1,1); // delete spaces around '|' - while (multiple.find(" |") != string::npos) + while (multiple.find(" |") != std::string::npos) multiple.replace (multiple.find(" |"), 2, "|"); - while (multiple.find("| ") != string::npos) + while (multiple.find("| ") != std::string::npos) multiple.replace (multiple.find("| "), 2, "|"); - while (multiple.find('|') != string::npos) + while (multiple.find('|') != std::string::npos) { different_values.push_back (prefix + - string(multiple, 0, multiple.find('|'))+ + std::string(multiple, 0, multiple.find('|'))+ postfix); multiple.erase (0, multiple.find('|')+1); }; // make up the last selection ("while" broke // because there was no '|' any more different_values.push_back (prefix+multiple+postfix); - // finally check whether this was a variant - // entry ({...}) or an array ({{...}}) - if ((entry_value.find("{{") != string::npos) && - (entry_value.find("}}") != string::npos)) + // finally check whether this was a variant + // entry ({...}) or an array ({{...}}) + if ((entry_value.find("{{") != std::string::npos) && + (entry_value.find("}}") != std::string::npos)) type = array; else type = variant; diff --git a/deal.II/base/source/programid.cc b/deal.II/base/source/programid.cc index 788b65764e..9ce7eb2171 100644 --- a/deal.II/base/source/programid.cc +++ b/deal.II/base/source/programid.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/source/quadrature.cc b/deal.II/base/source/quadrature.cc index 3cf6e79823..a5396147eb 100644 --- a/deal.II/base/source/quadrature.cc +++ b/deal.II/base/source/quadrature.cc @@ -34,8 +34,8 @@ Quadrature::Quadrature (const unsigned int n_q) : template -Quadrature::Quadrature (const vector > & points, - const vector & weights) +Quadrature::Quadrature (const std::vector > &points, + const std::vector &weights) : n_quadrature_points(points.size()), quadrature_points(points), weights(weights) @@ -130,7 +130,7 @@ const Point & Quadrature::point (const unsigned int i) const template <> -const vector > & Quadrature<0>::get_points () const +const std::vector > & Quadrature<0>::get_points () const { Assert (false, ExcInternalError()); return quadrature_points; @@ -139,7 +139,7 @@ const vector > & Quadrature<0>::get_points () const template -const vector > & Quadrature::get_points () const +const std::vector > & Quadrature::get_points () const { return quadrature_points; }; @@ -165,7 +165,7 @@ double Quadrature::weight (const unsigned int i) const template -const vector & Quadrature::get_weights () const +const std::vector & Quadrature::get_weights () const { return weights; }; @@ -173,7 +173,7 @@ const vector & Quadrature::get_weights () const template <> -const vector & Quadrature<0>::get_weights () const +const std::vector & Quadrature<0>::get_weights () const { Assert (false, ExcInternalError()); return weights; @@ -192,9 +192,9 @@ Quadrature::memory_consumption () const template <> -void QProjector<2>::project_to_face (const Quadrature<1> &quadrature, - const unsigned int face_no, - vector > &q_points) +void QProjector<2>::project_to_face (const Quadrature<1> &quadrature, + const unsigned int face_no, + std::vector > &q_points) { const unsigned int dim=2; Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim)); @@ -222,9 +222,9 @@ void QProjector<2>::project_to_face (const Quadrature<1> &quadrature, template <> -void QProjector<3>::project_to_face (const Quadrature<2> &quadrature, - const unsigned int face_no, - vector > &q_points) +void QProjector<3>::project_to_face (const Quadrature<2> &quadrature, + const unsigned int face_no, + std::vector > &q_points) { const unsigned int dim=3; Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim)); @@ -271,10 +271,10 @@ void QProjector<3>::project_to_face (const Quadrature<2> &quadrature, template <> -void QProjector<2>::project_to_subface (const Quadrature<1> &quadrature, - const unsigned int face_no, - const unsigned int subface_no, - vector > &q_points) +void QProjector<2>::project_to_subface (const Quadrature<1> &quadrature, + const unsigned int face_no, + const unsigned int subface_no, + std::vector > &q_points) { const unsigned int dim=2; Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim)); @@ -345,10 +345,10 @@ void QProjector<2>::project_to_subface (const Quadrature<1> &quadrature, template <> -void QProjector<3>::project_to_subface (const Quadrature<2> &quadrature, - const unsigned int face_no, - const unsigned int subface_no, - vector > &q_points) +void QProjector<3>::project_to_subface (const Quadrature<2> &quadrature, + const unsigned int face_no, + const unsigned int subface_no, + std::vector > &q_points) { const unsigned int dim=3; Assert (face_no<2*dim, ExcIndexRange (face_no, 0, 2*dim)); @@ -503,14 +503,14 @@ void QProjector<3>::project_to_subface (const Quadrature<2> &quadrature, template void -QProjector::project_to_faces (const Quadrature &quadrature, - vector > &q_points) +QProjector::project_to_faces (const Quadrature &quadrature, + std::vector > &q_points) { unsigned int npt = quadrature.n_quadrature_points; unsigned int nf = GeometryInfo::faces_per_cell; q_points.resize (npt*nf); - vector > help(npt); + std::vector > help(npt); unsigned k=0; for (unsigned int i=0;i::project_to_faces (const Quadrature &quadrature, template void -QProjector::project_to_subfaces (const Quadrature &quadrature, - vector > &q_points) +QProjector::project_to_subfaces (const Quadrature &quadrature, + std::vector > &q_points) { unsigned int npt = quadrature.n_quadrature_points; unsigned int nf = GeometryInfo::faces_per_cell; unsigned int nc = GeometryInfo::subfaces_per_face; q_points.resize (npt*nf*nc); - vector > help(npt); + std::vector > help(npt); unsigned k=0; for (unsigned int i=0;i::value() const template -void TableEntry::write_tex (ostream &out) const +void TableEntry::write_tex (std::ostream &out) const { out << val; } template -void TableEntry::write_text (ostream &out) const +void TableEntry::write_text (std::ostream &out) const { out << val; } @@ -57,7 +57,7 @@ void TableEntry::write_text (ostream &out) const /*---------------------------------------------------------------------*/ -TableHandler::Column::Column(const string &tex_caption): +TableHandler::Column::Column(const std::string &tex_caption): tex_caption(tex_caption), tex_format("c"), precision(4), @@ -90,32 +90,33 @@ TableHandler::TableHandler() template -void TableHandler::add_value (const string &key, +void TableHandler::add_value (const std::string &key, const number value) { if (!columns.count(key)) { - pair new_column(key, Column(key)); + std::pair new_column(key, Column(key)); columns.insert(new_column); column_order.push_back(key); } TableEntry *entry_ptr=new TableEntry(value); - const map::iterator col_iter=columns.find(key); + const std::map::iterator col_iter=columns.find(key); Assert(col_iter!=columns.end(), ExcInternalError()); col_iter->second.entries.push_back(entry_ptr); } -void TableHandler::add_column_to_supercolumn (const string &key, - const string &superkey) +void TableHandler::add_column_to_supercolumn (const std::string &key, + const std::string &superkey) { Assert(columns.count(key), ExcColumnNotExistent(key)); if (!supercolumns.count(superkey)) { - pair > new_column(superkey, vector()); + std::pair > new_column(superkey, + std::vector()); supercolumns.insert(new_column); // replace key in column_order // by superkey @@ -130,7 +131,7 @@ void TableHandler::add_column_to_supercolumn (const string &key, { // remove key from column_order // for erase we need an iterator - for (vector::iterator order_iter=column_order.begin(); + for (std::vector::iterator order_iter=column_order.begin(); order_iter!=column_order.end(); ++order_iter) if (*order_iter==key) { @@ -144,7 +145,7 @@ void TableHandler::add_column_to_supercolumn (const string &key, supercolumns[superkey].push_back(key); // By default set the // tex_supercaption to superkey - pair new_tex_supercaption(superkey, superkey); + std::pair new_tex_supercaption(superkey, superkey); tex_supercaptions.insert(new_tex_supercaption); } else @@ -152,7 +153,7 @@ void TableHandler::add_column_to_supercolumn (const string &key, } -void TableHandler::set_column_order (const vector &new_order) +void TableHandler::set_column_order (const std::vector &new_order) { for (unsigned int j=0; j &new_order) } -void TableHandler::set_tex_caption (const string &key, - const string &tex_caption) +void TableHandler::set_tex_caption (const std::string &key, + const std::string &tex_caption) { Assert(columns.count(key), ExcColumnNotExistent(key)); columns[key].tex_caption=tex_caption; } -void TableHandler::set_tex_supercaption (const string &superkey, - const string &tex_supercaption) +void TableHandler::set_tex_supercaption (const std::string &superkey, + const std::string &tex_supercaption) { Assert(supercolumns.count(superkey), ExcSuperColumnNotExistent(superkey)); Assert(tex_supercaptions.count(superkey), ExcInternalError()); @@ -179,8 +180,8 @@ void TableHandler::set_tex_supercaption (const string &superkey, } -void TableHandler::set_tex_format (const string &key, - const string &tex_format) +void TableHandler::set_tex_format (const std::string &key, + const std::string &tex_format) { Assert(columns.count(key), ExcColumnNotExistent(key)); Assert(tex_format=="l" || tex_format=="c" || tex_format=="r", @@ -189,7 +190,7 @@ void TableHandler::set_tex_format (const string &key, } -void TableHandler::set_precision (const string &key, +void TableHandler::set_precision (const std::string &key, unsigned int precision) { Assert(columns.count(key), ExcColumnNotExistent(key)); @@ -197,7 +198,7 @@ void TableHandler::set_precision (const string &key, } -void TableHandler::set_scientific (const string &key, +void TableHandler::set_scientific (const std::string &key, bool scientific) { Assert(columns.count(key), ExcColumnNotExistent(key)); @@ -205,28 +206,28 @@ void TableHandler::set_scientific (const string &key, } -void TableHandler::write_text(ostream &out) const +void TableHandler::write_text(std::ostream &out) const { - vector sel_columns; + std::vector sel_columns; get_selected_columns(sel_columns); // write the caption line for (unsigned int j=0; j >::const_iterator + const std::map >::const_iterator super_iter=supercolumns.find(key); if (super_iter!=supercolumns.end()) // if supercolumn { - vector::const_iterator col_key=super_iter->second.begin(); + std::vector::const_iterator col_key=super_iter->second.begin(); for (;col_key!=super_iter->second.end(); ++col_key) { - const map::const_iterator + const std::map::const_iterator col_iter=columns.find(*col_key); if (col_iter->second.scientific && col_iter->second.precision>1) @@ -237,7 +238,7 @@ void TableHandler::write_text(ostream &out) const } else { - const map::const_iterator + const std::map::const_iterator col_iter=columns.find(key); if (col_iter->second.scientific && col_iter->second.precision>1) @@ -250,12 +251,12 @@ void TableHandler::write_text(ostream &out) const if (key.size()>column_string_size) key.erase(column_string_size); - out.setf(ios::left); - out << setw(column_string_size) + out.setf(std::ios::left); + out << std::setw(column_string_size) // << setfill('*') << key.c_str() << "\t"; } - out << endl; + out << std::endl; const unsigned int nrows=n_rows(); for (unsigned int i=0; i::const_iterator + const std::map::const_iterator col_iter=columns.find(key); Assert(col_iter!=columns.end(), ExcInternalError()); const Column &column=col_iter->second; - out << setprecision(column.precision); + out << std::setprecision(column.precision); if (col_iter->second.scientific) - out.setf(ios::scientific, ios::floatfield); + out.setf(std::ios::scientific, std::ios::floatfield); else - out.setf(ios::fixed, ios::floatfield); + out.setf(std::ios::fixed, std::ios::floatfield); column.entries[i]->write_tex(out); if (j sel_columns; + std::vector sel_columns; get_selected_columns(sel_columns); // write the column formats for (unsigned int j=0; j >::const_iterator + const std::map >::const_iterator super_iter=supercolumns.find(key); if (super_iter!=supercolumns.end()) @@ -314,7 +315,7 @@ void TableHandler::write_tex(ofstream &out) const for (unsigned int k=0; k::const_iterator + const std::map::const_iterator col_iter=columns.find(super_iter->second[k]); Assert(col_iter!=columns.end(), ExcInternalError()); @@ -324,35 +325,35 @@ void TableHandler::write_tex(ofstream &out) const else { // avoid `columns[key]'; - const map::const_iterator + const std::map::const_iterator col_iter=columns.find(key); Assert(col_iter!=columns.end(), ExcInternalError()); out << col_iter->second.tex_format << "|"; } } - out << "} \\hline" << endl; + out << "} \\hline" << std::endl; // write the caption line of the table for (unsigned int j=0; j >::const_iterator + std::string key=column_order[j]; + const std::map >::const_iterator super_iter=supercolumns.find(key); if (super_iter!=supercolumns.end()) { const unsigned int n_subcolumns=super_iter->second.size(); // avoid use of `tex_supercaptions[key]' - map::const_iterator + std::map::const_iterator tex_super_cap_iter=tex_supercaptions.find(key); - out << endl << "\\multicolumn{" << n_subcolumns << "}{|c|}{" + out << std::endl << "\\multicolumn{" << n_subcolumns << "}{|c|}{" << tex_super_cap_iter->second << "}"; } else { // col_iter->second=columns[col]; - const map::const_iterator + const std::map::const_iterator col_iter=columns.find(key); Assert(col_iter!=columns.end(), ExcInternalError()); out << col_iter->second.tex_caption; @@ -360,7 +361,7 @@ void TableHandler::write_tex(ofstream &out) const if (j::const_iterator + const std::map::const_iterator col_iter=columns.find(key); Assert(col_iter!=columns.end(), ExcInternalError()); const Column &column=col_iter->second; - out << setprecision(column.precision); + out << std::setprecision(column.precision); if (col_iter->second.scientific) - out.setf(ios::scientific, ios::floatfield); + out.setf(std::ios::scientific, std::ios::floatfield); else - out.setf(ios::fixed, ios::floatfield); + out.setf(std::ios::fixed, std::ios::floatfield); column.entries[i]->write_tex(out); if (j::const_iterator col_iter=columns.begin(); + std::map::const_iterator col_iter=columns.begin(); unsigned int n=col_iter->second.entries.size(); - string first_name=col_iter->first; + std::string first_name=col_iter->first; for (++col_iter; col_iter!=columns.end(); ++col_iter) Assert(col_iter->second.entries.size()==n, @@ -419,14 +420,14 @@ unsigned int TableHandler::n_rows() const } -void TableHandler::get_selected_columns(vector &sel_columns) const +void TableHandler::get_selected_columns(std::vector &sel_columns) const { sel_columns.clear(); for (unsigned int j=0; j >::const_iterator + std::string key=column_order[j]; + const std::map >::const_iterator super_iter=supercolumns.find(key); if (super_iter!=supercolumns.end()) @@ -435,7 +436,7 @@ void TableHandler::get_selected_columns(vector &sel_columns) const const unsigned int n_subcolumns=super_iter->second.size(); for (unsigned int j=0; jsecond[j]; + const std::string subkey=super_iter->second[j]; Assert(columns.count(subkey), ExcInternalError()); sel_columns.push_back(subkey); } @@ -447,7 +448,7 @@ void TableHandler::get_selected_columns(vector &sel_columns) const sel_columns.push_back(key); } } - cout << endl; + std::cout << std::endl; } @@ -456,19 +457,19 @@ template class TableEntry; template class TableEntry; template class TableEntry; template class TableEntry; -template class TableEntry; +template class TableEntry; template -void TableHandler::add_value(const string &, double); +void TableHandler::add_value(const std::string &, double); template -void TableHandler::add_value(const string &, int); +void TableHandler::add_value(const std::string &, int); template -void TableHandler::add_value(const string &, unsigned int); +void TableHandler::add_value(const std::string &, unsigned int); template -void TableHandler::add_value(const string &, string); +void TableHandler::add_value(const std::string &, std::string); diff --git a/deal.II/base/source/tensor.cc b/deal.II/base/source/tensor.cc index 2a84b3809c..e1cb7d13d0 100644 --- a/deal.II/base/source/tensor.cc +++ b/deal.II/base/source/tensor.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/base/source/tensor_function.cc b/deal.II/base/source/tensor_function.cc index b19ef8f130..68c111ec72 100644 --- a/deal.II/base/source/tensor_function.cc +++ b/deal.II/base/source/tensor_function.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -46,8 +46,8 @@ TensorFunction::value (const Point &) const template void -TensorFunction::value_list (const vector > &points, - vector > &values) const +TensorFunction::value_list (const std::vector > &points, + std::vector > &values) const { Assert (values.size() == points.size(), ExcDimensionMismatch(values.size(), points.size())); @@ -68,8 +68,8 @@ TensorFunction::gradient (const Point &) const template void -TensorFunction::gradient_list (const vector > &points, - vector > &gradients) const +TensorFunction::gradient_list (const std::vector > &points, + std::vector > &gradients) const { Assert (gradients.size() == points.size(), ExcDimensionMismatch(gradients.size(), points.size())); diff --git a/deal.II/base/source/thread_management.cc b/deal.II/base/source/thread_management.cc index e761faf658..801cdee5c2 100644 --- a/deal.II/base/source/thread_management.cc +++ b/deal.II/base/source/thread_management.cc @@ -179,7 +179,7 @@ namespace Threads - vector > + std::vector > split_interval (const unsigned int begin, const unsigned int end, const unsigned int n_intervals) @@ -190,7 +190,7 @@ namespace Threads const unsigned int n_elements_per_interval = n_elements / n_intervals; const unsigned int residual = n_elements % n_intervals; - vector > return_values (n_intervals); + std::vector > return_values (n_intervals); return_values[0].first = begin; for (unsigned int i=0; i, * to a @ref{DoFHandler} object. */ DoFObjectAccessor (Triangulation *tria, - const int level, - const int index, - const AccessorData *local_data) : + const int level, + const int index, + const AccessorData *local_data) : DoFAccessor (local_data), - DoFObjectAccessor_Inheritance::BaseClass (tria,level,index) {}; + DoFObjectAccessor_Inheritance::BaseClass (tria,level,index) {}; /** * Index of the @p{i}th degree @@ -291,7 +291,7 @@ class DoFObjectAccessor : public DoFAccessor, * right size before being passed * to this function. */ - void get_dof_indices (vector &dof_indices) const; + void get_dof_indices (std::vector &dof_indices) const; /** * Return the values of the given vector @@ -504,7 +504,7 @@ class DoFObjectAccessor<1, dim> : public DoFAccessor, const int index, const AccessorData *local_data) : DoFAccessor (local_data), - DoFObjectAccessor_Inheritance<1,dim>::BaseClass (tria,level,index) {}; + DoFObjectAccessor_Inheritance<1,dim>::BaseClass (tria,level,index) {}; /** * Return the index of the @p{i}th degree @@ -543,7 +543,7 @@ class DoFObjectAccessor<1, dim> : public DoFAccessor, * It is assumed that the vector already * has the right size beforehand. */ - void get_dof_indices (vector &dof_indices) const; + void get_dof_indices (std::vector &dof_indices) const; /** * Return the values of the given vector @@ -688,11 +688,11 @@ class DoFObjectAccessor<2, dim> : public DoFAccessor, * to a @ref{DoFHandler} object. */ DoFObjectAccessor (Triangulation *tria, - const int level, - const int index, - const AccessorData *local_data) : + const int level, + const int index, + const AccessorData *local_data) : DoFAccessor (local_data), - DoFObjectAccessor_Inheritance<2,dim>::BaseClass (tria,level,index) {}; + DoFObjectAccessor_Inheritance<2,dim>::BaseClass (tria,level,index) {}; /** * Return the index of the @p{i}th degree @@ -732,7 +732,7 @@ class DoFObjectAccessor<2, dim> : public DoFAccessor, * It is assumed that the vector already * has the right size beforehand. */ - void get_dof_indices (vector &dof_indices) const; + void get_dof_indices (std::vector &dof_indices) const; /** * Return the values of the given vector @@ -885,11 +885,11 @@ class DoFObjectAccessor<3, dim> : public DoFAccessor, * to a @ref{DoFHandler} object. */ DoFObjectAccessor (Triangulation *tria, - const int level, - const int index, - const AccessorData *local_data) : + const int level, + const int index, + const AccessorData *local_data) : DoFAccessor (local_data), - DoFObjectAccessor_Inheritance<3,dim>::BaseClass (tria,level,index) {}; + DoFObjectAccessor_Inheritance<3,dim>::BaseClass (tria,level,index) {}; /** * Return the index of the @p{i}th degree @@ -929,7 +929,7 @@ class DoFObjectAccessor<3, dim> : public DoFAccessor, * It is assumed that the vector already * has the right size beforehand. */ - void get_dof_indices (vector &dof_indices) const; + void get_dof_indices (std::vector &dof_indices) const; /** * Return the values of the given vector @@ -1090,7 +1090,7 @@ class DoFCellAccessor : public DoFObjectAccessor const int level, const int index, const AccessorData *local_data) : - DoFObjectAccessor (tria,level,index,local_data) {}; + DoFObjectAccessor (tria,level,index,local_data) {}; /** * Return the @p{i}th neighbor as a DoF cell diff --git a/deal.II/deal.II/include/dofs/dof_accessor.templates.h b/deal.II/deal.II/include/dofs/dof_accessor.templates.h index 43c2f7576f..3c351e95ca 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.templates.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -138,7 +138,7 @@ DoFObjectAccessor<1,dim>::vertex_dof_index (const unsigned int vertex, template inline void -DoFObjectAccessor<1,dim>::get_dof_indices (vector &dof_indices) const +DoFObjectAccessor<1,dim>::get_dof_indices (std::vector &dof_indices) const { // since the exception classes are // from a template dependent base @@ -159,7 +159,7 @@ DoFObjectAccessor<1,dim>::get_dof_indices (vector &dof_indices) co const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<2; ++vertex) for (unsigned int d=0; d > DoFObjectAccessor<1,dim>::child (const unsigned int i) const { TriaIterator > q (tria, - present_level+1, - child_index (i), - dof_handler); + present_level+1, + child_index (i), + dof_handler); #ifdef DEBUG if (q.state() != past_the_end) @@ -240,7 +240,7 @@ DoFObjectAccessor<2,dim>::vertex_dof_index (const unsigned int vertex, template inline void -DoFObjectAccessor<2,dim>::get_dof_indices (vector &dof_indices) const +DoFObjectAccessor<2,dim>::get_dof_indices (std::vector &dof_indices) const { Assert (dof_handler != 0, typename DoFAccessor::ExcInvalidObject()); @@ -254,7 +254,7 @@ DoFObjectAccessor<2,dim>::get_dof_indices (vector &dof_indices) co const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<4; ++vertex) for (unsigned int d=0; d > DoFObjectAccessor<2,dim>::child (const unsigned int i) const { TriaIterator > q (tria, - present_level+1, - child_index (i), - dof_handler); + present_level+1, + child_index (i), + dof_handler); #ifdef DEBUG if (q.state() != past_the_end) @@ -357,7 +357,7 @@ DoFObjectAccessor<3,dim>::vertex_dof_index (const unsigned int vertex, template inline void -DoFObjectAccessor<3,dim>::get_dof_indices (vector &dof_indices) const +DoFObjectAccessor<3,dim>::get_dof_indices (std::vector &dof_indices) const { Assert (dof_handler != 0, typename DoFAccessor::ExcInvalidObject()); @@ -373,7 +373,7 @@ DoFObjectAccessor<3,dim>::get_dof_indices (vector &dof_indices) co dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad, dofs_per_hex = dof_handler->get_fe().dofs_per_hex; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<8; ++vertex) for (unsigned int d=0; d > DoFObjectAccessor<3,dim>::child (const unsigned int i) const { TriaIterator > q (tria, - present_level+1, - child_index (i), - dof_handler); + present_level+1, + child_index (i), + dof_handler); #ifdef DEBUG if (q.state() != past_the_end) diff --git a/deal.II/deal.II/include/dofs/dof_constraints.h b/deal.II/deal.II/include/dofs/dof_constraints.h index c713c04821..740c164ed5 100644 --- a/deal.II/deal.II/include/dofs/dof_constraints.h +++ b/deal.II/deal.II/include/dofs/dof_constraints.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -139,8 +139,8 @@ class ConstraintMatrix : public Subscriptor * preceeding function more * several times, but is faster. */ - void add_entries (const unsigned int line, - const vector > &col_val_pairs); + void add_entries (const unsigned int line, + const std::vector > &col_val_pairs); /** * Close the filling of entries. Since the @@ -384,7 +384,7 @@ class ConstraintMatrix : public Subscriptor * not stored in this object and are not * printed. */ - void print (ostream &) const; + void print (std::ostream &) const; /** * Determine an estimate for the @@ -459,7 +459,7 @@ class ConstraintMatrix : public Subscriptor * thereof, the same applies as what is * said for @ref{ConstraintMatrix}@p{::lines}. */ - vector > entries; + std::vector > entries; /** * This operator is a bit @@ -503,7 +503,7 @@ class ConstraintMatrix : public Subscriptor * additionally make usage of this matrix * much slower. */ - vector lines; + std::vector lines; /** * Store whether the arrays are sorted. diff --git a/deal.II/deal.II/include/dofs/dof_constraints.templates.h b/deal.II/deal.II/include/dofs/dof_constraints.templates.h index e82c027bbd..d0d56968b0 100644 --- a/deal.II/deal.II/include/dofs/dof_constraints.templates.h +++ b/deal.II/deal.II/include/dofs/dof_constraints.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -40,12 +40,12 @@ ConstraintMatrix::condense (const SparseMatrix &uncondensed, // its new line number // after compression. If the shift is // -1, this line will be condensed away - vector new_line; + std::vector new_line; new_line.reserve (uncondensed_struct.n_rows()); - vector::const_iterator next_constraint = lines.begin(); - unsigned int shift = 0; + std::vector::const_iterator next_constraint = lines.begin(); + unsigned int shift = 0; const unsigned int n_rows = uncondensed_struct.n_rows(); if (next_constraint == lines.end()) @@ -96,7 +96,7 @@ ConstraintMatrix::condense (const SparseMatrix &uncondensed, { // let c point to the constraint // of this column - vector::const_iterator c = lines.begin(); + std::vector::const_iterator c = lines.begin(); while (c->line != uncondensed_struct.get_column_numbers()[j]) ++c; @@ -115,10 +115,10 @@ ConstraintMatrix::condense (const SparseMatrix &uncondensed, if (new_line[uncondensed_struct.get_column_numbers()[j]] != -1) // column is not constrained for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) - condensed.add (new_line[next_constraint->entries[q].first], - new_line[uncondensed_struct.get_column_numbers()[j]], - uncondensed.global_entry(j) * - next_constraint->entries[q].second); + condensed.add (new_line[next_constraint->entries[q].first], + new_line[uncondensed_struct.get_column_numbers()[j]], + uncondensed.global_entry(j) * + next_constraint->entries[q].second); else // not only this line but @@ -126,17 +126,17 @@ ConstraintMatrix::condense (const SparseMatrix &uncondensed, { // let c point to the constraint // of this column - vector::const_iterator c = lines.begin(); + std::vector::const_iterator c = lines.begin(); while (c->line != uncondensed_struct.get_column_numbers()[j]) ++c; for (unsigned int p=0; p!=c->entries.size(); ++p) for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) - condensed.add (new_line[next_constraint->entries[q].first], - new_line[c->entries[p].first], - uncondensed.global_entry(j) * - next_constraint->entries[q].second * - c->entries[p].second); + condensed.add (new_line[next_constraint->entries[q].first], + new_line[c->entries[p].first], + uncondensed.global_entry(j) * + next_constraint->entries[q].second * + c->entries[p].second); }; ++next_constraint; @@ -162,7 +162,7 @@ ConstraintMatrix::condense (SparseMatrix &uncondensed) const // otherwise, the number states which // line in the constraint matrix handles // this index - vector distribute (sparsity.n_rows(), -1); + std::vector distribute (sparsity.n_rows(), -1); for (unsigned int c=0; c(c); @@ -291,7 +291,7 @@ ConstraintMatrix::condense (BlockSparseMatrix &uncondensed) const // otherwise, the number states which // line in the constraint matrix handles // this index - vector distribute (sparsity.n_rows(), -1); + std::vector distribute (sparsity.n_rows(), -1); for (unsigned int c=0; c(c); @@ -301,7 +301,7 @@ ConstraintMatrix::condense (BlockSparseMatrix &uncondensed) const { // get index of this row // within the blocks - const pair + const std::pair block_index = index_mapping.global_to_local(row); const unsigned int block_row = block_index.first; @@ -457,12 +457,12 @@ ConstraintMatrix::condense (const VectorType &uncondensed, // its new line number // after compression. If the shift is // -1, this line will be condensed away - vector new_line; + std::vector new_line; new_line.reserve (uncondensed.size()); - vector::const_iterator next_constraint = lines.begin(); - unsigned int shift = 0; + std::vector::const_iterator next_constraint = lines.begin(); + unsigned int shift = 0; unsigned int n_rows = uncondensed.size(); if (next_constraint == lines.end()) @@ -528,7 +528,7 @@ ConstraintMatrix::condense (VectorType &vec) const // nothing to do return; - vector::const_iterator next_constraint = lines.begin(); + std::vector::const_iterator next_constraint = lines.begin(); for (unsigned int row=0; rowline) // line must be distributed @@ -559,7 +559,7 @@ ConstraintMatrix::set_zero (VectorType &vec) const // nothing to do return; - vector::const_iterator next_constraint = lines.begin(); + std::vector::const_iterator next_constraint = lines.begin(); for (unsigned int row=0; rowline) { @@ -588,12 +588,12 @@ ConstraintMatrix::distribute (const VectorType &condensed, // its old line number before // distribution. If the shift is // -1, this line was condensed away - vector old_line; + std::vector old_line; old_line.reserve (uncondensed.size()); - vector::const_iterator next_constraint = lines.begin(); - unsigned int shift = 0; + std::vector::const_iterator next_constraint = lines.begin(); + unsigned int shift = 0; unsigned int n_rows = uncondensed.size(); if (next_constraint == lines.end()) @@ -654,7 +654,7 @@ ConstraintMatrix::distribute (VectorType &vec) const { Assert (sorted == true, ExcMatrixNotClosed()); - vector::const_iterator next_constraint = lines.begin(); + std::vector::const_iterator next_constraint = lines.begin(); for (; next_constraint != lines.end(); ++next_constraint) { // make entry in line next_constraint.line diff --git a/deal.II/deal.II/include/dofs/dof_handler.h b/deal.II/deal.II/include/dofs/dof_handler.h index 29cd837b90..2dab1ce981 100644 --- a/deal.II/deal.II/include/dofs/dof_handler.h +++ b/deal.II/deal.II/include/dofs/dof_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -257,7 +257,7 @@ class DoFHandler : public Subscriptor, * for each boundary indicator, which is * guaranteed by the @p{map} data type. */ - typedef map*> FunctionMap; + typedef std::map*> FunctionMap; /** * When the arrays holding the @@ -354,7 +354,7 @@ class DoFHandler : public Subscriptor, * wants to implement an ordering scheme * herself, for example downwind numbering. */ - void renumber_dofs (const vector &new_numbers); + void renumber_dofs (const std::vector &new_numbers); /** * Return the maximum number of @@ -984,7 +984,7 @@ class DoFHandler : public Subscriptor, * consideration. */ unsigned int - n_boundary_dofs (const set &boundary_indicators) const; + n_boundary_dofs (const std::set &boundary_indicators) const; /** * Return a constant reference to the @@ -1137,7 +1137,7 @@ class DoFHandler : public Subscriptor, * @p{levels[]} tree of the @ref{Triangulation} * objects. */ - vector*> levels; + std::vector*> levels; /** * Store the number of dofs created last @@ -1149,7 +1149,7 @@ class DoFHandler : public Subscriptor, * Array to store the indices for degrees * of freedom located at vertices. */ - vector vertex_dofs; + std::vector vertex_dofs; #if (__GNUC__==2) && (__GNUC_MINOR__ < 95) diff --git a/deal.II/deal.II/include/dofs/dof_levels.h b/deal.II/deal.II/include/dofs/dof_levels.h index 931a76de10..1cb6c30f06 100644 --- a/deal.II/deal.II/include/dofs/dof_levels.h +++ b/deal.II/deal.II/include/dofs/dof_levels.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -90,7 +90,7 @@ class DoFLevel<1> * of freedom. See @ref{DoFLevel} for * detailed information. */ - vector line_dofs; + std::vector line_dofs; /** * Determine an estimate for the @@ -117,7 +117,7 @@ class DoFLevel<2> : public DoFLevel<1> * of freedom. See @ref{DoFLevel} for * detailed information. */ - vector quad_dofs; + std::vector quad_dofs; /** * Determine an estimate for the @@ -144,7 +144,7 @@ class DoFLevel<3> : public DoFLevel<2> * of freedom. See @ref{DoFLevel} for * detailed information. */ - vector hex_dofs; + std::vector hex_dofs; /** * Determine an estimate for the diff --git a/deal.II/deal.II/include/dofs/dof_tools.h b/deal.II/deal.II/include/dofs/dof_tools.h index f1caa874d9..83cf803b55 100644 --- a/deal.II/deal.II/include/dofs/dof_tools.h +++ b/deal.II/deal.II/include/dofs/dof_tools.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -265,7 +265,7 @@ class DoFTools */ template static void make_sparsity_pattern (const DoFHandler &dof, - const vector > &mask, + const std::vector > &mask, SparsityPattern &sparsity_pattern); /** @@ -296,9 +296,9 @@ class DoFTools */ template static void - make_boundary_sparsity_pattern (const DoFHandler &dof, - const vector &dof_to_boundary_mapping, - SparsityPattern &sparsity_pattern); + make_boundary_sparsity_pattern (const DoFHandler &dof, + const std::vector &dof_to_boundary_mapping, + SparsityPattern &sparsity_pattern); /** * Write the sparsity structure of the @@ -333,9 +333,9 @@ class DoFTools */ template static void - make_boundary_sparsity_pattern (const DoFHandler& dof, + make_boundary_sparsity_pattern (const DoFHandler &dof, const typename DoFHandler::FunctionMap &boundary_indicators, - const vector &dof_to_boundary_mapping, + const std::vector &dof_to_boundary_mapping, SparsityPattern &sparsity); /** @@ -492,9 +492,9 @@ class DoFTools */ template static void - extract_dofs (const DoFHandler &dof_handler, - const vector &component_select, - vector &selected_dofs); + extract_dofs (const DoFHandler &dof_handler, + const std::vector &component_select, + std::vector &selected_dofs); /** * Do the same thing as @@ -505,8 +505,8 @@ class DoFTools static void extract_level_dofs (const unsigned int level, const MGDoFHandler &dof, - const vector &select, - vector &selected_dofs); + const std::vector &select, + std::vector &selected_dofs); /** * Extract all degrees of freedom @@ -545,10 +545,10 @@ class DoFTools */ template static void - extract_boundary_dofs (const DoFHandler &dof_handler, - const vector &component_select, - vector &selected_dofs, - const set &boundary_indicators = set()); + extract_boundary_dofs (const DoFHandler &dof_handler, + const std::vector &component_select, + std::vector &selected_dofs, + const std::set &boundary_indicators = std::set()); /** * Select all dofs that will be @@ -565,7 +565,7 @@ class DoFTools template static void extract_hanging_node_dofs (const DoFHandler &dof_handler, - vector &selected_dofs); + std::vector &selected_dofs); /** * This function can be used when @@ -826,8 +826,8 @@ class DoFTools */ template static void - map_dof_to_boundary_indices (const DoFHandler &dof_handler, - vector &mapping); + map_dof_to_boundary_indices (const DoFHandler &dof_handler, + std::vector &mapping); /** * Same as the previous function, @@ -842,9 +842,9 @@ class DoFTools */ template static void - map_dof_to_boundary_indices (const DoFHandler &dof_handler, - const set &boundary_indicators, - vector &mapping); + map_dof_to_boundary_indices (const DoFHandler &dof_handler, + const std::set &boundary_indicators, + std::vector &mapping); /** @@ -897,8 +897,8 @@ class DoFTools compute_intergrid_weights (const DoFHandler &coarse_grid, const unsigned int coarse_component, const InterGridMap &coarse_to_fine_grid_map, - const vector > ¶meter_dofs, - const vector &weight_mapping, + const std::vector > ¶meter_dofs, + const std::vector &weight_mapping, FullMatrix &weights); /** @@ -916,8 +916,8 @@ class DoFTools compute_intergrid_weights_1 (const DoFHandler &coarse_grid, const unsigned int coarse_component, const InterGridMap &coarse_to_fine_grid_map, - const vector > ¶meter_dofs, - const vector &weight_mapping, + const std::vector > ¶meter_dofs, + const std::vector &weight_mapping, FullMatrix &weights, const typename DoFHandler::active_cell_iterator &begin, const typename DoFHandler::active_cell_iterator &end); diff --git a/deal.II/deal.II/include/fe/fe.h b/deal.II/deal.II/include/fe/fe.h index e76da58d47..3965d2568b 100644 --- a/deal.II/deal.II/include/fe/fe.h +++ b/deal.II/deal.II/include/fe/fe.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -248,7 +248,7 @@ class FiniteElementBase : public Subscriptor, * this base class' constructor. */ FiniteElementBase (const FiniteElementData &fe_data, - const vector &restriction_is_additive_flags); + const std::vector &restriction_is_additive_flags); /** * Return a readonly reference to the @@ -309,7 +309,8 @@ class FiniteElementBase : public Subscriptor, * component and second index in * component. */ - pair system_to_component_index (unsigned int index) const; + std::pair + system_to_component_index (unsigned int index) const; /** * Compute system index from components on a face. @@ -325,7 +326,8 @@ class FiniteElementBase : public Subscriptor, * component and second index in * component. */ - pair face_system_to_component_index (unsigned int index) const; + std::pair + face_system_to_component_index (unsigned int index) const; /** * The base element establishing a @@ -552,25 +554,25 @@ class FiniteElementBase : public Subscriptor, * Map between linear dofs and * component dofs. */ - vector< pair > system_to_component_table; + std::vector< std::pair > system_to_component_table; /** * Map between linear dofs and * component dofs on face. */ - vector< pair > face_system_to_component_table; + std::vector< std::pair > face_system_to_component_table; /** * Map between component and * linear dofs. */ - vector< vector > component_to_system_table; + std::vector< std::vector > component_to_system_table; /** * Map between component and * linear dofs on a face. */ - vector< vector > face_component_to_system_table; + std::vector< std::vector > face_component_to_system_table; /** * The base element establishing @@ -585,7 +587,7 @@ class FiniteElementBase : public Subscriptor, * shape functions of the base * element. */ - vector component_to_base_table; + std::vector component_to_base_table; /** * This flag determines how the @@ -740,7 +742,7 @@ class FiniteElementBase : public Subscriptor, * There is one flag per * component. */ - const vector restriction_is_additive_flags; + const std::vector restriction_is_additive_flags; }; @@ -1046,7 +1048,7 @@ class FiniteElement : public FiniteElementBase * Constructor */ FiniteElement (const FiniteElementData &fe_data, - const vector &restriction_is_additive_flags); + const std::vector &restriction_is_additive_flags); /** * Destructor. Only declared to @@ -1213,17 +1215,17 @@ class FiniteElement : public FiniteElementBase * absolutely needed. */ virtual void fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, - const bool compute_jacobians, - vector > &jacobians_grad, - const bool compute_jacobians_grad, - vector > &support_points, - const bool compute_support_points, - vector > &q_points, - const bool compute_q_points, - const FullMatrix &shape_values_transform, - const vector > > &shape_grads_transform) const; + const std::vector > &unit_points, + std::vector > &jacobians, + const bool compute_jacobians, + std::vector > &jacobians_grad, + const bool compute_jacobians_grad, + std::vector > &support_points, + const bool compute_support_points, + std::vector > &q_points, + const bool compute_q_points, + const FullMatrix &shape_values_transform, + const std::vector > > &shape_grads_transform) const; /** * Do the same thing that the @@ -1357,22 +1359,22 @@ class FiniteElement : public FiniteElementBase */ virtual void fill_fe_face_values (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - const vector > &global_unit_points, - vector > &jacobians, - const bool compute_jacobians, - vector > &jacobians_grad, - const bool compute_jacobians_grad, - vector > &support_points, - const bool compute_support_points, - vector > &q_points, - const bool compute_q_points, - vector &face_jacobi_determinants, - const bool compute_face_jacobians, - vector > &normal_vectors, - const bool compute_normal_vectors, - const FullMatrix &shape_values_transform, - const vector > > &shape_grads_transform) const; + const std::vector > &unit_points, + const std::vector > &global_unit_points, + std::vector > &jacobians, + const bool compute_jacobians, + std::vector > &jacobians_grad, + const bool compute_jacobians_grad, + std::vector > &support_points, + const bool compute_support_points, + std::vector > &q_points, + const bool compute_q_points, + std::vector &face_jacobi_determinants, + const bool compute_face_jacobians, + std::vector > &normal_vectors, + const bool compute_normal_vectors, + const FullMatrix &shape_values_transform, + const std::vector > > &shape_grads_transform) const; /** * This function does almost the @@ -1416,20 +1418,20 @@ class FiniteElement : public FiniteElementBase virtual void fill_fe_subface_values (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - const vector > &global_unit_points, - vector > &jacobians, - const bool compute_jacobians, - vector > &jacobians_grad, - const bool compute_jacobians_grad, - vector > &q_points, - const bool compute_q_points, - vector &face_jacobi_determinants, - const bool compute_face_jacobians, - vector > &normal_vectors, - const bool compute_normal_vectors, - const FullMatrix &shape_values_transform, - const vector > > &shape_grads_transform) const; + const std::vector > &unit_points, + const std::vector > &global_unit_points, + std::vector > &jacobians, + const bool compute_jacobians, + std::vector > &jacobians_grad, + const bool compute_jacobians_grad, + std::vector > &q_points, + const bool compute_q_points, + std::vector &face_jacobi_determinants, + const bool compute_face_jacobians, + std::vector > &normal_vectors, + const bool compute_normal_vectors, + const FullMatrix &shape_values_transform, + const std::vector > > &shape_grads_transform) const; /** * Return the support points of @@ -1452,7 +1454,7 @@ class FiniteElement : public FiniteElementBase * dimensions, an overwritten * function has to be provided. */ - virtual void get_unit_support_points (vector > &unit_points) const; + virtual void get_unit_support_points (std::vector > &unit_points) const; /** * Compute the off-points of the @@ -1504,7 +1506,7 @@ class FiniteElement : public FiniteElementBase * stored by the triangulation. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Compute the off-points of the @@ -1570,7 +1572,7 @@ class FiniteElement : public FiniteElementBase * function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const =0; + std::vector > &support_points) const =0; /** * This is the second separated function @@ -1593,8 +1595,8 @@ class FiniteElement : public FiniteElementBase * function. */ virtual void get_face_jacobians (const DoFHandler::face_iterator &face, - const vector > &unit_points, - vector &face_jacobi_determinants) const =0; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const =0; /** * Does the same as the above @@ -1614,8 +1616,8 @@ class FiniteElement : public FiniteElementBase */ virtual void get_subface_jacobians (const DoFHandler::face_iterator &face, const unsigned int subface_no, - const vector > &unit_points, - vector &face_jacobi_determinants) const =0; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const =0; /** * Compute the normal vectors to @@ -1643,9 +1645,9 @@ class FiniteElement : public FiniteElementBase * function. */ virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, - const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const =0; + const unsigned int face_no, + const std::vector > &unit_points, + std::vector > &normal_vectors) const =0; /** * Does the same as the above function, @@ -1660,8 +1662,8 @@ class FiniteElement : public FiniteElementBase virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - vector > &normal_vectors) const =0; + const std::vector > &unit_points, + std::vector > &normal_vectors) const =0; /** * Fill in the given matrix with @@ -1944,7 +1946,7 @@ FiniteElementBase::component_to_system_index (unsigned int component, template inline -pair +std::pair FiniteElementBase::system_to_component_index (unsigned int index) const { Assert(index < system_to_component_table.size(), @@ -1972,7 +1974,7 @@ FiniteElementBase::face_component_to_system_index (unsigned int component, template inline -pair +std::pair FiniteElementBase::face_system_to_component_index (unsigned int index) const { Assert(index < face_system_to_component_table.size(), diff --git a/deal.II/deal.II/include/fe/fe_lib.criss_cross.h b/deal.II/deal.II/include/fe/fe_lib.criss_cross.h index 5990beb06e..ca95058de4 100644 --- a/deal.II/deal.II/include/fe/fe_lib.criss_cross.h +++ b/deal.II/deal.II/include/fe/fe_lib.criss_cross.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -231,21 +231,21 @@ class FECrissCross : public FiniteElement * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -284,8 +284,8 @@ class FECrissCross : public FiniteElement * simply returns the length of the face. */ virtual void get_face_jacobians (const DoFHandler::face_iterator &face, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Refer to the base class for detailed @@ -297,8 +297,8 @@ class FECrissCross : public FiniteElement */ virtual void get_subface_jacobians (const DoFHandler::face_iterator &face, const unsigned int subface_no, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Return the normal vectors to the @@ -316,8 +316,8 @@ class FECrissCross : public FiniteElement */ virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Return the normal vectors to the @@ -337,8 +337,8 @@ class FECrissCross : public FiniteElement virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Refer to the base class for detailed @@ -351,17 +351,17 @@ class FECrissCross : public FiniteElement * we use multilinear mappings. */ virtual void fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_grad_transform) const; + const std::vector > > &shape_grad_transform) const; DeclException0 (ExcNotUseful); }; diff --git a/deal.II/deal.II/include/fe/fe_lib.dg.h b/deal.II/deal.II/include/fe/fe_lib.dg.h index 045ad261de..751470a45b 100644 --- a/deal.II/deal.II/include/fe/fe_lib.dg.h +++ b/deal.II/deal.II/include/fe/fe_lib.dg.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -66,21 +66,21 @@ class FEDG_Q0 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -125,7 +125,7 @@ class FEDG_Q1 : public FEQ1 * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; }; @@ -162,7 +162,7 @@ class FEDG_Q2 : public FEQ2 * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; }; @@ -199,7 +199,7 @@ class FEDG_Q3 : public FEQ3 * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; }; @@ -236,7 +236,7 @@ class FEDG_Q4 : public FEQ4 * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; }; diff --git a/deal.II/deal.II/include/fe/fe_lib.dgp.h b/deal.II/deal.II/include/fe/fe_lib.dgp.h index bb0f2a77fc..10978b6474 100644 --- a/deal.II/deal.II/include/fe/fe_lib.dgp.h +++ b/deal.II/deal.II/include/fe/fe_lib.dgp.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -68,21 +68,21 @@ class FEDG_P1 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -162,21 +162,21 @@ class FEDG_P2 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -256,21 +256,21 @@ class FEDG_P3 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -350,21 +350,21 @@ class FEDG_P4 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed diff --git a/deal.II/deal.II/include/fe/fe_lib.lagrange.h b/deal.II/deal.II/include/fe/fe_lib.lagrange.h index 2122262833..22c6a85e62 100644 --- a/deal.II/deal.II/include/fe/fe_lib.lagrange.h +++ b/deal.II/deal.II/include/fe/fe_lib.lagrange.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -85,21 +85,21 @@ class FEQ1 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -262,21 +262,21 @@ class FEQ2 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -383,21 +383,21 @@ class FEQ3 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -506,21 +506,21 @@ class FEQ4 : public FEQ1Mapping * Refer to the base class for detailed * information on this function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed diff --git a/deal.II/deal.II/include/fe/fe_system.h b/deal.II/deal.II/include/fe/fe_system.h index de52dd70b6..123ce93ec0 100644 --- a/deal.II/deal.II/include/fe/fe_system.h +++ b/deal.II/deal.II/include/fe/fe_system.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -185,7 +185,7 @@ class FESystem : public FiniteElement * For the ordering of shape functions * refer to the @p{shape_value} function. */ - virtual void get_unit_support_points (vector > &support_points) const; + virtual void get_unit_support_points (std::vector > &support_points) const; /** * Refer to the base class for detailed @@ -195,14 +195,14 @@ class FESystem : public FiniteElement * refer to the @p{shape_value} function. */ virtual void get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; /** * Refer to the base class for detailed * information on this function. */ virtual void get_face_support_points (const DoFHandler::face_iterator &face, - vector > &support_points) const; + std::vector > &support_points) const; /** * Fill the local mass matrix. The elements @@ -317,8 +317,8 @@ class FESystem : public FiniteElement * underlying object. */ virtual void get_face_jacobians (const DoFHandler::face_iterator &face, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Refer to the base class for detailed @@ -333,8 +333,8 @@ class FESystem : public FiniteElement */ virtual void get_subface_jacobians (const DoFHandler::face_iterator &face, const unsigned int subface_no, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Return the normal vectors to the @@ -352,8 +352,8 @@ class FESystem : public FiniteElement */ virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Return the normal vectors to the @@ -373,8 +373,8 @@ class FESystem : public FiniteElement virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Implementation of the @@ -382,17 +382,17 @@ class FESystem : public FiniteElement * @p{FiniteElement}. */ virtual void fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_grad_transform) const; + const std::vector > > &shape_grad_transform) const; /** * Number of different base @@ -449,7 +449,7 @@ class FESystem : public FiniteElement * Pairs of multiplicity and * element type. */ - typedef pair *, unsigned int> ElementPair; + typedef std::pair *, unsigned int> ElementPair; /** * Pointer to underlying finite @@ -462,7 +462,7 @@ class FESystem : public FiniteElement * created by the constructor and * constant afterwards. */ - vector base_elements; + std::vector base_elements; /** @@ -511,7 +511,7 @@ class FESystem : public FiniteElement * the mixed element consisting of @p{N} * elements of the sub-element @p{fe}. */ - static vector + static std::vector compute_restriction_is_additive_flags (const FiniteElement &fe, const unsigned int N); @@ -519,7 +519,7 @@ class FESystem : public FiniteElement * Same as above for mixed elements * with two different sub-elements. */ - static vector + static std::vector compute_restriction_is_additive_flags (const FiniteElement &fe1, const unsigned int N1, const FiniteElement &fe2, @@ -529,7 +529,7 @@ class FESystem : public FiniteElement * Same as above for mixed elements * with three different sub-elements. */ - static vector + static std::vector compute_restriction_is_additive_flags (const FiniteElement &fe1, const unsigned int N1, const FiniteElement &fe2, @@ -589,7 +589,7 @@ template FESystem::FESystem (const FE &fe, const unsigned int n_elements) : FiniteElement (multiply_dof_numbers(fe, n_elements), compute_restriction_is_additive_flags (fe, n_elements)), - base_elements(1) + base_elements(1) { base_elements[0] = ElementPair(new FE, n_elements); base_elements[0].first -> subscribe (); @@ -605,7 +605,7 @@ FESystem::FESystem (const FE1 &fe1, const unsigned int n1, FiniteElement (multiply_dof_numbers(fe1, n1, fe2, n2), compute_restriction_is_additive_flags (fe1, n1, fe2, n2)), - base_elements(2) + base_elements(2) { Assert(fe1.n_transform_functions() == fe2.n_transform_functions(), ExcElementTransformNotEqual()); @@ -630,7 +630,7 @@ FESystem::FESystem (const FE1 &fe1, const unsigned int n1, compute_restriction_is_additive_flags (fe1, n1, fe2, n2, fe3, n3)), - base_elements(3) + base_elements(3) { Assert(fe1.n_transform_functions() == fe2.n_transform_functions(), ExcElementTransformNotEqual()); diff --git a/deal.II/deal.II/include/fe/fe_tools.h b/deal.II/deal.II/include/fe/fe_tools.h index cdf6f9a159..46860d6e23 100644 --- a/deal.II/deal.II/include/fe/fe_tools.h +++ b/deal.II/deal.II/include/fe/fe_tools.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -37,165 +37,165 @@ template class Vector; class FETools { public: - /** - * Gives the interpolation matrix - * that interpolates a @p{fe1}- - * function to a @p{fe2}-function on - * each cell. The interpolation_matrix - * needs to be of size - * @p{(fe2.dofs_per_cell, fe1.dofs_per_cell)}. - * - * Note, that if the finite element - * space @p{fe1} is a subset of - * the finite element space - * @p{fe2} than the @p{interpolation_matrix} - * is an embedding matrix. - */ - template + /** + * Gives the interpolation matrix + * that interpolates a @p{fe1}- + * function to a @p{fe2}-function on + * each cell. The interpolation_matrix + * needs to be of size + * @p{(fe2.dofs_per_cell, fe1.dofs_per_cell)}. + * + * Note, that if the finite element + * space @p{fe1} is a subset of + * the finite element space + * @p{fe2} than the @p{interpolation_matrix} + * is an embedding matrix. + */ + template static void get_interpolation_matrix(const FiniteElement &fe1, const FiniteElement &fe2, FullMatrix &interpolation_matrix); - /** - * Gives the interpolation matrix - * that interpolates a @p{fe1}- - * function to a @p{fe2}-function, and - * interpolates this to a second - * @p{fe1}-function on - * each cell. The interpolation_matrix - * needs to be of size - * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}. - * - * Note, that this function only - * makes sense if the finite element - * space due to @p{fe1} is not a subset of - * the finite element space due to - * @p{fe2}, as if it were a subset then - * the @p{interpolation_matrix} would be - * only the unit matrix. - */ - template + /** + * Gives the interpolation matrix + * that interpolates a @p{fe1}- + * function to a @p{fe2}-function, and + * interpolates this to a second + * @p{fe1}-function on + * each cell. The interpolation_matrix + * needs to be of size + * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}. + * + * Note, that this function only + * makes sense if the finite element + * space due to @p{fe1} is not a subset of + * the finite element space due to + * @p{fe2}, as if it were a subset then + * the @p{interpolation_matrix} would be + * only the unit matrix. + */ + template static void get_back_interpolation_matrix(const FiniteElement &fe1, const FiniteElement &fe2, FullMatrix &interpolation_matrix); - /** - * Gives the unit matrix minus the - * back interpolation matrix. - * The @p{difference_matrix} - * needs to be of size - * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}. - * - * This function gives - * the matrix that transforms a - * @p{fe1} function $z$ to $z-I_hz$ - * where $I_h$ denotes the interpolation - * operator from the @p{fe1} space to - * the @p{fe2} space. This matrix hence - * is useful to evaluate - * error-representations where $z$ - * denotes the dual solution. - */ - template + /** + * Gives the unit matrix minus the + * back interpolation matrix. + * The @p{difference_matrix} + * needs to be of size + * @p{(fe1.dofs_per_cell, fe1.dofs_per_cell)}. + * + * This function gives + * the matrix that transforms a + * @p{fe1} function $z$ to $z-I_hz$ + * where $I_h$ denotes the interpolation + * operator from the @p{fe1} space to + * the @p{fe2} space. This matrix hence + * is useful to evaluate + * error-representations where $z$ + * denotes the dual solution. + */ + template static void get_interpolation_difference_matrix( const FiniteElement &fe1, const FiniteElement &fe2, FullMatrix &difference_matrix); - /** - * Gives the interpolation of a the - * @p{dof1}-function @p{u1} to a - * @p{dof2}-function @p{u2}. @p{dof1} and - * @p{dof2} need to be @ref{DoFHandler}s - * based on the same triangulation. - * - * If the elements @p{fe1} and @p{fe2} - * are either both continuous or - * both discontinuous then this - * interpolation is the usual point - * interpolation. The same is true - * if @p{fe1} is a continuous and - * @p{fe2} is a discontinuous finite - * element. For the case that @p{fe1} - * is a discontinuous and @p{fe2} is - * a continuous finite element - * there is no point interpolation - * defined at the discontinuities. - * Therefore the meanvalue is taken - * at the DoF values on the - * discontinuities. - */ - template + /** + * Gives the interpolation of a the + * @p{dof1}-function @p{u1} to a + * @p{dof2}-function @p{u2}. @p{dof1} and + * @p{dof2} need to be @ref{DoFHandler}s + * based on the same triangulation. + * + * If the elements @p{fe1} and @p{fe2} + * are either both continuous or + * both discontinuous then this + * interpolation is the usual point + * interpolation. The same is true + * if @p{fe1} is a continuous and + * @p{fe2} is a discontinuous finite + * element. For the case that @p{fe1} + * is a discontinuous and @p{fe2} is + * a continuous finite element + * there is no point interpolation + * defined at the discontinuities. + * Therefore the meanvalue is taken + * at the DoF values on the + * discontinuities. + */ + template static void interpolate(const DoFHandler &dof1, const Vector &u1, const DoFHandler &dof2, Vector &u2); - /** - * Gives the interpolation of the @p{fe1}- - * function @p{u1} to a @p{fe2}-function, and - * interpolates this to a second - * @p{fe1}-function named @p{u1_interpolated}. - * - * Note, that this function only - * makes sense if the finite element - * space due to @p{fe1} is not a subset of - * the finite element space due to - * @p{fe2}, as if it were a subset then - * @p{u1_interpolated} would be equal to @p{u1}. - */ - template + /** + * Gives the interpolation of the @p{fe1}- + * function @p{u1} to a @p{fe2}-function, and + * interpolates this to a second + * @p{fe1}-function named @p{u1_interpolated}. + * + * Note, that this function only + * makes sense if the finite element + * space due to @p{fe1} is not a subset of + * the finite element space due to + * @p{fe2}, as if it were a subset then + * @p{u1_interpolated} would be equal to @p{u1}. + */ + template static void back_interpolate(const DoFHandler &dof1, const Vector &u1, const FiniteElement &fe2, Vector &u1_interpolated); - /** - * Gives $(Id-I_h)z2$ for a given - * @p{fe2}-function @p{z2}, where $I_h$ - * is the interpolation from @p{fe2} - * to @p{fe1}. $(Id-I_h)z2$ is - * denoted by @p{z2_difference}. - */ - template + /** + * Gives $(Id-I_h)z2$ for a given + * @p{fe2}-function @p{z2}, where $I_h$ + * is the interpolation from @p{fe2} + * to @p{fe1}. $(Id-I_h)z2$ is + * denoted by @p{z2_difference}. + */ + template static void interpolation_difference(const DoFHandler &dof1, const Vector &z1, const FiniteElement &fe2, Vector &z1_difference); - /** - * Gives the patchwise - * extrapolation of a @p{dof1} - * function @p{z1} to a @p{dof2} - * function @p{z2}. @p{dof1} and - * @p{dof2} need to be @ref{DoFHandler} - * based on the same triangulation. - * - * This function is interesting for - * e.g. extrapolating patchwise a - * piecewise linear dual solution - * to a piecewise quadratic dual - * solution. - */ - template + /** + * Gives the patchwise + * extrapolation of a @p{dof1} + * function @p{z1} to a @p{dof2} + * function @p{z2}. @p{dof1} and + * @p{dof2} need to be @ref{DoFHandler} + * based on the same triangulation. + * + * This function is interesting for + * e.g. extrapolating patchwise a + * piecewise linear dual solution + * to a piecewise quadratic dual + * solution. + */ + template static void extrapolate(const DoFHandler &dof1, const Vector &z1, const DoFHandler &dof2, Vector &z2); - /** - * Exception - */ - DeclException0 (ExcTriangulationMismatch); + /** + * Exception + */ + DeclException0 (ExcTriangulationMismatch); - /** - * Exception - */ - DeclException4 (ExcMatrixDimensionMismatch, - int, int, int, int, - << "This is a " << arg1 << "x" << arg2 << " matrix, " - << "but should be a " << arg1 << "x" << arg2 << " matrix."); + /** + * Exception + */ + DeclException4 (ExcMatrixDimensionMismatch, + int, int, int, int, + << "This is a " << arg1 << "x" << arg2 << " matrix, " + << "but should be a " << arg1 << "x" << arg2 << " matrix."); }; diff --git a/deal.II/deal.II/include/fe/fe_update_flags.h b/deal.II/deal.II/include/fe/fe_update_flags.h index fb928a9545..96e9d39c1d 100644 --- a/deal.II/deal.II/include/fe/fe_update_flags.h +++ b/deal.II/deal.II/include/fe/fe_update_flags.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/fe/fe_values.h b/deal.II/deal.II/include/fe/fe_values.h index 60721f32f1..5489a9011c 100644 --- a/deal.II/deal.II/include/fe/fe_values.h +++ b/deal.II/deal.II/include/fe/fe_values.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -315,7 +315,7 @@ class FEValuesBase */ template void get_function_values (const InputVector &fe_function, - vector &values) const; + std::vector &values) const; /** * Access to vector valued finite @@ -334,7 +334,7 @@ class FEValuesBase */ template void get_function_values (const InputVector &fe_function, - vector > &values) const; + std::vector > &values) const; /** * Return the gradient of the @p{i}th shape @@ -359,7 +359,7 @@ class FEValuesBase * For the format of this matrix, see the * documentation for the matrix itself. */ - const vector > > & get_shape_grads () const; + const std::vector > > & get_shape_grads () const; /** * Return the gradients of the finite @@ -383,7 +383,7 @@ class FEValuesBase */ template void get_function_grads (const InputVector &fe_function, - vector > &gradients) const; + std::vector > &gradients) const; /** * Return the gradients of the finite @@ -412,7 +412,7 @@ class FEValuesBase */ template void get_function_grads (const InputVector &fe_function, - vector > > &gradients) const; + std::vector > > &gradients) const; /** * Return the 2nd derivatives of @@ -445,7 +445,7 @@ class FEValuesBase * documentation for the matrix * itself. */ - const vector > > & get_shape_2nd_derivatives () const; + const std::vector > > & get_shape_2nd_derivatives () const; /** * Return the tensor of second @@ -466,7 +466,7 @@ class FEValuesBase */ template void get_function_2nd_derivatives (const InputVector &fe_function, - vector > &second_derivatives) const; + std::vector > &second_derivatives) const; /** @@ -493,7 +493,7 @@ class FEValuesBase */ template void get_function_2nd_derivatives (const InputVector &fe_function, - vector > > &second_derivatives) const; + std::vector > > &second_derivatives) const; /** * Return the position of the @p{i}th @@ -514,7 +514,7 @@ class FEValuesBase * Return a pointer to the vector of * quadrature points. */ - const vector > & get_quadrature_points () const; + const std::vector > & get_quadrature_points () const; /** * Return the point in real space where @@ -544,7 +544,7 @@ class FEValuesBase * denoting the location of the trial * functions. */ - const vector > & get_support_points () const; + const std::vector > & get_support_points () const; /** * Return the Jacobi determinant times @@ -569,7 +569,7 @@ class FEValuesBase * quadrature weight at the different * quadrature points. */ - const vector & get_JxW_values () const; + const std::vector & get_JxW_values () const; /** * Return a constant reference to the @@ -642,7 +642,7 @@ class FEValuesBase * is determined by the @p{selected_dataset} * variable. */ - vector > shape_values; + std::vector > shape_values; /** * Store the gradients of the shape @@ -657,7 +657,7 @@ class FEValuesBase * gradients on the real element, rather * than on the reference element. */ - vector > > shape_gradients; + std::vector > > shape_gradients; /** * Store the 2nd derivatives of the shape @@ -668,7 +668,7 @@ class FEValuesBase * gradients on the real element, rather * than on the reference element. */ - vector > > shape_2nd_derivatives; + std::vector > > shape_2nd_derivatives; /** * Store an array of the weights of the @@ -681,7 +681,7 @@ class FEValuesBase * not transformed and are thus the same * for all faces. */ - vector weights; + std::vector weights; /** * Store an array of weights times the @@ -693,7 +693,7 @@ class FEValuesBase * see the general documentation of this * class for more information. */ - vector JxW_values; + std::vector JxW_values; /** * Array of quadrature points. This array @@ -702,7 +702,7 @@ class FEValuesBase * real element, rather than on the * reference element. */ - vector > quadrature_points; + std::vector > quadrature_points; /** * Array of points denoting the off-point @@ -711,7 +711,7 @@ class FEValuesBase * on the unit cell, so no function is * provided for this). */ - vector > support_points; + std::vector > support_points; /** * Store the jacobi matrices at the @@ -726,7 +726,7 @@ class FEValuesBase * transformation of the gradients to the * real cell. */ - vector > jacobi_matrices; + std::vector > jacobi_matrices; /** * Store the derivatives of the jacobi @@ -739,7 +739,7 @@ class FEValuesBase * The same general remarks apply as for * @p{jacobi_matrices}. */ - vector > jacobi_matrices_grad; + std::vector > jacobi_matrices_grad; /** * Store the values of the basis functions @@ -760,7 +760,7 @@ class FEValuesBase * of the @p{i}th transfer basis function * at the @p{j}th quadrature point. */ - vector > shape_values_transform; + std::vector > shape_values_transform; /** * Store which of the data sets in the @@ -876,7 +876,7 @@ class FEValues : public FEValuesBase * of the object and contains the gradients * on the reference element. */ - vector > > unit_shape_gradients; + std::vector > > unit_shape_gradients; /** * Store the 2nd derivatives of the shape @@ -886,7 +886,7 @@ class FEValues : public FEValuesBase * of the object and contains the * derivatives on the reference element. */ - vector > > unit_shape_2nd_derivatives; + std::vector > > unit_shape_2nd_derivatives; /** * Gradients of the basis @@ -894,7 +894,7 @@ class FEValues : public FEValuesBase * Analogous to the @p{shape_values_transform} * array of the base class. */ - vector > > unit_shape_gradients_transform; + std::vector > > unit_shape_gradients_transform; /** * Array of quadrature points in the unit @@ -902,7 +902,7 @@ class FEValues : public FEValuesBase * construction and contains the quadrature * points on the reference element. */ - vector > unit_quadrature_points; + std::vector > unit_quadrature_points; }; @@ -1016,7 +1016,7 @@ class FEFaceValuesBase : public FEValuesBase * vectors to the cell at the * quadrature points. */ - const vector > & get_normal_vectors () const; + const std::vector > & get_normal_vectors () const; /** * Return the present @@ -1045,7 +1045,7 @@ class FEFaceValuesBase : public FEValuesBase * subface, with indices like that: * @p{unit_shape_gradients[face][dof][q_point]} */ - vector > > > unit_shape_gradients; + std::vector > > > unit_shape_gradients; /** * Store the 2nd derivatives of the shape @@ -1055,7 +1055,7 @@ class FEFaceValuesBase : public FEValuesBase * of the object and contains the * derivatives on the reference element. */ - vector > > > unit_shape_2nd_derivatives; + std::vector > > > unit_shape_2nd_derivatives; /** * Gradients of the basis @@ -1063,7 +1063,7 @@ class FEFaceValuesBase : public FEValuesBase * Analogous to the @p{shape_values_transform} * array of the base class. */ - vector > > > unit_shape_gradients_transform; + std::vector > > > unit_shape_gradients_transform; /** * Array of quadrature points on the @@ -1071,7 +1071,7 @@ class FEFaceValuesBase : public FEValuesBase * alike field of the quadrature formula * passed upon construction. */ - vector > unit_face_quadrature_points; + std::vector > unit_face_quadrature_points; /** * Array of quadrature points in the unit @@ -1084,7 +1084,7 @@ class FEFaceValuesBase : public FEValuesBase * those on the unit face, but are stored * as coordinates on the unit cell. */ - vector > > unit_quadrature_points; + std::vector > > unit_quadrature_points; /** * List of values denoting the determinant @@ -1092,14 +1092,14 @@ class FEFaceValuesBase : public FEValuesBase * to the real face or subface. Needed to * actually compute the JxW values. */ - vector face_jacobi_determinants; + std::vector face_jacobi_determinants; /** * List of outward normal vectors at the * quadrature points. This field is filled * in by the finite element class. */ - vector > normal_vectors; + std::vector > normal_vectors; /** * Stores the face or subface, @@ -1348,7 +1348,7 @@ const FullMatrix & FEValuesBase::get_shape_values () const template inline -const vector > > & +const std::vector > > & FEValuesBase::get_shape_grads () const { Assert (update_flags & update_gradients, ExcAccessToUninitializedField()); @@ -1359,7 +1359,7 @@ FEValuesBase::get_shape_grads () const template inline -const vector > > & +const std::vector > > & FEValuesBase::get_shape_2nd_derivatives () const { Assert (update_flags & update_second_derivatives, ExcAccessToUninitializedField()); @@ -1370,7 +1370,7 @@ FEValuesBase::get_shape_2nd_derivatives () const template inline -const vector > & +const std::vector > & FEValuesBase::get_quadrature_points () const { Assert (update_flags & update_q_points, ExcAccessToUninitializedField()); @@ -1381,7 +1381,7 @@ FEValuesBase::get_quadrature_points () const template inline -const vector > & +const std::vector > & FEValuesBase::get_support_points () const { Assert (update_flags & update_support_points, ExcAccessToUninitializedField()); @@ -1392,7 +1392,7 @@ FEValuesBase::get_support_points () const template inline -const vector & +const std::vector & FEValuesBase::get_JxW_values () const { Assert (update_flags & update_JxW_values, ExcAccessToUninitializedField()); @@ -1423,7 +1423,7 @@ FEValuesBase::get_cell() const template inline -const vector > & +const std::vector > & FEFaceValuesBase::get_normal_vectors () const { Assert (update_flags & update_normal_vectors, diff --git a/deal.II/deal.II/include/fe/q1_mapping.h b/deal.II/deal.II/include/fe/q1_mapping.h index 62795946a2..6df25029e8 100644 --- a/deal.II/deal.II/include/fe/q1_mapping.h +++ b/deal.II/deal.II/include/fe/q1_mapping.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -45,7 +45,7 @@ class FEQ1Mapping : public FiniteElement const unsigned int dofs_per_quad, const unsigned int dofs_per_hex, const unsigned int n_components, - const vector &restriction_is_additive_flags); + const std::vector &restriction_is_additive_flags); /** * Transforms the point @p{p} on @@ -95,8 +95,8 @@ class FEQ1Mapping : public FiniteElement * simply returns the length of the face. */ virtual void get_face_jacobians (const DoFHandler::face_iterator &face, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Refer to the base class for detailed @@ -108,8 +108,8 @@ class FEQ1Mapping : public FiniteElement */ virtual void get_subface_jacobians (const DoFHandler::face_iterator &face, const unsigned int subface_no, - const vector > &unit_points, - vector &face_jacobi_determinants) const; + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const; /** * Return the normal vectors to the @@ -127,8 +127,8 @@ class FEQ1Mapping : public FiniteElement */ virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Return the normal vectors to the @@ -148,8 +148,8 @@ class FEQ1Mapping : public FiniteElement virtual void get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - vector > &normal_vectors) const; + const std::vector > &unit_points, + std::vector > &normal_vectors) const; /** * Refer to the base class for detailed @@ -162,17 +162,17 @@ class FEQ1Mapping : public FiniteElement * we use multilinear mappings. */ virtual void fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_grad_transform) const; + const std::vector > > &shape_grad_transform) const; /** * Compute the gradients of the jacobian @@ -181,8 +181,8 @@ class FEQ1Mapping : public FiniteElement * points on the unit cell. */ static void compute_jacobian_gradients (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians); + const std::vector > &unit_points, + std::vector > &jacobians); /** diff --git a/deal.II/deal.II/include/grid/.cvsignore b/deal.II/deal.II/include/grid/.cvsignore index fa946188cb..73ffdb43a3 100644 --- a/deal.II/deal.II/include/grid/.cvsignore +++ b/deal.II/deal.II/include/grid/.cvsignore @@ -1 +1 @@ -forward_declarations.h + forward_declarations.h diff --git a/deal.II/deal.II/include/grid/geometry_info.h b/deal.II/deal.II/include/grid/geometry_info.h index 008ccb3e38..c5f7031b74 100644 --- a/deal.II/deal.II/include/grid/geometry_info.h +++ b/deal.II/deal.II/include/grid/geometry_info.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -37,7 +37,8 @@ template struct GeometryInfo { /** - * Present dimension. Does not look useful, but might be. + * Present dimension. Does not + * look useful, but might be. */ static const unsigned int dim = _dim; diff --git a/deal.II/deal.II/include/grid/grid_generator.h b/deal.II/deal.II/include/grid/grid_generator.h index e46d51dbaa..dc548d9d1c 100644 --- a/deal.II/deal.II/include/grid/grid_generator.h +++ b/deal.II/deal.II/include/grid/grid_generator.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/grid_in.h b/deal.II/deal.II/include/grid/grid_in.h index d8e96f44b3..8962f5fce9 100644 --- a/deal.II/deal.II/include/grid/grid_in.h +++ b/deal.II/deal.II/include/grid/grid_in.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -149,20 +149,20 @@ class GridIn * Read grid data from an ucd file. * Numerical data is ignored. */ - void read_ucd (istream &); + void read_ucd (std::istream &); /** * Read grid data from a file * containing data in the DB mesh * format. */ - void read_dbmesh (istream &); + void read_dbmesh (std::istream &); /** * Exception */ DeclException1 (ExcUnknownIdentifier, - string, + std::string, << "The identifier <" << arg1 << "> as name of a " << "part in an UCD input file is unknown or the " << "respective input routine is not implemented."); @@ -185,7 +185,7 @@ class GridIn * Exception */ DeclException1 (ExcInvalidDBMESHInput, - string, + std::string, << "The string <" << arg1 << "> is not recognized at the present" << " position of a DB Mesh file."); @@ -210,7 +210,7 @@ class GridIn * contain either nothing or only * whitespace. */ - static void skip_empty_lines (istream &in); + static void skip_empty_lines (std::istream &in); /** * Skip lines of comment that @@ -226,7 +226,7 @@ class GridIn * there were no lines of * comments. */ - static void skip_comment_lines (istream &in, + static void skip_comment_lines (std::istream &in, const char comment_start); /** @@ -256,9 +256,9 @@ class GridIn * have to eliminate unused * vertices beforehand. */ - static void delete_unused_vertices (vector > &vertices, - vector > &cells, - SubCellData &subcelldata); + static void delete_unused_vertices (std::vector > &vertices, + std::vector > &cells, + SubCellData &subcelldata); /** * This function can write the @@ -305,9 +305,9 @@ class GridIn * without further ado by the * user. */ - static void debug_output_grid (const vector > &cells, - const vector > &vertices, - ostream &out); + static void debug_output_grid (const std::vector > &cells, + const std::vector > &vertices, + std::ostream &out); }; diff --git a/deal.II/deal.II/include/grid/grid_out.h b/deal.II/deal.II/include/grid/grid_out.h index c7e7780576..b9eb33ecb9 100644 --- a/deal.II/deal.II/include/grid/grid_out.h +++ b/deal.II/deal.II/include/grid/grid_out.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -363,7 +363,7 @@ class GridOut */ template void write_gnuplot (const Triangulation &tria, - ostream &out); + std::ostream &out); /** * Write the triangulation in the @@ -402,7 +402,7 @@ class GridOut */ template void write_ucd (const Triangulation &tria, - ostream &out); + std::ostream &out); /** * Write the triangulation in the @@ -456,7 +456,7 @@ class GridOut */ template void write_eps (const Triangulation &tria, - ostream &out); + std::ostream &out); /** * Write data and grid to @p{out} according @@ -466,7 +466,7 @@ class GridOut */ template void write (const Triangulation &tria, - ostream &out, + std::ostream &out, const OutputFormat output_format); /** @@ -515,7 +515,7 @@ class GridOut * thus be called without creating an * object of this class. */ - static string default_suffix (const OutputFormat output_format); + static std::string default_suffix (const OutputFormat output_format); /** * Return the @p{OutputFormat} value @@ -537,7 +537,7 @@ class GridOut * @ref{ParameterHandler} class, use the * function @p{get_output_format_names ()}. */ - static OutputFormat parse_output_format (const string &format_name); + static OutputFormat parse_output_format (const std::string &format_name); /** * Return a list of implemented output @@ -546,7 +546,7 @@ class GridOut * as used by the @ref{ParameterHandler} * classes. */ - static string get_output_format_names (); + static std::string get_output_format_names (); /** * Determine an estimate for the @@ -628,7 +628,7 @@ class GridOut template void write_ucd_faces (const Triangulation &tria, const unsigned int starting_index, - ostream &out) const; + std::ostream &out) const; /** * Return the number of faces in the diff --git a/deal.II/deal.II/include/grid/grid_refinement.h b/deal.II/deal.II/include/grid/grid_refinement.h index b7701ea518..e4c455ecf9 100644 --- a/deal.II/deal.II/include/grid/grid_refinement.h +++ b/deal.II/deal.II/include/grid/grid_refinement.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -14,8 +14,8 @@ #define __deal2__grid_refinement_h -#include -#include +#include +#include // forward declarations template class Triangulation; @@ -315,10 +315,10 @@ class GridRefinement * @p{refine_and_coarsen_optimize} */ template - static void qsort_index(const Vector &a, - vector &ind, - int l, - int r); + static void qsort_index(const Vector &a, + std::vector &ind, + int l, + int r); }; diff --git a/deal.II/deal.II/include/grid/grid_reordering.h b/deal.II/deal.II/include/grid/grid_reordering.h index 30c4f6f970..5a3801701e 100644 --- a/deal.II/deal.II/include/grid/grid_reordering.h +++ b/deal.II/deal.II/include/grid/grid_reordering.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -525,7 +525,7 @@ class GridReordering : private GridReorderingInfo * general documentation of this * class. */ - static void reorder_cells (vector > &original_cells); + static void reorder_cells (std::vector > &original_cells); private: @@ -549,7 +549,7 @@ class GridReordering : private GridReorderingInfo * the @p{stack} adaptor from * STL. */ - typedef vector RotationStack; + typedef std::vector RotationStack; /** * Class that describes the @@ -613,7 +613,7 @@ class GridReordering : private GridReorderingInfo * each orientation of the * cell. */ - typename map::iterator + typename std::map::iterator faces[GridReorderingInfo::rotational_states_of_cells][GeometryInfo::faces_per_cell]; /** @@ -681,7 +681,7 @@ class GridReordering : private GridReorderingInfo * @p{adjacent_cells} field * of the inserted faces. */ - void insert_faces (map &global_faces); + void insert_faces (std::map &global_faces); /** * Find out the neighbors of the @@ -816,7 +816,7 @@ class GridReordering : private GridReorderingInfo * important for the * algorithm. */ - typename map::const_iterator + typename std::map::const_iterator reverse_faces[GridReorderingInfo::rotational_states_of_faces-1]; /** @@ -868,12 +868,12 @@ class GridReordering : private GridReorderingInfo * as recursive calls but rather * as eliminated tail-recursion. */ - static void track_back (vector &cells, - RotationStack &rotation_states, - unsigned int track_back_to_cell); + static void track_back (std::vector &cells, + RotationStack &rotation_states, + const unsigned int track_back_to_cell); - static bool try_rotate_single_neighbors (vector &cells, - RotationStack &rotation_states); + static bool try_rotate_single_neighbors (std::vector &cells, + RotationStack &rotation_states); /** * This is the main function that @@ -892,9 +892,9 @@ class GridReordering : private GridReorderingInfo * between original cells and * presorted cells. */ - static void find_reordering (vector &cells, - vector > &original_cells, - const vector &new_cell_numbers); + static void find_reordering (std::vector &cells, + std::vector > &original_cells, + const std::vector &new_cell_numbers); /** * Preorder the incoming cells by @@ -908,9 +908,9 @@ class GridReordering : private GridReorderingInfo * stored. */ static - vector - presort_cells (vector &cells, - map &faces); + std::vector + presort_cells (std::vector &cells, + std::map &faces); }; diff --git a/deal.II/deal.II/include/grid/intergrid_map.h b/deal.II/deal.II/include/grid/intergrid_map.h index d654f2ff3c..9e5d103808 100644 --- a/deal.II/deal.II/include/grid/intergrid_map.h +++ b/deal.II/deal.II/include/grid/intergrid_map.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -200,7 +200,7 @@ class InterGridMap * The actual data. Hold one iterator * for each cell on each level. */ - vector > mapping; + std::vector > mapping; /** * Store a pointer to the source grid. diff --git a/deal.II/deal.II/include/grid/magic_numbers.h b/deal.II/deal.II/include/grid/magic_numbers.h index b6cfe71801..4072f4ec15 100644 --- a/deal.II/deal.II/include/grid/magic_numbers.h +++ b/deal.II/deal.II/include/grid/magic_numbers.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/persistent_tria.h b/deal.II/deal.II/include/grid/persistent_tria.h index 61558aef80..08fe0b2fb3 100644 --- a/deal.II/deal.II/include/grid/persistent_tria.h +++ b/deal.II/deal.II/include/grid/persistent_tria.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -180,15 +180,15 @@ class PersistentTriangulation : public Triangulation * is not useful in the context of this * class. */ - virtual void create_triangulation (const vector > &vertices, - const vector > &cells, - const SubCellData &subcelldata); + virtual void create_triangulation (const std::vector > &vertices, + const std::vector > &cells, + const SubCellData &subcelldata); /** * Writes all refine and coarsen * flags to the ostream @p{out}. */ - virtual void write_flags(ostream &out) const; + virtual void write_flags(std::ostream &out) const; /** * Reads all refine and coarsen flags @@ -198,7 +198,7 @@ class PersistentTriangulation : public Triangulation * after the end or breakdown of a program * and its restart. */ - virtual void read_flags(istream &in); + virtual void read_flags(std::istream &in); /** * Determine an estimate for the @@ -230,12 +230,12 @@ class PersistentTriangulation : public Triangulation * vectors therefore hold the history * of the grid. */ - vector > refine_flags; + std::vector > refine_flags; /** * @see refine_flags */ - vector > coarsen_flags; + std::vector > coarsen_flags; }; diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index a77b956102..758e6e5b91 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -120,14 +120,14 @@ struct SubCellData * a line on the boundary and its boundary * indicator. */ - vector > boundary_lines; + std::vector > boundary_lines; /** * Each record of this vector describes * a quad on the boundary and its boundary * indicator. */ - vector > boundary_quads; + std::vector > boundary_quads; /** * This function checks whether the vectors @@ -379,7 +379,7 @@ struct TriaNumberCache<1> * Array holding the number of used * lines on each level. */ - vector n_lines_level; + std::vector n_lines_level; /** * Number of active lines in the @@ -391,7 +391,7 @@ struct TriaNumberCache<1> * Array holding the number of active * lines on each level. */ - vector n_active_lines_level; + std::vector n_active_lines_level; /** * Constructor. Set values to zero @@ -439,7 +439,7 @@ struct TriaNumberCache<2> : public TriaNumberCache<1> * Array holding the number of used * quads on each level. */ - vector n_quads_level; + std::vector n_quads_level; /** * Number of active quads in the @@ -451,7 +451,7 @@ struct TriaNumberCache<2> : public TriaNumberCache<1> * Array holding the number of active * quads on each level. */ - vector n_active_quads_level; + std::vector n_active_quads_level; /** * Constructor. Set values to zero @@ -499,7 +499,7 @@ struct TriaNumberCache<3> : public TriaNumberCache<2> * Array holding the number of used * hexes on each level. */ - vector n_hexes_level; + std::vector n_hexes_level; /** * Number of active hexes in the @@ -511,7 +511,7 @@ struct TriaNumberCache<3> : public TriaNumberCache<2> * Array holding the number of active * hexes on each level. */ - vector n_active_hexes_level; + std::vector n_active_hexes_level; /** * Constructor. Set values to zero @@ -1818,9 +1818,9 @@ class Triangulation : public TriaDimensionInfo, * and the @ref{GridIn} and * @ref{GridReordering} class. */ - virtual void create_triangulation (const vector > &vertices, - const vector > &cells, - const SubCellData &subcelldata); + virtual void create_triangulation (const std::vector > &vertices, + const std::vector > &cells, + const SubCellData &subcelldata); /** * Distort the grid by randomly @@ -1974,46 +1974,46 @@ class Triangulation : public TriaDimensionInfo, * usage, read the general * documentation for this class. */ - void save_refine_flags (ostream &out) const; + void save_refine_flags (std::ostream &out) const; /** * Same as above, but store the flags to * a bitvector rather than to a file. */ - void save_refine_flags (vector &v) const; + void save_refine_flags (std::vector &v) const; /** * Read the information stored by * @p{save_refine_flags}. */ - void load_refine_flags (istream &in); + void load_refine_flags (std::istream &in); /** * Read the information stored by * @p{save_refine_flags}. */ - void load_refine_flags (const vector &v); + void load_refine_flags (const std::vector &v); /** * Analogue to @p{save_refine_flags}. */ - void save_coarsen_flags (ostream &out) const; + void save_coarsen_flags (std::ostream &out) const; /** * Same as above, but store the flags to * a bitvector rather than to a file. */ - void save_coarsen_flags (vector &v) const; + void save_coarsen_flags (std::vector &v) const; /** * Analogue to @p{load_refine_flags}. */ - void load_coarsen_flags (istream &out); + void load_coarsen_flags (std::istream &out); /** * Analogue to @p{load_refine_flags}. */ - void load_coarsen_flags (const vector &v); + void load_coarsen_flags (const std::vector &v); /*@}*/ @@ -2039,7 +2039,7 @@ class Triangulation : public TriaDimensionInfo, * @p{save_refine_flags} for more * details. */ - void save_user_flags (ostream &out) const; + void save_user_flags (std::ostream &out) const; /** * Same as above, but store the flags to @@ -2047,24 +2047,24 @@ class Triangulation : public TriaDimensionInfo, * The output vector is resized if * necessary. */ - void save_user_flags (vector &v) const; + void save_user_flags (std::vector &v) const; /** * Read the information stored by * @p{save_user_flags}. */ - void load_user_flags (istream &in); + void load_user_flags (std::istream &in); /** * Read the information stored by * @p{save_user_flags}. */ - void load_user_flags (const vector &v); + void load_user_flags (const std::vector &v); /** * Save the user flags on lines. */ - void save_user_flags_line (ostream &out) const; + void save_user_flags_line (std::ostream &out) const; /** * Same as above, but store the flags to @@ -2072,22 +2072,22 @@ class Triangulation : public TriaDimensionInfo, * The output vector is resized if * necessary. */ - void save_user_flags_line (vector &v) const; + void save_user_flags_line (std::vector &v) const; /** * Load the user flags located on lines. */ - void load_user_flags_line (istream &in); + void load_user_flags_line (std::istream &in); /** * Load the user flags located on lines. */ - void load_user_flags_line (const vector &v); + void load_user_flags_line (const std::vector &v); /** * Save the user flags on quads. */ - void save_user_flags_quad (ostream &out) const; + void save_user_flags_quad (std::ostream &out) const; /** * Same as above, but store the flags to @@ -2095,22 +2095,22 @@ class Triangulation : public TriaDimensionInfo, * The output vector is resized if * necessary. */ - void save_user_flags_quad (vector &v) const; + void save_user_flags_quad (std::vector &v) const; /** * Load the user flags located on quads. */ - void load_user_flags_quad (istream &in); + void load_user_flags_quad (std::istream &in); /** * Load the user flags located on quads. */ - void load_user_flags_quad (const vector &v); + void load_user_flags_quad (const std::vector &v); /** * Save the user flags on hexs. */ - void save_user_flags_hex (ostream &out) const; + void save_user_flags_hex (std::ostream &out) const; /** * Same as above, but store the flags to @@ -2118,17 +2118,17 @@ class Triangulation : public TriaDimensionInfo, * The output vector is resized if * necessary. */ - void save_user_flags_hex (vector &v) const; + void save_user_flags_hex (std::vector &v) const; /** * Load the user flags located on hexs. */ - void load_user_flags_hex (istream &in); + void load_user_flags_hex (std::istream &in); /** * Load the user flags located on hexs. */ - void load_user_flags_hex (const vector &v); + void load_user_flags_hex (const std::vector &v); /*@}*/ /* ------------------------------------ */ @@ -3002,20 +3002,20 @@ class Triangulation : public TriaDimensionInfo, * as well. The format should therefore be * interplatform compatible. */ - static void write_bool_vector (const unsigned int magic_number1, - const vector &v, - const unsigned int magic_number2, - ostream &out); + static void write_bool_vector (const unsigned int magic_number1, + const std::vector &v, + const unsigned int magic_number2, + std::ostream &out); /** * Re-read a vector of bools previously * written by @p{write_bool_vector} and * compare with the magic numbers. */ - static void read_bool_vector (const unsigned int magic_number1, - vector &v, - const unsigned int magic_number2, - istream &in); + static void read_bool_vector (const unsigned int magic_number1, + std::vector &v, + const unsigned int magic_number2, + std::istream &in); private: /** @@ -3109,19 +3109,19 @@ class Triangulation : public TriaDimensionInfo, * * Usage is like @p{levels[3]->quads}. */ - vector*> levels; + std::vector*> levels; /** * Array of the vertices of this * triangulation. */ - vector > vertices; + std::vector > vertices; /** * Array storing a bit-pattern which * vertices are used. */ - vector vertices_used; + std::vector vertices_used; /** * Collection of boundary diff --git a/deal.II/deal.II/include/grid/tria_accessor.h b/deal.II/deal.II/include/grid/tria_accessor.h index afb0fe5705..8fe0b7ed4b 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.h +++ b/deal.II/deal.II/include/grid/tria_accessor.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -276,9 +276,9 @@ class TriaObjectAccessor : public TriaAccessor * accessor is constructed. */ TriaObjectAccessor (Triangulation *parent = 0, - const int level = -1, - const int index = -1, - const AccessorData *local_data = 0) : + const int level = -1, + const int index = -1, + const AccessorData *local_data = 0) : TriaAccessor (parent, level, index, local_data) {}; /** @@ -1026,9 +1026,9 @@ class TriaObjectAccessor<2, dim> : public TriaAccessor * Constructor. */ TriaObjectAccessor (Triangulation *parent = 0, - const int level = -1, - const int index = -1, - const AccessorData *local_data = 0) : + const int level = -1, + const int index = -1, + const AccessorData *local_data = 0) : TriaAccessor (parent, level, index, local_data) {}; /** @@ -1399,9 +1399,9 @@ class TriaObjectAccessor<3, dim> : public TriaAccessor * Constructor. */ TriaObjectAccessor (Triangulation *parent = 0, - const int level = -1, - const int index = -1, - const AccessorData *local_data = 0) : + const int level = -1, + const int index = -1, + const AccessorData *local_data = 0) : TriaAccessor (parent, level, index, local_data) {}; /** diff --git a/deal.II/deal.II/include/grid/tria_accessor.templates.h b/deal.II/deal.II/include/grid/tria_accessor.templates.h index 205f7521bf..80423dc426 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.templates.h +++ b/deal.II/deal.II/include/grid/tria_accessor.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -180,7 +180,7 @@ TriaObjectAccessor<1,dim>::max_refinement_depth () const const unsigned int depths[2] = { child(0)->max_refinement_depth() + 1, child(1)->max_refinement_depth() + 1 }; - return max (depths[0], depths[1]); + return std::max (depths[0], depths[1]); }; @@ -343,8 +343,8 @@ TriaObjectAccessor<2,dim>::max_refinement_depth () const child(1)->max_refinement_depth() + 1, child(2)->max_refinement_depth() + 1, child(3)->max_refinement_depth() + 1 }; - return max (max (depths[0], depths[1]), - max (depths[2], depths[3])); + return std::max (std::max (depths[0], depths[1]), + std::max (depths[2], depths[3])); }; @@ -575,10 +575,10 @@ TriaObjectAccessor<3,dim>::max_refinement_depth () const child(5)->max_refinement_depth() + 1, child(6)->max_refinement_depth() + 1, child(7)->max_refinement_depth() + 1 }; - return max (max (max (depths[0], depths[1]), - max (depths[2], depths[3])), - max (max (depths[4], depths[5]), - max (depths[6], depths[7]))); + return std::max (std::max (std::max (depths[0], depths[1]), + std::max (depths[2], depths[3])), + std::max (std::max (depths[4], depths[5]), + std::max (depths[6], depths[7]))); }; @@ -697,7 +697,7 @@ TriaObjectAccessor::line (const unsigned int i) const return quad(0)->line(i); else if (i<8) - return quad(1)->line(i-4); + return quad(1)->line(i-4); else switch (i) { diff --git a/deal.II/deal.II/include/grid/tria_boundary.h b/deal.II/deal.II/include/grid/tria_boundary.h index b7d4f137bb..0e0f022091 100644 --- a/deal.II/deal.II/include/grid/tria_boundary.h +++ b/deal.II/deal.II/include/grid/tria_boundary.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/tria_boundary_lib.h b/deal.II/deal.II/include/grid/tria_boundary_lib.h index b647a406e3..92def198d3 100644 --- a/deal.II/deal.II/include/grid/tria_boundary_lib.h +++ b/deal.II/deal.II/include/grid/tria_boundary_lib.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/tria_hex.h b/deal.II/deal.II/include/grid/tria_hex.h index d4fa9f5ae1..887ff5799b 100644 --- a/deal.II/deal.II/include/grid/tria_hex.h +++ b/deal.II/deal.II/include/grid/tria_hex.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/tria_iterator.h b/deal.II/deal.II/include/grid/tria_iterator.h index b1ba1a4d16..ab4e3d27b2 100644 --- a/deal.II/deal.II/include/grid/tria_iterator.h +++ b/deal.II/deal.II/include/grid/tria_iterator.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -222,7 +222,7 @@ template class Triangulation; * @author Wolfgang Bangerth, 1998 */ template -class TriaRawIterator : public bidirectional_iterator +class TriaRawIterator : public std::bidirectional_iterator { public: /** @@ -457,7 +457,7 @@ class TriaRawIterator : public bidirectional_iterator * Print the iterator to @p{out}. The * format is like @p{level.index}. */ - void print (ostream &out) const; + void print (std::ostream &out) const; /** @@ -943,7 +943,7 @@ TriaRawIterator::operator -- () template inline void -TriaRawIterator::print (ostream &out) const +TriaRawIterator::print (std::ostream &out) const { out << accessor.level() << "." << accessor.index(); }; @@ -1030,7 +1030,8 @@ TriaActiveIterator::TriaActiveIterator (const TriaRawIterator inline -ostream & operator << (ostream &out, const TriaRawIterator &i) +std::ostream & operator << (std::ostream &out, + const TriaRawIterator &i) { i.print(out); return out; @@ -1048,7 +1049,8 @@ ostream & operator << (ostream &out, const TriaRawIterator &i) */ template inline -ostream & operator << (ostream &out, const TriaIterator &i) +std::ostream & operator << (std::ostream &out, + const TriaIterator &i) { i.print(out); return out; @@ -1066,7 +1068,8 @@ ostream & operator << (ostream &out, const TriaIterator &i) */ template inline -ostream & operator << (ostream &out, const TriaActiveIterator &i) +std::ostream & operator << (std::ostream &out, + const TriaActiveIterator &i) { i.print(out); return out; diff --git a/deal.II/deal.II/include/grid/tria_iterator.templates.h b/deal.II/deal.II/include/grid/tria_iterator.templates.h index e22cae5eb3..cd752a52eb 100644 --- a/deal.II/deal.II/include/grid/tria_iterator.templates.h +++ b/deal.II/deal.II/include/grid/tria_iterator.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/tria_iterator_base.h b/deal.II/deal.II/include/grid/tria_iterator_base.h index 5d1c999498..57fb4556d6 100644 --- a/deal.II/deal.II/include/grid/tria_iterator_base.h +++ b/deal.II/deal.II/include/grid/tria_iterator_base.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/grid/tria_levels.h b/deal.II/deal.II/include/grid/tria_levels.h index 7d622d6c78..2216f0db0a 100644 --- a/deal.II/deal.II/include/grid/tria_levels.h +++ b/deal.II/deal.II/include/grid/tria_levels.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -69,14 +69,14 @@ class TriangulationLevel<0> * @p{lines} vector, in two dimensions * that of the @p{quads} vector, etc. */ - vector refine_flags; + std::vector refine_flags; /** * Same meaning as the one above, but * specifies whether a cell must be * coarsened. */ - vector coarsen_flags; + std::vector coarsen_flags; /** * Levels and indices of the neighbors @@ -126,7 +126,7 @@ class TriangulationLevel<0> * which case its neighbor pointer points * to the mother cell of this cell). */ - vector > neighbors; + std::vector > neighbors; /** * Reserve enough space to accomodate @@ -212,7 +212,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * index of a line is stored in the * line itself. */ - vector lines; + std::vector lines; /** * Index of the first child of a line * in the list on the next level. @@ -231,7 +231,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * @ref{TriaIterator}@p{::active()} * tests for this. */ - vector children; + std::vector children; /** * Vector storing whether a line is @@ -245,7 +245,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * rather the according @p{used} flag * is set to @p{false}. */ - vector used; + std::vector used; /** * Make available a field for user data, @@ -258,7 +258,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * You can clear all used flags using * @ref{Triangulation}@p{::clear_user_flags()}. */ - vector user_flags; + std::vector user_flags; /** * Store boundary and material data. In @@ -281,7 +281,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * is not possible if you don't know * which cell it belongs to. */ - vector material_id; + std::vector material_id; /** * Pointer which is not used by the @@ -289,7 +289,7 @@ class TriangulationLevel<1> : public TriangulationLevel<0> * by the user to handle data local to * a line/quad/etc. */ - vector user_pointers; + std::vector user_pointers; }; public: @@ -365,7 +365,7 @@ class TriangulationLevel<2> : public TriangulationLevel<1> /** * Same as for the @p{lines} array. */ - vector quads; + std::vector quads; /** * Same as for the * @ref{TriangulationLevel<1>::LinesData}@p{::chilren} @@ -376,19 +376,19 @@ class TriangulationLevel<2> : public TriangulationLevel<1> * following immediately * afterwards. */ - vector children; + std::vector children; /** * Same as for * @ref{TriangulationLevel<1>::LinesData}@p{::used}. */ - vector used; + std::vector used; /** * Same as for * @ref{TriangulationLevel<1>::LinesData}@p{::used}. */ - vector user_flags; + std::vector user_flags; /** * Store boundary and material data. In @@ -411,7 +411,7 @@ class TriangulationLevel<2> : public TriangulationLevel<1> * is not possible if you don't know * which cell it belongs to. */ - vector material_id; + std::vector material_id; /** @@ -420,7 +420,7 @@ class TriangulationLevel<2> : public TriangulationLevel<1> * by the user to handle data local to * a line/quad/etc. */ - vector user_pointers; + std::vector user_pointers; }; public: @@ -485,7 +485,7 @@ class TriangulationLevel<3> : public TriangulationLevel<2> /** * Same as for the @p{lines} array. */ - vector hexes; + std::vector hexes; /** * Same as for the * @ref{TriangulationLevel<1>::LinesData}@p{::chilren} @@ -496,19 +496,19 @@ class TriangulationLevel<3> : public TriangulationLevel<2> * following immediately * afterwards. */ - vector children; + std::vector children; /** * Same as for * @ref{TriangulationLevel<1>::LinesData}@p{::used}. */ - vector used; + std::vector used; /** * Same as for * @ref{TriangulationLevel<1>::LinesData}@p{::used}. */ - vector user_flags; + std::vector user_flags; /** * Store boundary and material data. In @@ -531,7 +531,7 @@ class TriangulationLevel<3> : public TriangulationLevel<2> * is not possible if you don't know * which cell it belongs to. */ - vector material_id; + std::vector material_id; /** @@ -540,7 +540,7 @@ class TriangulationLevel<3> : public TriangulationLevel<2> * by the user to handle data local to * a line/quad/etc. */ - vector user_pointers; + std::vector user_pointers; }; public: diff --git a/deal.II/deal.II/include/grid/tria_line.h b/deal.II/deal.II/include/grid/tria_line.h index 0f86ce87d3..732e1ecbf5 100644 --- a/deal.II/deal.II/include/grid/tria_line.h +++ b/deal.II/deal.II/include/grid/tria_line.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -71,7 +71,7 @@ class Line /** * Global indices of the two end points. */ - int end_points[2]; + int end_points[2]; }; diff --git a/deal.II/deal.II/include/grid/tria_quad.h b/deal.II/deal.II/include/grid/tria_quad.h index 61641c511c..9857c00d63 100644 --- a/deal.II/deal.II/include/grid/tria_quad.h +++ b/deal.II/deal.II/include/grid/tria_quad.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -75,7 +75,7 @@ class Quad << "Indices for the line number must be 0, 1, 2 or 3, " << "but you gave " << arg1); protected: - int lines[4]; + int lines[4]; }; diff --git a/deal.II/deal.II/include/multigrid/mg_base.h b/deal.II/deal.II/include/multigrid/mg_base.h index c3b4f88098..a20621390a 100644 --- a/deal.II/deal.II/include/multigrid/mg_base.h +++ b/deal.II/deal.II/include/multigrid/mg_base.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -49,7 +49,7 @@ class MGLevelObject : public Subscriptor * is created empty. */ MGLevelObject (const unsigned int minlevel = 0, - const unsigned int maxlevel = 0); + const unsigned int maxlevel = 0); /** * Access object on level @p{level}. @@ -82,7 +82,7 @@ class MGLevelObject : public Subscriptor * @p{Object==Vector}, @p{clear} * will set all entries to zero, * while if - * @p{Object==std::vector}, + * @p{Object==vector}, * @p{clear} deletes the elements * of the vectors. This class * might therefore not be useful @@ -103,7 +103,7 @@ class MGLevelObject : public Subscriptor /** * Array of the objects to be held. */ - vector objects; + std::vector objects; }; @@ -551,7 +551,7 @@ template void MGLevelObject::clear () { - typename vector::iterator v; + typename std::vector::iterator v; for (v = objects.begin(); v != objects.end(); ++v) v->clear(); }; @@ -578,8 +578,8 @@ MGLevelObject::get_maxlevel () const template MGCoarseGridLACIteration::MGCoarseGridLACIteration(SOLVER &s, - const MATRIX &m, - const PRECOND &p) + const MATRIX &m, + const PRECOND &p) : solver(s), matrix(&m), @@ -590,8 +590,8 @@ MGCoarseGridLACIteration::MGCoarseGridLACIteration(SOLVER template void MGCoarseGridLACIteration::operator() (const unsigned int /* level */, - Vector &dst, - const Vector &src) const + Vector &dst, + const Vector &src) const { solver.solve(*matrix, dst, src, precondition); } diff --git a/deal.II/deal.II/include/multigrid/mg_dof_accessor.h b/deal.II/deal.II/include/multigrid/mg_dof_accessor.h index 9818eb400b..4742077c3c 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_accessor.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_accessor.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -288,7 +288,7 @@ class MGDoFObjectAccessor<1, dim> : public MGDoFAccessor, * indices refer to the local numbering * for the level this line lives on. */ - void get_mg_dof_indices (vector &dof_indices) const; + void get_mg_dof_indices (std::vector &dof_indices) const; /** * Return the value of the given vector @@ -357,9 +357,9 @@ class MGDoFObjectAccessor<2, dim> : public MGDoFAccessor, * to a @ref{DoFHandler} object. */ MGDoFObjectAccessor (Triangulation *tria, - const int level, - const int index, - const AccessorData *local_data); + const int level, + const int index, + const AccessorData *local_data); /** * Return the index of the @p{i}th degree @@ -405,7 +405,7 @@ class MGDoFObjectAccessor<2, dim> : public MGDoFAccessor, * indices refer to the local numbering * for the level this quad lives on. */ - void get_mg_dof_indices (vector &dof_indices) const; + void get_mg_dof_indices (std::vector &dof_indices) const; /** * Return the value of the given vector @@ -482,9 +482,9 @@ class MGDoFObjectAccessor<3, dim> : public MGDoFAccessor, * to a @ref{DoFHandler} object. */ MGDoFObjectAccessor (Triangulation *tria, - const int level, - const int index, - const AccessorData *local_data); + const int level, + const int index, + const AccessorData *local_data); /** * Return the index of the @p{i}th degree @@ -530,7 +530,7 @@ class MGDoFObjectAccessor<3, dim> : public MGDoFAccessor, * indices refer to the local numbering * for the level this hex lives on. */ - void get_mg_dof_indices (vector &dof_indices) const; + void get_mg_dof_indices (std::vector &dof_indices) const; /** * Return the value of the given vector diff --git a/deal.II/deal.II/include/multigrid/mg_dof_handler.h b/deal.II/deal.II/include/multigrid/mg_dof_handler.h index 6257e280f3..00795b8217 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_handler.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -210,8 +210,8 @@ class MGDoFHandler : public DoFHandler * indices after renumbering in the * order of the old indices. */ - void renumber_dofs (const unsigned int level, - const vector &new_numbers); + void renumber_dofs (const unsigned int level, + const std::vector &new_numbers); /*--------------------------------------*/ @@ -524,9 +524,9 @@ class MGDoFHandler : public DoFHandler /** - * Return an iterator pointing to the - * last line, used or not. - */ + * Return an iterator pointing to the + * last line, used or not. + */ raw_line_iterator last_raw_line () const; /** @@ -621,9 +621,9 @@ class MGDoFHandler : public DoFHandler /** - * Return an iterator pointing to the - * last quad, used or not. - */ + * Return an iterator pointing to the + * last quad, used or not. + */ raw_quad_iterator last_raw_quad () const; /** @@ -718,9 +718,9 @@ class MGDoFHandler : public DoFHandler /** - * Return an iterator pointing to the - * last hex, used or not. - */ + * Return an iterator pointing to the + * last hex, used or not. + */ raw_hex_iterator last_raw_hex () const; /** @@ -910,23 +910,23 @@ class MGDoFHandler : public DoFHandler /** - * Distribute dofs on the given cell, - * with new dofs starting with index - * @p{next_free_dof}. Return the next - * unused index number. The finite - * element used is the one given to - * @p{distribute_dofs}, which is copied - * to @p{selected_fe}. - * - * This function is excluded from the - * @p{distribute_dofs} function since - * it can not be implemented dimension - * independent. - * - * Note that unlike for the usual dofs, - * here all cells and not only active - * ones are allowed. - */ + * Distribute dofs on the given cell, + * with new dofs starting with index + * @p{next_free_dof}. Return the next + * unused index number. The finite + * element used is the one given to + * @p{distribute_dofs}, which is copied + * to @p{selected_fe}. + * + * This function is excluded from the + * @p{distribute_dofs} function since + * it can not be implemented dimension + * independent. + * + * Note that unlike for the usual dofs, + * here all cells and not only active + * ones are allowed. + */ unsigned int distribute_dofs_on_cell (cell_iterator &cell, unsigned int next_free_dof); @@ -944,7 +944,7 @@ class MGDoFHandler : public DoFHandler * numbers which start from zero on each * level. */ - vector*> mg_levels; + std::vector*> mg_levels; /** * For each vertex there is a list of @@ -952,13 +952,13 @@ class MGDoFHandler : public DoFHandler * on the different levels it lives on and * which are these levels. */ - vector mg_vertex_dofs; + std::vector mg_vertex_dofs; /** * Vectors storing the number of degrees of * freedom on each level. */ - vector mg_used_dofs; + std::vector mg_used_dofs; #if (__GNUC__==2) && (__GNUC_MINOR__ < 95) // this seems to be disallowed diff --git a/deal.II/deal.II/include/multigrid/mg_dof_tools.h b/deal.II/deal.II/include/multigrid/mg_dof_tools.h index 533d669bf8..baa8febe27 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_tools.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_tools.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/multigrid/mg_smoother.h b/deal.II/deal.II/include/multigrid/mg_smoother.h index c3634b403a..318c0ee89b 100644 --- a/deal.II/deal.II/include/multigrid/mg_smoother.h +++ b/deal.II/deal.II/include/multigrid/mg_smoother.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -185,7 +185,7 @@ class MGSmoother : public MGSmootherBase * These arrays are set by the constructor. * The entries for each level are sorted ascendingly. */ - vector > interior_boundary_dofs; + std::vector > interior_boundary_dofs; }; diff --git a/deal.II/deal.II/include/multigrid/mg_smoother.templates.h b/deal.II/deal.II/include/multigrid/mg_smoother.templates.h index b786b24add..6d33930854 100644 --- a/deal.II/deal.II/include/multigrid/mg_smoother.templates.h +++ b/deal.II/deal.II/include/multigrid/mg_smoother.templates.h @@ -4,10 +4,10 @@ template template MGSmootherRelaxation::MGSmootherRelaxation (const MGDoFHandler &mg_dof, - const MGLevelObject > &matrix, - const function_ptr relaxation, - const unsigned int steps, - const double omega) + const MGLevelObject > &matrix, + const function_ptr relaxation, + const unsigned int steps, + const double omega) : MGSmoother(mg_dof, steps), matrix(&matrix), diff --git a/deal.II/deal.II/include/multigrid/multigrid.h b/deal.II/deal.II/include/multigrid/multigrid.h index 7665a47677..068e16106e 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.h +++ b/deal.II/deal.II/include/multigrid/multigrid.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -98,8 +98,8 @@ class Multigrid : public MGBase /** * Negative @p{vmult} on a level. //TODO: what does this function do? - * @see MGBase. - */ +* @see MGBase. +*/ virtual void level_vmult (const unsigned int level, Vector &dest, const Vector &src, @@ -126,8 +126,8 @@ class Multigrid : public MGBase /** - * Sparsity patterns for each level. - */ + * Sparsity patterns for each level. + */ SmartPointer > level_sparsities; /** @@ -219,17 +219,17 @@ class MGTransferPrebuilt : public MGTransferBase private: - vector prolongation_sparsities; - - /** - * The actual prolongation matrix. - * column indices belong to the - * dof indices of the mother cell, - * i.e. the coarse level. - * while row indices belong to the - * child cell, i.e. the fine level. - */ - vector > prolongation_matrices; + std::vector prolongation_sparsities; + + /** + * The actual prolongation matrix. + * column indices belong to the + * dof indices of the mother cell, + * i.e. the coarse level. + * while row indices belong to the + * child cell, i.e. the fine level. + */ + std::vector > prolongation_matrices; }; diff --git a/deal.II/deal.II/include/multigrid/multigrid.templates.h b/deal.II/deal.II/include/multigrid/multigrid.templates.h index 8ff60ac22f..97d708547f 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.templates.h +++ b/deal.II/deal.II/include/multigrid/multigrid.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -52,9 +52,9 @@ Multigrid::copy_to_mg (const Vector& osrc) // on all levels to zero defect.clear(); - vector global_dof_indices (dofs_per_cell); - vector level_dof_indices (dofs_per_cell); - vector level_face_indices (dofs_per_face); + std::vector global_dof_indices (dofs_per_cell); + std::vector level_dof_indices (dofs_per_cell); + std::vector level_face_indices (dofs_per_face); // initialize the objects with // their correct size @@ -144,8 +144,8 @@ Multigrid::copy_from_mg(Vector &dst) const { const unsigned int dofs_per_cell = mg_dof_handler->get_fe().dofs_per_cell; - vector global_dof_indices (dofs_per_cell); - vector level_dof_indices (dofs_per_cell); + std::vector global_dof_indices (dofs_per_cell); + std::vector level_dof_indices (dofs_per_cell); MGDoFHandler::active_cell_iterator level_cell = mg_dof_handler->begin_active(); @@ -199,8 +199,8 @@ Multigrid::print_vector (const unsigned int level, const unsigned int dofs_per_cell = mg_dof_handler->get_fe().dofs_per_cell; - vector global_dof_indices (dofs_per_cell); - vector level_dof_indices (dofs_per_cell); + std::vector global_dof_indices (dofs_per_cell); + std::vector level_dof_indices (dofs_per_cell); DoFHandler::active_cell_iterator global_cell = dof->begin_active(level); @@ -224,7 +224,7 @@ Multigrid::print_vector (const unsigned int level, = v(level_dof_indices[i]); } - ofstream out_file(name); + std::ofstream out_file(name); DataOut out; out.attach_dof_handler(*dof); out.add_data_vector(out_vector, "v"); diff --git a/deal.II/deal.II/include/numerics/assembler.h b/deal.II/deal.II/include/numerics/assembler.h index b19feb219a..b9fc284527 100644 --- a/deal.II/deal.II/include/numerics/assembler.h +++ b/deal.II/deal.II/include/numerics/assembler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/include/numerics/base.h b/deal.II/deal.II/include/numerics/base.h index 626ceb0909..d90acf9957 100644 --- a/deal.II/deal.II/include/numerics/base.h +++ b/deal.II/deal.II/include/numerics/base.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -108,7 +108,7 @@ class ProblemBase * See the general documentation of this * class for more detail. */ - typedef map*> FunctionMap; + typedef std::map*> FunctionMap; /** * Typdedef an iterator which assembles * matrices and vectors. @@ -199,7 +199,7 @@ class ProblemBase * Overload this function, if you * want anything else. */ - virtual string get_solution_name () const; + virtual std::string get_solution_name () const; /** * Exception diff --git a/deal.II/deal.II/include/numerics/data_out.h b/deal.II/deal.II/include/numerics/data_out.h index cbb9b6c36b..0d7de82896 100644 --- a/deal.II/deal.II/include/numerics/data_out.h +++ b/deal.II/deal.II/include/numerics/data_out.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -222,8 +222,8 @@ class DataOut_DoFData : public DataOutInterface * class to see which characters * are valid and which are not. */ - void add_data_vector (const Vector &data, - const vector &names); + void add_data_vector (const Vector &data, + const std::vector &names); /** * This function is an @@ -250,7 +250,7 @@ class DataOut_DoFData : public DataOutInterface * each component to @p{name} */ void add_data_vector (const Vector &data, - const string &name); + const std::string &name); /** * Release the pointers to the @@ -327,9 +327,9 @@ class DataOut_DoFData : public DataOutInterface * Exception */ DeclException1 (ExcInvalidCharacter, - string, - << "Please use only the characters [a-zA-Z0-9_<>()] for" << endl - << "description strings since AVS will only accept these." << endl + std::string, + << "Please use only the characters [a-zA-Z0-9_<>()] for" << std::endl + << "description strings since AVS will only accept these." << std::endl << "The string you gave was <" << arg1 << ">."); /** * Exception @@ -357,8 +357,8 @@ class DataOut_DoFData : public DataOutInterface * with no explicit arguments for * STL classes). */ - DataEntry (const Vector *data = 0, - const vector &names = vector()); + DataEntry (const Vector *data = 0, + const std::vector &names = std::vector()); /** * Determine an estimate for the @@ -380,13 +380,13 @@ class DataOut_DoFData : public DataOutInterface * Names of the components of this * data vector. */ - vector names; + std::vector names; /** * Physical unit name of this * component. */ - string units; + std::string units; }; /** @@ -398,13 +398,13 @@ class DataOut_DoFData : public DataOutInterface * List of data elements with vectors of * values for each degree of freedom. */ - vector dof_data; + std::vector dof_data; /** * List of data elements with vectors of * values for each cell. */ - vector cell_data; + std::vector cell_data; /** * This is a list of patches that is @@ -413,7 +413,7 @@ class DataOut_DoFData : public DataOutInterface * in the output routines of the base * classes. */ - vector > patches; + std::vector > patches; /** * Function by which the base @@ -421,7 +421,7 @@ class DataOut_DoFData : public DataOutInterface * what patches they shall write * to a file. */ - virtual const vector > & + virtual const std::vector > & get_patches () const; /** @@ -430,7 +430,7 @@ class DataOut_DoFData : public DataOutInterface * obtained by the output functions * of the base class. */ - virtual vector get_dataset_names () const; + virtual std::vector get_dataset_names () const; }; @@ -577,8 +577,8 @@ class DataOut : public DataOut_DoFData unsigned int n_components; unsigned int n_datasets; unsigned int n_subdivisions; - vector patch_values; - vector > patch_values_system; + std::vector patch_values; + std::vector > patch_values_system; Data () {} }; diff --git a/deal.II/deal.II/include/numerics/data_out_faces.h b/deal.II/deal.II/include/numerics/data_out_faces.h index 72e4816c14..7fe07ed438 100644 --- a/deal.II/deal.II/include/numerics/data_out_faces.h +++ b/deal.II/deal.II/include/numerics/data_out_faces.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -118,7 +118,7 @@ class DataOutFaces : public DataOut_DoFData * aliased to a name that is * better to type. */ - typedef pair::cell_iterator,unsigned int> FaceDescriptor; + typedef std::pair::cell_iterator,unsigned int> FaceDescriptor; /** @@ -180,8 +180,8 @@ class DataOutFaces : public DataOut_DoFData unsigned int n_components; unsigned int n_datasets; unsigned int n_subdivisions; - vector patch_values; - vector > patch_values_system; + std::vector patch_values; + std::vector > patch_values_system; Data () {} }; diff --git a/deal.II/deal.II/include/numerics/data_out_rotation.h b/deal.II/deal.II/include/numerics/data_out_rotation.h index a093cec384..e0b11358b9 100644 --- a/deal.II/deal.II/include/numerics/data_out_rotation.h +++ b/deal.II/deal.II/include/numerics/data_out_rotation.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -177,8 +177,8 @@ class DataOutRotation : public DataOut_DoFData unsigned int n_datasets; unsigned int n_patches_per_circle; unsigned int n_subdivisions; - vector patch_values; - vector > patch_values_system; + std::vector patch_values; + std::vector > patch_values_system; Data () {} }; diff --git a/deal.II/deal.II/include/numerics/data_out_stack.h b/deal.II/deal.II/include/numerics/data_out_stack.h index a8c5b879f5..2625161d09 100644 --- a/deal.II/deal.II/include/numerics/data_out_stack.h +++ b/deal.II/deal.II/include/numerics/data_out_stack.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -153,8 +153,8 @@ class DataOutStack : public DataOutInterface * and therefore only one name needs to * be given. */ - void declare_data_vector (const string &name, - const VectorType vector_type); + void declare_data_vector (const std::string &name, + const VectorType vector_type); /** * Declare a data vector. The @p{vector_type} @@ -173,8 +173,8 @@ class DataOutStack : public DataOutInterface * element if the finite element has * only one component. */ - void declare_data_vector (const vector &name, - const VectorType vector_type); + void declare_data_vector (const std::vector &name, + const VectorType vector_type); /** @@ -203,7 +203,7 @@ class DataOutStack : public DataOutInterface */ template void add_data_vector (const Vector &vec, - const string &name); + const std::string &name); /** * Add a data vector for the presently @@ -234,8 +234,8 @@ class DataOutStack : public DataOutInterface * are already done. */ template - void add_data_vector (const Vector &vec, - const vector &names); + void add_data_vector (const Vector &vec, + const std::vector &names); /** * Actually build the patches for output @@ -296,9 +296,9 @@ class DataOutStack : public DataOutInterface * Exception */ DeclException1 (ExcInvalidCharacter, - string, - << "Please use only the characters [a-zA-Z0-9_<>()] for" << endl - << "description strings since AVS will only accept these." << endl + std::string, + << "Please use only the characters [a-zA-Z0-9_<>()] for" << std::endl + << "description strings since AVS will only accept these." << std::endl << "The string you gave was <" << arg1 << ">."); /** * Exception @@ -312,7 +312,7 @@ class DataOutStack : public DataOutInterface * Exception */ DeclException1 (ExcVectorNotDeclared, - string, + std::string, << "The data vector for which the first component has the name " << arg1 << " has not been declared before."); /** @@ -327,7 +327,7 @@ class DataOutStack : public DataOutInterface * Exception */ DeclException1 (ExcNameAlreadyUsed, - string, + std::string, << "You tried to declare a component of a data vector with " << "the name <" << arg1 << ">, but that name is already used."); /** @@ -362,7 +362,7 @@ class DataOutStack : public DataOutInterface * List of patches of all past and * present parameter value data sets. */ - vector > patches; + std::vector > patches; /** * Structure holding data vectors @@ -380,7 +380,7 @@ class DataOutStack : public DataOutInterface * Names of the different components * within each such data set. */ - vector names; + std::vector names; /** * Determine an estimate for @@ -393,12 +393,12 @@ class DataOutStack : public DataOutInterface /** * List of DoF data vectors. */ - vector dof_data; + std::vector dof_data; /** * List of cell data vectors. */ - vector cell_data; + std::vector cell_data; /** * This is the function through @@ -408,7 +408,7 @@ class DataOutStack : public DataOutInterface * the base class @ref{DataOutBase}) to * the actual output function. */ - virtual const vector > & get_patches () const; + virtual const std::vector > & get_patches () const; /** @@ -417,7 +417,7 @@ class DataOutStack : public DataOutInterface * obtained by the output functions * of the base class. */ - virtual vector get_dataset_names () const; + virtual std::vector get_dataset_names () const; }; diff --git a/deal.II/deal.II/include/numerics/derivative_approximation.h b/deal.II/deal.II/include/numerics/derivative_approximation.h index c207ebcab8..734b459ccb 100644 --- a/deal.II/deal.II/include/numerics/derivative_approximation.h +++ b/deal.II/deal.II/include/numerics/derivative_approximation.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -405,7 +405,7 @@ class DerivativeApproximation * a certain thread shall * operate. */ - typedef pair IndexInterval; + typedef std::pair IndexInterval; /** * Kind of the main function of diff --git a/deal.II/deal.II/include/numerics/dof_print_solver_step.h b/deal.II/deal.II/include/numerics/dof_print_solver_step.h index 85ee4acea3..8d8dfa986d 100644 --- a/deal.II/deal.II/include/numerics/dof_print_solver_step.h +++ b/deal.II/deal.II/include/numerics/dof_print_solver_step.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -61,7 +61,7 @@ class DoFPrintSolverStep : public SOLVER DoFPrintSolverStep (SolverControl& control, VectorMemory& mem, DataOut& data_out, - const string& basename); + const std::string& basename); /** * Call-back function for the @@ -80,7 +80,7 @@ class DoFPrintSolverStep : public SOLVER /** * Base of filenames. */ - const string basename; + const std::string basename; }; @@ -90,7 +90,7 @@ template DoFPrintSolverStep::DoFPrintSolverStep (SolverControl& control, VectorMemory& mem, DataOut& data_out, - const string& basename) + const std::string& basename) : SOLVER (control, mem), out (data_out), basename (basename) @@ -114,12 +114,12 @@ DoFPrintSolverStep::print_vectors (const unsigned int step, << setw(3) << setfill('0') << step << out.default_suffix() << ends; - const string fname = filename.str(); + const std::string fname = filename.str(); - deallog << "Writing file:" << fname << endl; + deallog << "Writing file:" << fname << std::endl; out.build_patches(); - ofstream of (fname.c_str()); + std::ofstream of (fname.c_str()); out.write (of); } diff --git a/deal.II/deal.II/include/numerics/dof_renumbering.h b/deal.II/deal.II/include/numerics/dof_renumbering.h index a3b9907e48..eb54015e3f 100644 --- a/deal.II/deal.II/include/numerics/dof_renumbering.h +++ b/deal.II/deal.II/include/numerics/dof_renumbering.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -208,7 +208,7 @@ class DoFRenumbering Cuthill_McKee (DoFHandler &dof_handler, const bool reversed_numbering = false, const bool use_constraints = false, - const vector &starting_indices = vector()); + const std::vector &starting_indices = std::vector()); /** * Renumber the degrees of freedom @@ -234,7 +234,7 @@ class DoFRenumbering Cuthill_McKee (MGDoFHandler &dof_handler, const unsigned int level, const bool reversed_numbering = false, - const vector &starting_indices = vector ()); + const std::vector &starting_indices = std::vector ()); /** * Sort the degrees of freedom by @@ -272,7 +272,7 @@ class DoFRenumbering template static void component_wise (DoFHandler &dof_handler, - const vector &component_order = vector()); + const std::vector &component_order = std::vector()); /** * Cell-wise renumbering for DG @@ -296,7 +296,7 @@ class DoFRenumbering template static void cell_wise_dg (DoFHandler &dof_handler, - const vector::cell_iterator> &cell_order); + const std::vector::cell_iterator> &cell_order); /** @@ -309,7 +309,7 @@ class DoFRenumbering static void cell_wise_dg (MGDoFHandler &dof_handler, const unsigned int level, - const vector::cell_iterator> &cell_order); + const std::vector::cell_iterator> &cell_order); /** @@ -372,8 +372,8 @@ class DoFRenumbering */ template static void - sort_selected_dofs_back (DoFHandler &dof_handler, - const vector &selected_dofs); + sort_selected_dofs_back (DoFHandler &dof_handler, + const std::vector &selected_dofs); /** * Renumber the degrees of diff --git a/deal.II/deal.II/include/numerics/error_estimator.h b/deal.II/deal.II/include/numerics/error_estimator.h index 3f0e5a6dd9..ac602729d2 100644 --- a/deal.II/deal.II/include/numerics/error_estimator.h +++ b/deal.II/deal.II/include/numerics/error_estimator.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -216,7 +216,7 @@ class KellyErrorEstimator * for each boundary indicator, which is * guaranteed by the @p{map} data type. */ - typedef map*> FunctionMap; + typedef std::map*> FunctionMap; /** @@ -274,7 +274,7 @@ class KellyErrorEstimator const FunctionMap &neumann_bc, const Vector &solution, Vector &error, - const vector &component_mask = vector(), + const std::vector &component_mask = std::vector(), const Function *coefficients = 0, unsigned int n_threads = multithread_info.n_default_threads); @@ -308,9 +308,9 @@ class KellyErrorEstimator static void estimate (const DoFHandler &dof, const Quadrature &quadrature, const FunctionMap &neumann_bc, - const vector*> &solutions, - vector*> &errors, - const vector &component_mask = vector(), + const std::vector*> &solutions, + std::vector*> &errors, + const std::vector &component_mask = std::vector(), const Function *coefficients = 0, unsigned int n_threads = multithread_info.n_default_threads); @@ -359,7 +359,7 @@ class KellyErrorEstimator * general documentation of this * class for more information. */ - typedef map::face_iterator,vector > FaceIntegrals; + typedef std::map::face_iterator,std::vector > FaceIntegrals; /** @@ -418,8 +418,8 @@ class KellyErrorEstimator const DoFHandler &dof_handler; const Quadrature &quadrature; const FunctionMap &neumann_bc; - const vector*> &solutions; - const vector component_mask; + const std::vector*> &solutions; + const std::vector component_mask; const Function *coefficients; const unsigned int n_threads; const unsigned int n_solution_vectors; @@ -447,7 +447,7 @@ class KellyErrorEstimator * synchronisation makes * things even slower. */ - vector > > phi; + std::vector > > phi; /** * A vector for the gradients of @@ -465,18 +465,18 @@ class KellyErrorEstimator * index of the solution * vector. */ - vector > > > psi; + std::vector > > > psi; /** * The same vector for a neighbor cell */ - vector > > > neighbor_psi; + std::vector > > > neighbor_psi; /** * The normal vectors of the finite * element function on one face */ - vector > normal_vectors; + std::vector > normal_vectors; /** * Two arrays needed for the @@ -484,8 +484,8 @@ class KellyErrorEstimator * the jumps, if they are * given. */ - vector coefficient_values1; - vector > coefficient_values; + std::vector coefficient_values1; + std::vector > coefficient_values; /** * Array for the products of @@ -493,7 +493,7 @@ class KellyErrorEstimator * weights of quadraturs * points. */ - vector JxW_values; + std::vector JxW_values; /** * A constructor of the @@ -503,8 +503,8 @@ class KellyErrorEstimator Data(const DoFHandler &dof, const Quadrature &quadrature, const FunctionMap &neumann_bc, - const vector*> &solutions, - const vector &component_mask, + const std::vector*> &solutions, + const std::vector &component_mask, const Function *coefficients, const unsigned int n_threads, FaceIntegrals &face_integrals); diff --git a/deal.II/deal.II/include/numerics/histogram.h b/deal.II/deal.II/include/numerics/histogram.h index 6fbbf38342..ee4cf459e9 100644 --- a/deal.II/deal.II/include/numerics/histogram.h +++ b/deal.II/deal.II/include/numerics/histogram.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -109,10 +109,10 @@ class Histogram * on this. */ template - void evaluate (const vector > &values, - const vector &y_values, - const unsigned int n_intervals, - const IntervalSpacing interval_spacing = linear); + void evaluate (const std::vector > &values, + const std::vector &y_values, + const unsigned int n_intervals, + const IntervalSpacing interval_spacing = linear); /** * This function is only a wrapper @@ -131,14 +131,14 @@ class Histogram * the GNUPLOT program. The function * generates 2d or 3d histograms. */ - void write_gnuplot (ostream &out) const; + void write_gnuplot (std::ostream &out) const; /** * Return allowed names for the interval * spacing as string. At present this * is "linear|logarithmic". */ - static string get_interval_spacing_names (); + static std::string get_interval_spacing_names (); /** * Get a string containing one of the @@ -147,7 +147,7 @@ class Histogram * @p{IntervalSpacing}. Throw an error * if the string is no valid one. */ - static IntervalSpacing parse_interval_spacing (const string &name); + static IntervalSpacing parse_interval_spacing (const std::string &name); /** * Determine an estimate for the @@ -179,7 +179,7 @@ class Histogram * Exception. */ DeclException1 (ExcInvalidName, - string, + std::string, << "The given name <" << arg1 << "> does not match any of the known formats."); @@ -248,14 +248,14 @@ class Histogram * for each data set given to the * @p{evaluate} function. */ - vector > intervals; + std::vector > intervals; /** * Values for the depth axis of 3d * histograms. Stored in the @p{evaluate} * function. */ - vector y_values; + std::vector y_values; }; diff --git a/deal.II/deal.II/include/numerics/matrices.h b/deal.II/deal.II/include/numerics/matrices.h index c8be9c7cb2..6ce4fecfbb 100644 --- a/deal.II/deal.II/include/numerics/matrices.h +++ b/deal.II/deal.II/include/numerics/matrices.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -196,7 +196,7 @@ class MatrixCreator * See the general documentation of this * class for more detail. */ - typedef map*> FunctionMap; + typedef std::map*> FunctionMap; /** * Assemble the mass matrix. If no @@ -285,7 +285,7 @@ class MatrixCreator SparseMatrix &matrix, const FunctionMap &rhs, Vector &rhs_vector, - vector &vec_to_dof_mapping, + std::vector&vec_to_dof_mapping, const Function *a = 0); /** @@ -442,7 +442,7 @@ class MatrixTools : public MatrixCreator */ template static void - apply_boundary_values (const map &boundary_values, + apply_boundary_values (const std::map &boundary_values, SparseMatrix &matrix, Vector &solution, Vector &right_hand_side, @@ -458,7 +458,7 @@ class MatrixTools : public MatrixCreator * matrices and block vectors */ static void - apply_boundary_values (const map &boundary_values, + apply_boundary_values (const std::map &boundary_values, BlockSparseMatrix &matrix, BlockVector &solution, BlockVector &right_hand_side, diff --git a/deal.II/deal.II/include/numerics/solution_transfer.h b/deal.II/deal.II/include/numerics/solution_transfer.h index 90657955f0..fb5f381868 100644 --- a/deal.II/deal.II/include/numerics/solution_transfer.h +++ b/deal.II/deal.II/include/numerics/solution_transfer.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -202,7 +202,7 @@ class SolutionTransfer * onto the new (refined and/or * coarsenend) grid. */ - void prepare_for_coarsening_and_refinement (const vector > &all_in); + void prepare_for_coarsening_and_refinement (const std::vector > &all_in); /** * Same as previous function @@ -266,8 +266,8 @@ class SolutionTransfer * several functions can be * performed in one step. */ - void interpolate (const vector >&all_in, - vector > &all_out) const; + void interpolate (const std::vector >&all_in, + std::vector > &all_out) const; /** * Same as the previous function. @@ -369,7 +369,7 @@ class SolutionTransfer * and stores all dof indices * of the cells that'll be refined */ - vector > indices_on_cell; + std::vector > indices_on_cell; /** * All cell data (the dof indices and @@ -393,8 +393,8 @@ class SolutionTransfer struct Pointerstruct { unsigned int memory_consumption () const; - vector *indices_ptr; - vector > *dof_values_ptr; + std::vector *indices_ptr; + std::vector > *dof_values_ptr; }; /** @@ -406,7 +406,7 @@ class SolutionTransfer * collecting all these structures in a vector * helps avoiding fraqmentation of the memory. */ - vector all_pointerstructs; + std::vector all_pointerstructs; /** * Is used for @@ -415,7 +415,7 @@ class SolutionTransfer * of all cells that'll be coarsened * will be stored in this vector. */ - vector > > dof_values_on_cell; + std::vector > > dof_values_on_cell; }; diff --git a/deal.II/deal.II/include/numerics/time_dependent.h b/deal.II/deal.II/include/numerics/time_dependent.h index ca343f4525..8da611d0ea 100644 --- a/deal.II/deal.II/include/numerics/time_dependent.h +++ b/deal.II/deal.II/include/numerics/time_dependent.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -693,7 +693,7 @@ class TimeDependent * objects pointed to by the pointers * in this collection. */ - vector timesteps; + std::vector timesteps; /** * Number of the present sweep. This is @@ -1404,12 +1404,12 @@ class TimeStepBase_Tria : public TimeStepBase * vectors therefore hold the history * of the grid. */ - vector > refine_flags; + std::vector > refine_flags; /** * @see refine_flags */ - vector > coarsen_flags; + std::vector > coarsen_flags; /** * Restore the grid according to the saved @@ -1627,7 +1627,7 @@ struct TimeStepBase_Tria::RefinementFlags * See the general description of this * class for more information. */ - typedef vector > > CorrectionRelaxations; + typedef std::vector > > CorrectionRelaxations; /** * Default values for the relaxations: @@ -1699,7 +1699,7 @@ struct TimeStepBase_Tria::RefinementFlags * List of relaxations to the correction * step. */ - const vector > > correction_relaxations; + const std::vector > > correction_relaxations; /** * Number of iterations to be performed diff --git a/deal.II/deal.II/include/numerics/vectors.h b/deal.II/deal.II/include/numerics/vectors.h index 718489b4cd..04607f1714 100644 --- a/deal.II/deal.II/include/numerics/vectors.h +++ b/deal.II/deal.II/include/numerics/vectors.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -414,8 +414,8 @@ class VectorTools static void interpolate_boundary_values (const DoFHandler &dof, const unsigned char boundary_component, const Function &boundary_function, - map &boundary_values, - const vector &component_mask = vector()); + std::map &boundary_values, + const std::vector &component_mask = std::vector()); //TODO: Update project_boundary_values for more components //TODO: Replace FunctionMap @@ -440,9 +440,9 @@ class VectorTools */ template static void project_boundary_values (const DoFHandler &dof, - const map*> &boundary_function, + const std::map*> &boundary_function, const Quadrature &q, - map &boundary_values); + std::map &boundary_values); /** * Compute the error of the finite element solution. @@ -525,8 +525,8 @@ class VectorTools * be computed and later * subtracted. */ - static void subtract_mean_value(Vector &v, - const vector &p_select); + static void subtract_mean_value(Vector &v, + const std::vector &p_select); /** * Compute the mean value of one diff --git a/deal.II/deal.II/source/dofs/dof_accessor.cc b/deal.II/deal.II/source/dofs/dof_accessor.cc index c8723a907c..419f253434 100644 --- a/deal.II/deal.II/source/dofs/dof_accessor.cc +++ b/deal.II/deal.II/source/dofs/dof_accessor.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -109,7 +109,7 @@ distribute_local_to_global (const Vector &local_source, const unsigned int n_dofs = local_source.size(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell vector @@ -152,7 +152,7 @@ distribute_local_to_global (const FullMatrix &local_source, const unsigned int n_dofs = local_source.m(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell matrix @@ -181,7 +181,7 @@ DoFObjectAccessor<1,dim>::get_dof_values (const InputVector &values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line; - typename vector::iterator next_local_value=local_values.begin(); + typename Vector::iterator next_local_value=local_values.begin(); for (unsigned int vertex=0; vertex<2; ++vertex) for (unsigned int d=0; d::set_dof_values (const Vector &local_values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line; - typename vector::const_iterator next_local_value=local_values.begin(); + typename Vector::const_iterator next_local_value=local_values.begin(); for (unsigned int vertex=0; vertex<2; ++vertex) for (unsigned int d=0; d &local_source, const unsigned int n_dofs = local_source.size(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell vector @@ -318,7 +318,7 @@ distribute_local_to_global (const FullMatrix &local_source, const unsigned int n_dofs = local_source.m(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell matrix @@ -351,7 +351,7 @@ DoFObjectAccessor<2,dim>::get_dof_values (const InputVector &values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad; - typename vector::iterator next_local_value=local_values.begin(); + typename Vector::iterator next_local_value=local_values.begin(); for (unsigned int vertex=0; vertex<4; ++vertex) for (unsigned int d=0; d::set_dof_values (const Vector &local_values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad; - typename vector::const_iterator next_local_value=local_values.begin(); + typename Vector::const_iterator next_local_value=local_values.begin(); for (unsigned int vertex=0; vertex<4; ++vertex) for (unsigned int d=0; d::set_vertex_dof_index (const unsigned int vertex, template void DoFObjectAccessor<3, dim>:: distribute_local_to_global (const Vector &local_source, - Vector &global_destination) const { + Vector &global_destination) const +{ Assert (dof_handler != 0, typename DoFAccessor::ExcInvalidObject()); Assert (dof_handler->selected_fe != 0, @@ -467,7 +468,7 @@ distribute_local_to_global (const Vector &local_source, const unsigned int n_dofs = local_source.size(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell vector @@ -501,7 +502,7 @@ distribute_local_to_global (const FullMatrix &local_source, const unsigned int n_dofs = local_source.m(); // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // distribute cell matrix @@ -533,7 +534,7 @@ DoFObjectAccessor<3,dim>::get_dof_values (const InputVector &values, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad, dofs_per_hex = dof_handler->get_fe().dofs_per_hex; - typename vector::iterator next_local_value = local_values.begin(); + typename Vector::iterator next_local_value = local_values.begin(); for (unsigned int vertex=0; vertex::vertices_per_cell; ++vertex) for (unsigned int d=0; d::set_dof_values (const Vector &local_values, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad, dofs_per_hex = dof_handler->get_fe().dofs_per_hex; - typename vector::const_iterator next_local_value=local_values.begin(); + typename Vector::const_iterator next_local_value=local_values.begin(); for (unsigned int vertex=0; vertex::vertices_per_cell; ++vertex) for (unsigned int d=0; d::iterator line_ptr; - const vector::const_iterator start=lines.begin(); + std::vector::iterator line_ptr; + const std::vector::const_iterator start=lines.begin(); // the usual case is that the line where // a value is entered is the one we // added last, so we search backward - for (line_ptr=&lines.back(); line_ptr!=start; --line_ptr) + for (line_ptr=(lines.end()-1); line_ptr!=start; --line_ptr) if (line_ptr->line == line) break; @@ -97,7 +97,7 @@ void ConstraintMatrix::add_entry (const unsigned int line, // in any case: exit the function if an // entry for this column already exists, // since we don't want to enter it twice - for (vector >::const_iterator p=line_ptr->entries.begin(); + for (std::vector >::const_iterator p=line_ptr->entries.begin(); p != line_ptr->entries.end(); ++p) if (p->first == column) { @@ -106,22 +106,22 @@ void ConstraintMatrix::add_entry (const unsigned int line, return; }; - line_ptr->entries.push_back (make_pair(column,value)); + line_ptr->entries.push_back (std::make_pair(column,value)); }; void ConstraintMatrix::add_entries (const unsigned int line, - const vector > &col_val_pairs) + const std::vector > &col_val_pairs) { Assert (sorted==false, ExcMatrixIsClosed()); - vector::iterator line_ptr; - const vector::const_iterator start=lines.begin(); + std::vector::iterator line_ptr; + const std::vector::const_iterator start=lines.begin(); // the usual case is that the line where // a value is entered is the one we // added last, so we search backward - for (line_ptr=&lines.back(); line_ptr!=start; --line_ptr) + for (line_ptr=(lines.end()-1); line_ptr!=start; --line_ptr) if (line_ptr->line == line) break; @@ -140,10 +140,10 @@ void ConstraintMatrix::add_entries (const unsigned int li // an entry for this column already // exists, since we don't want to // enter it twice - for (vector >::const_iterator col_val_pair = col_val_pairs.begin(); + for (std::vector >::const_iterator col_val_pair = col_val_pairs.begin(); col_val_pair!=col_val_pairs.end(); ++col_val_pair) { - for (vector >::const_iterator p=line_ptr->entries.begin(); + for (std::vector >::const_iterator p=line_ptr->entries.begin(); p != line_ptr->entries.end(); ++p) if (p->first == col_val_pair->first) { @@ -167,8 +167,8 @@ void ConstraintMatrix::close () // sort the entries in the different lines // and strip zero entries - vector::iterator line = lines.begin(), - endl = lines.end(); + std::vector::iterator line = lines.begin(), + endl = lines.end(); for (; line!=endl; ++line) { // first remove zero @@ -181,8 +181,8 @@ void ConstraintMatrix::close () // 0*something can be omitted line->entries.erase (remove_if (line->entries.begin(), line->entries.end(), - compose1 (bind2nd (equal_to(), 0), - select2nd >())), + std::compose1 (std::bind2nd (std::equal_to(), 0), + std::select2nd >())), line->entries.end()); // now sort the remainder @@ -196,9 +196,9 @@ void ConstraintMatrix::close () // if in debug mode: check that no // dof is constraint to another dof // that is also constrained - for (vector::const_iterator line=lines.begin(); + for (std::vector::const_iterator line=lines.begin(); line!=lines.end(); ++line) - for (vector >::const_iterator entry=line->entries.begin(); + for (std::vector >::const_iterator entry=line->entries.begin(); entry!=line->entries.end(); ++entry) { // make sure that @@ -206,7 +206,7 @@ void ConstraintMatrix::close () // index of a line itself ConstraintLine test_line; test_line.line = entry->first; - const vector::const_iterator + const std::vector::const_iterator test_line_position = lower_bound (lines.begin(), lines.end(), test_line); @@ -224,7 +224,7 @@ void ConstraintMatrix::close () void ConstraintMatrix::clear () { - lines = vector(); + lines = std::vector(); sorted = false; }; @@ -243,12 +243,12 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed, // its new line number // after compression. If the shift is // -1, this line will be condensed away - vector new_line; + std::vector new_line; new_line.reserve (uncondensed.n_rows()); - vector::const_iterator next_constraint = lines.begin(); - unsigned int shift = 0; + std::vector::const_iterator next_constraint = lines.begin(); + unsigned int shift = 0; unsigned int n_rows = uncondensed.n_rows(); if (next_constraint == lines.end()) @@ -298,7 +298,7 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed, { // let c point to the constraint // of this column - vector::const_iterator c = lines.begin(); + std::vector::const_iterator c = lines.begin(); while (c->line != uncondensed.get_column_numbers()[j]) ++c; @@ -314,8 +314,8 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed, if (new_line[uncondensed.get_column_numbers()[j]] != -1) // column is not constrained for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) - condensed.add (new_line[next_constraint->entries[q].first], - new_line[uncondensed.get_column_numbers()[j]]); + condensed.add (new_line[next_constraint->entries[q].first], + new_line[uncondensed.get_column_numbers()[j]]); else // not only this line but @@ -323,13 +323,13 @@ void ConstraintMatrix::condense (const SparsityPattern &uncondensed, { // let c point to the constraint // of this column - vector::const_iterator c = lines.begin(); + std::vector::const_iterator c = lines.begin(); while (c->line != uncondensed.get_column_numbers()[j]) ++c; for (unsigned int p=0; p!=c->entries.size(); ++p) for (unsigned int q=0; q!=next_constraint->entries.size(); ++q) - condensed.add (new_line[next_constraint->entries[q].first], - new_line[c->entries[p].first]); + condensed.add (new_line[next_constraint->entries[q].first], + new_line[c->entries[p].first]); }; ++next_constraint; @@ -353,7 +353,7 @@ void ConstraintMatrix::condense (SparsityPattern &sparsity) const // otherwise, the number states which // line in the constraint matrix handles // this index - vector distribute(sparsity.n_rows(), -1); + std::vector distribute(sparsity.n_rows(), -1); for (unsigned int c=0; c(c); @@ -442,7 +442,7 @@ void ConstraintMatrix::condense (BlockSparsityPattern &sparsity) const // otherwise, the number states which // line in the constraint matrix handles // this index - vector distribute (sparsity.n_rows(), -1); + std::vector distribute (sparsity.n_rows(), -1); for (unsigned int c=0; c(c); @@ -452,7 +452,7 @@ void ConstraintMatrix::condense (BlockSparsityPattern &sparsity) const { // get index of this row // within the blocks - const pair + const std::pair block_index = index_mapping.global_to_local(row); const unsigned int block_row = block_index.first; @@ -584,7 +584,7 @@ bool ConstraintMatrix::is_constrained (const unsigned int index) const } else { - for (vector::const_iterator i=lines.begin(); + for (std::vector::const_iterator i=lines.begin(); i!=lines.end(); ++i) if (i->line == index) return true; @@ -598,26 +598,26 @@ bool ConstraintMatrix::is_constrained (const unsigned int index) const unsigned int ConstraintMatrix::max_constraint_indirections () const { unsigned int return_value = 0; - for (vector::const_iterator i=lines.begin(); + for (std::vector::const_iterator i=lines.begin(); i!=lines.end(); ++i) // use static cast, since // typeof(size)==size_t, which is // != unsigned int on AIX - return_value = max(return_value, - static_cast(i->entries.size())); + return_value = std::max(return_value, + static_cast(i->entries.size())); return return_value; }; -void ConstraintMatrix::print (ostream &out) const +void ConstraintMatrix::print (std::ostream &out) const { for (unsigned int i=0; i!=lines.size(); ++i) for (unsigned int j=0; j!=lines[i].entries.size(); ++j) out << " " << lines[i].line << " " << lines[i].entries[j].first - << ": " << lines[i].entries[j].second << endl; + << ": " << lines[i].entries[j].second << std::endl; AssertThrow (out, ExcIO()); }; diff --git a/deal.II/deal.II/source/dofs/dof_handler.cc b/deal.II/deal.II/source/dofs/dof_handler.cc index 8a341bd979..2c3046c3b4 100644 --- a/deal.II/deal.II/source/dofs/dof_handler.cc +++ b/deal.II/deal.II/source/dofs/dof_handler.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -1169,10 +1169,10 @@ unsigned int DoFHandler::n_boundary_dofs () const { Assert (selected_fe != 0, ExcNoFESelected()); - set boundary_dofs; + std::set boundary_dofs; const unsigned int dofs_per_face = selected_fe->dofs_per_face; - vector dofs_on_face(dofs_per_face); + std::vector dofs_on_face(dofs_per_face); active_face_iterator face = begin_active_face (), endf = end_face(); for (; face!=endf; ++face) @@ -1195,10 +1195,10 @@ DoFHandler::n_boundary_dofs (const FunctionMap &boundary_indicators) const Assert (boundary_indicators.find(255) == boundary_indicators.end(), ExcInvalidBoundaryIndicator()); - set boundary_dofs; + std::set boundary_dofs; const unsigned int dofs_per_face = selected_fe->dofs_per_face; - vector dofs_on_face(dofs_per_face); + std::vector dofs_on_face(dofs_per_face); active_face_iterator face = begin_active_face (), endf = end_face(); for (; face!=endf; ++face) @@ -1216,16 +1216,16 @@ DoFHandler::n_boundary_dofs (const FunctionMap &boundary_indicators) const template unsigned int -DoFHandler::n_boundary_dofs (const set &boundary_indicators) const +DoFHandler::n_boundary_dofs (const std::set &boundary_indicators) const { Assert (selected_fe != 0, ExcNoFESelected()); Assert (boundary_indicators.find (255) == boundary_indicators.end(), ExcInvalidBoundaryIndicator()); - set boundary_dofs; + std::set boundary_dofs; const unsigned int dofs_per_face = selected_fe->dofs_per_face; - vector dofs_on_face(dofs_per_face); + std::vector dofs_on_face(dofs_per_face); active_face_iterator face = begin_active_face (), endf = end_face(); for (; face!=endf; ++face) @@ -1317,14 +1317,14 @@ unsigned int DoFHandler<1>::distribute_dofs_on_cell (active_cell_iterator &cell, if (neighbor.state() == valid) { - // find true neighbor; may be its - // a child of @p{neighbor} + // find true neighbor; may be its + // a child of @p{neighbor} while (neighbor->has_children()) neighbor = neighbor->child(v==0 ? 1 : 0); // has neighbor already been processed? if (neighbor->user_flag_set()) - // copy dofs + // copy dofs { if (v==0) for (unsigned int d=0; ddofs_per_vertex; ++d) @@ -1468,16 +1468,17 @@ unsigned int DoFHandler<3>::distribute_dofs_on_cell (active_cell_iterator &cell, #if deal_II_dimension == 1 template <> -void DoFHandler<1>::renumber_dofs (const vector &new_numbers) { +void DoFHandler<1>::renumber_dofs (const std::vector &new_numbers) +{ Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete()); #ifdef DEBUG // assert that the new indices are // consecutively numbered if (true) { - vector tmp(new_numbers); + std::vector tmp(new_numbers); sort (tmp.begin(), tmp.end()); - vector::const_iterator p = tmp.begin(); + std::vector::const_iterator p = tmp.begin(); unsigned int i = 0; for (; p!=tmp.end(); ++p, ++i) Assert (*p == i, ExcNewNumbersNotConsecutive(i)); @@ -1492,7 +1493,7 @@ void DoFHandler<1>::renumber_dofs (const vector &new_numbers) { // faster; note, however, that dof numbers // may be invalid_dof_index, namely when the appropriate // vertex/line/etc is unused - for (vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) + for (std::vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; else @@ -1503,7 +1504,7 @@ void DoFHandler<1>::renumber_dofs (const vector &new_numbers) { ExcInternalError ()); for (unsigned int level=0; level::iterator i=levels[level]->line_dofs.begin(); + for (std::vector::iterator i=levels[level]->line_dofs.begin(); i!=levels[level]->line_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; @@ -1515,16 +1516,17 @@ void DoFHandler<1>::renumber_dofs (const vector &new_numbers) { #if deal_II_dimension == 2 template <> -void DoFHandler<2>::renumber_dofs (const vector &new_numbers) { +void DoFHandler<2>::renumber_dofs (const std::vector &new_numbers) +{ Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete()); #ifdef DEBUG // assert that the new indices are // consecutively numbered if (true) { - vector tmp(new_numbers); + std::vector tmp(new_numbers); sort (tmp.begin(), tmp.end()); - vector::const_iterator p = tmp.begin(); + std::vector::const_iterator p = tmp.begin(); unsigned int i = 0; for (; p!=tmp.end(); ++p, ++i) Assert (*p == i, ExcNewNumbersNotConsecutive(i)); @@ -1539,7 +1541,7 @@ void DoFHandler<2>::renumber_dofs (const vector &new_numbers) { // faster; note, however, that dof numbers // may be invalid_dof_index, namely when the appropriate // vertex/line/etc is unused - for (vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) + for (std::vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; else @@ -1551,11 +1553,11 @@ void DoFHandler<2>::renumber_dofs (const vector &new_numbers) { for (unsigned int level=0; level::iterator i=levels[level]->line_dofs.begin(); + for (std::vector::iterator i=levels[level]->line_dofs.begin(); i!=levels[level]->line_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; - for (vector::iterator i=levels[level]->quad_dofs.begin(); + for (std::vector::iterator i=levels[level]->quad_dofs.begin(); i!=levels[level]->quad_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; @@ -1568,17 +1570,18 @@ void DoFHandler<2>::renumber_dofs (const vector &new_numbers) { #if deal_II_dimension == 3 template <> -void DoFHandler<3>::renumber_dofs (const vector &new_numbers) { +void DoFHandler<3>::renumber_dofs (const std::vector &new_numbers) +{ Assert (new_numbers.size() == n_dofs(), ExcRenumberingIncomplete()); #ifdef DEBUG // assert that the new indices are // consecutively numbered if (true) { - vector tmp(new_numbers); + std::vector tmp(new_numbers); sort (tmp.begin(), tmp.end()); - vector::const_iterator p = tmp.begin(); - unsigned int i = 0; + std::vector::const_iterator p = tmp.begin(); + unsigned int i = 0; for (; p!=tmp.end(); ++p, ++i) Assert (*p == i, ExcNewNumbersNotConsecutive(i)); }; @@ -1592,7 +1595,7 @@ void DoFHandler<3>::renumber_dofs (const vector &new_numbers) { // faster; note, however, that dof numbers // may be invalid_dof_index, namely when the appropriate // vertex/line/etc is unused - for (vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) + for (std::vector::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; else @@ -1604,15 +1607,15 @@ void DoFHandler<3>::renumber_dofs (const vector &new_numbers) { for (unsigned int level=0; level::iterator i=levels[level]->line_dofs.begin(); + for (std::vector::iterator i=levels[level]->line_dofs.begin(); i!=levels[level]->line_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; - for (vector::iterator i=levels[level]->quad_dofs.begin(); + for (std::vector::iterator i=levels[level]->quad_dofs.begin(); i!=levels[level]->quad_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; - for (vector::iterator i=levels[level]->hex_dofs.begin(); + for (std::vector::iterator i=levels[level]->hex_dofs.begin(); i!=levels[level]->hex_dofs.end(); ++i) if (*i != invalid_dof_index) *i = new_numbers[*i]; @@ -1627,7 +1630,8 @@ void DoFHandler<3>::renumber_dofs (const vector &new_numbers) { template <> unsigned int DoFHandler<1>::max_couplings_between_dofs () const { Assert (selected_fe != 0, ExcNoFESelected()); - return min(3*selected_fe->dofs_per_vertex + 2*selected_fe->dofs_per_line, n_dofs()); + return std::min(3*selected_fe->dofs_per_vertex + + 2*selected_fe->dofs_per_line, n_dofs()); }; @@ -1700,7 +1704,7 @@ unsigned int DoFHandler<2>::max_couplings_between_dofs () const { Assert (false, ExcNotImplemented()); max_couplings=0; }; - return(min(max_couplings,n_dofs())); + return std::min(max_couplings,n_dofs()); }; @@ -1742,7 +1746,7 @@ unsigned int DoFHandler<3>::max_couplings_between_dofs () const { max_couplings=0; } - return min(max_couplings,n_dofs()); + return std::min(max_couplings,n_dofs()); }; @@ -1784,17 +1788,17 @@ void DoFHandler<1>::reserve_space () { // their size clear_space (); - vertex_dofs = vector(tria->vertices.size()* - selected_fe->dofs_per_vertex, - invalid_dof_index); + vertex_dofs = std::vector(tria->vertices.size()* + selected_fe->dofs_per_vertex, + invalid_dof_index); for (unsigned int i=0; in_levels(); ++i) { levels.push_back (new DoFLevel<1>); - levels.back()->line_dofs = vector(tria->levels[i]->lines.lines.size() * - selected_fe->dofs_per_line, - invalid_dof_index); + levels.back()->line_dofs = std::vector(tria->levels[i]->lines.lines.size() * + selected_fe->dofs_per_line, + invalid_dof_index); }; }; @@ -1815,19 +1819,19 @@ void DoFHandler<2>::reserve_space () { // their size clear_space (); - vertex_dofs = vector(tria->vertices.size()* - selected_fe->dofs_per_vertex, - invalid_dof_index); + vertex_dofs = std::vector(tria->vertices.size()* + selected_fe->dofs_per_vertex, + invalid_dof_index); for (unsigned int i=0; in_levels(); ++i) { levels.push_back (new DoFLevel<2>); - levels.back()->line_dofs = vector (tria->levels[i]->lines.lines.size() * - selected_fe->dofs_per_line, - invalid_dof_index); - levels.back()->quad_dofs = vector (tria->levels[i]->quads.quads.size() * - selected_fe->dofs_per_quad, - invalid_dof_index); + levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * + selected_fe->dofs_per_line, + invalid_dof_index); + levels.back()->quad_dofs = std::vector (tria->levels[i]->quads.quads.size() * + selected_fe->dofs_per_quad, + invalid_dof_index); }; }; @@ -1847,22 +1851,22 @@ void DoFHandler<3>::reserve_space () { // their size clear_space (); - vertex_dofs = vector(tria->vertices.size()* - selected_fe->dofs_per_vertex, - invalid_dof_index); + vertex_dofs = std::vector(tria->vertices.size()* + selected_fe->dofs_per_vertex, + invalid_dof_index); for (unsigned int i=0; in_levels(); ++i) { levels.push_back (new DoFLevel<3>); - levels.back()->line_dofs = vector (tria->levels[i]->lines.lines.size() * - selected_fe->dofs_per_line, - invalid_dof_index); - levels.back()->quad_dofs = vector (tria->levels[i]->quads.quads.size() * - selected_fe->dofs_per_quad, - invalid_dof_index); - levels.back()->hex_dofs = vector (tria->levels[i]->hexes.hexes.size() * - selected_fe->dofs_per_hex, - invalid_dof_index); + levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * + selected_fe->dofs_per_line, + invalid_dof_index); + levels.back()->quad_dofs = std::vector (tria->levels[i]->quads.quads.size() * + selected_fe->dofs_per_quad, + invalid_dof_index); + levels.back()->hex_dofs = std::vector (tria->levels[i]->hexes.hexes.size() * + selected_fe->dofs_per_hex, + invalid_dof_index); }; }; diff --git a/deal.II/deal.II/source/dofs/dof_levels.cc b/deal.II/deal.II/source/dofs/dof_levels.cc index bbde931123..9862b5200e 100644 --- a/deal.II/deal.II/source/dofs/dof_levels.cc +++ b/deal.II/deal.II/source/dofs/dof_levels.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/dofs/dof_renumbering.cc b/deal.II/deal.II/source/dofs/dof_renumbering.cc index a10992d65e..817c26896a 100644 --- a/deal.II/deal.II/source/dofs/dof_renumbering.cc +++ b/deal.II/deal.II/source/dofs/dof_renumbering.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -31,10 +31,10 @@ template -void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, - const bool reversed_numbering, - const bool use_constraints, - const vector &starting_indices) +void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, + const bool reversed_numbering, + const bool use_constraints, + const std::vector &starting_indices) { // make the connection graph SparsityPattern sparsity (dof_handler.n_dofs(), @@ -52,12 +52,13 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, const unsigned int n_dofs = sparsity.n_rows(); // store the new dof numbers; invalid_dof_index means // that no new number was chosen yet - vector new_number(sparsity.n_rows(), DoFHandler::invalid_dof_index); + std::vector new_number(sparsity.n_rows(), + DoFHandler::invalid_dof_index); // store the indices of the dofs renumbered // in the last round. Default to starting // points - vector last_round_dofs (starting_indices); + std::vector last_round_dofs (starting_indices); // delete disallowed elements for (unsigned int i=0; i &dof_handler, (last_round_dofs[i]>=n_dofs)) last_round_dofs[i] = DoFHandler::invalid_dof_index; - remove_if (last_round_dofs.begin(), last_round_dofs.end(), - bind2nd(equal_to(), DoFHandler::invalid_dof_index)); + std::remove_if (last_round_dofs.begin(), last_round_dofs.end(), + std::bind2nd(std::equal_to(), + DoFHandler::invalid_dof_index)); // now if no valid points remain: // find dof with lowest coordination @@ -130,7 +132,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, { // store the indices of the dofs to be // renumbered in the next round - vector next_round_dofs; + std::vector next_round_dofs; // find all neighbors of the // dofs numbered in the last @@ -147,7 +149,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, sort (next_round_dofs.begin(), next_round_dofs.end()); // delete multiple entries - vector::iterator end_sorted; + std::vector::iterator end_sorted; end_sorted = unique (next_round_dofs.begin(), next_round_dofs.end()); next_round_dofs.erase (end_sorted, next_round_dofs.end()); @@ -155,7 +157,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, // already numbered for (int s=next_round_dofs.size()-1; s>=0; --s) if (new_number[next_round_dofs[s]] != DoFHandler::invalid_dof_index) - next_round_dofs.erase (&next_round_dofs[s]); + next_round_dofs.erase (next_round_dofs.begin() + s); // check whether there are any new // dofs @@ -168,11 +170,11 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, // store for each coordination // number the dofs with these // coordination number - multimap dofs_by_coordination; + std::multimap dofs_by_coordination; // find coordination number for // each of these dofs - for (vector::iterator s=next_round_dofs.begin(); + for (std::vector::iterator s=next_round_dofs.begin(); s!=next_round_dofs.end(); ++s) { unsigned int coordination = 0; @@ -185,14 +187,14 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, // insert this dof at its // coordination number - const pair new_entry (coordination, *s); + const std::pair new_entry (coordination, *s); dofs_by_coordination.insert (new_entry); }; // assign new DoF numbers to // the elements of the present // front: - multimap::iterator i; + std::multimap::iterator i; for (i = dofs_by_coordination.begin(); i!=dofs_by_coordination.end(); ++i) new_number[i->second] = next_free_number++; @@ -229,7 +231,7 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, #endif if (reversed_numbering) - for (vector::iterator i=new_number.begin(); i!=new_number.end(); ++i) + for (std::vector::iterator i=new_number.begin(); i!=new_number.end(); ++i) *i = n_dofs-*i; // actually perform renumbering; @@ -240,10 +242,10 @@ void DoFRenumbering::Cuthill_McKee (DoFHandler &dof_handler, template -void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, - const unsigned int level, - const bool reversed_numbering, - const vector &starting_indices) +void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, + const unsigned int level, + const bool reversed_numbering, + const std::vector &starting_indices) { // make the connection graph SparsityPattern sparsity (dof_handler.n_dofs(level), @@ -253,12 +255,12 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, const unsigned int n_dofs = sparsity.n_rows(); // store the new dof numbers; invalid_dof_index means // that no new number was chosen yet - vector new_number(n_dofs, DoFHandler::invalid_dof_index); + std::vector new_number(n_dofs, DoFHandler::invalid_dof_index); // store the indices of the dofs renumbered // in the last round. Default to starting // points - vector last_round_dofs (starting_indices); + std::vector last_round_dofs (starting_indices); // delete disallowed elements for (unsigned int i=0; i &dof_handler, (last_round_dofs[i]>=n_dofs)) last_round_dofs[i] = DoFHandler::invalid_dof_index; - remove_if (last_round_dofs.begin(), last_round_dofs.end(), - bind2nd(equal_to(), DoFHandler::invalid_dof_index)); + std::remove_if (last_round_dofs.begin(), last_round_dofs.end(), + std::bind2nd(std::equal_to(), + DoFHandler::invalid_dof_index)); // now if no valid points remain: // find dof with lowest coordination @@ -313,7 +316,7 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, { // store the indices of the dofs to be // renumbered in the next round - vector next_round_dofs; + std::vector next_round_dofs; // find all neighbors of the // dofs numbered in the last @@ -330,15 +333,15 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, sort (next_round_dofs.begin(), next_round_dofs.end()); // delete multiple entries - vector::iterator end_sorted; - end_sorted = unique (next_round_dofs.begin(), next_round_dofs.end()); + std::vector::iterator end_sorted; + end_sorted = std::unique (next_round_dofs.begin(), next_round_dofs.end()); next_round_dofs.erase (end_sorted, next_round_dofs.end()); // eliminate dofs which are // already numbered for (int s=next_round_dofs.size()-1; s>=0; --s) if (new_number[next_round_dofs[s]] != DoFHandler::invalid_dof_index) - next_round_dofs.erase (&next_round_dofs[s]); + next_round_dofs.erase (next_round_dofs.begin() + s); // check whether there are any new // dofs @@ -351,11 +354,11 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, // store for each coordination // number the dofs with these // coordination number - multimap dofs_by_coordination; + std::multimap dofs_by_coordination; // find coordination number for // each of these dofs - for (vector::iterator s=next_round_dofs.begin(); + for (std::vector::iterator s=next_round_dofs.begin(); s!=next_round_dofs.end(); ++s) { unsigned int coordination = 0; @@ -368,12 +371,12 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, // insert this dof at its // coordination number - const pair new_entry (coordination, *s); + const std::pair new_entry (coordination, *s); dofs_by_coordination.insert (new_entry); }; //// - multimap::iterator i; + std::multimap::iterator i; for (i = dofs_by_coordination.begin(); i!=dofs_by_coordination.end(); ++i) new_number[i->second] = next_free_number++; @@ -394,7 +397,7 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, #endif if (reversed_numbering) - for (vector::iterator i=new_number.begin(); i!=new_number.end(); ++i) + for (std::vector::iterator i=new_number.begin(); i!=new_number.end(); ++i) *i = n_dofs-*i; // actually perform renumbering; @@ -406,8 +409,8 @@ void DoFRenumbering::Cuthill_McKee (MGDoFHandler &dof_handler, template -void DoFRenumbering::component_wise (DoFHandler &dof_handler, - const vector &component_order_arg) +void DoFRenumbering::component_wise (DoFHandler &dof_handler, + const std::vector &component_order_arg) { const unsigned int dofs_per_cell = dof_handler.get_fe().dofs_per_cell; @@ -416,7 +419,7 @@ void DoFRenumbering::component_wise (DoFHandler &dof_handler, if (dof_handler.get_fe().n_components() == 1) return; - vector component_order (component_order_arg); + std::vector component_order (component_order_arg); if (component_order.size() == 0) for (unsigned int i=0; i &dof_handler, // vector to hold the dof indices on // the cell we visit at a time - vector local_dof_indices(dofs_per_cell); + std::vector local_dof_indices(dofs_per_cell); // prebuilt list to which component // a given dof on a cell belongs - vector component_list (dofs_per_cell); + std::vector component_list (dofs_per_cell); for (unsigned int i=0; i &dof_handler, // sorted by dof index. note also that some // dof indices are entered multiply, so we // will have to take care of that - vector > component_to_dof_map (dof_handler.get_fe().n_components()); + std::vector > component_to_dof_map (dof_handler.get_fe().n_components()); for (typename DoFHandler::active_cell_iterator cell=dof_handler.begin_active(); cell!=dof_handler.end(); ++cell) { @@ -481,14 +484,15 @@ void DoFRenumbering::component_wise (DoFHandler &dof_handler, }; unsigned int next_free_index = 0; - vector new_indices (dof_handler.n_dofs(), DoFHandler::invalid_dof_index); + std::vector new_indices (dof_handler.n_dofs(), + DoFHandler::invalid_dof_index); for (unsigned int component=0; component::const_iterator + const typename std::vector::const_iterator begin_of_component = component_to_dof_map[component].begin(), end_of_component = component_to_dof_map[component].end(); - for (typename vector::const_iterator dof_index = begin_of_component; + for (typename std::vector::const_iterator dof_index = begin_of_component; dof_index != end_of_component; ++dof_index) new_indices[*dof_index] = next_free_index++; }; @@ -503,8 +507,8 @@ void DoFRenumbering::component_wise (DoFHandler &dof_handler, template void -DoFRenumbering::sort_selected_dofs_back (DoFHandler &dof_handler, - const vector &selected_dofs) +DoFRenumbering::sort_selected_dofs_back (DoFHandler &dof_handler, + const std::vector &selected_dofs) { const unsigned int n_dofs = dof_handler.n_dofs(); Assert (selected_dofs.size() == n_dofs, @@ -512,7 +516,7 @@ DoFRenumbering::sort_selected_dofs_back (DoFHandler &dof_handler, // re-sort the dofs according to // their selection state - vector new_dof_indices (n_dofs); + std::vector new_dof_indices (n_dofs); const unsigned int n_selected_dofs = count (selected_dofs.begin(), selected_dofs.end(), false); @@ -541,7 +545,7 @@ DoFRenumbering::sort_selected_dofs_back (DoFHandler &dof_handler, template void DoFRenumbering::cell_wise_dg (DoFHandler& dof, - const vector::cell_iterator>& cells) + const std::vector::cell_iterator>& cells) { Assert(cells.size() == dof.get_tria().n_active_cells(), ExcDimensionMismatch(cells.size(), @@ -562,12 +566,12 @@ DoFRenumbering::cell_wise_dg (DoFHandler& dof, unsigned int n_global_dofs = dof.n_dofs(); unsigned int n_cell_dofs = dof.get_fe().n_dofs_per_cell(); - vector new_order(n_global_dofs); - vector cell_dofs(n_cell_dofs); + std::vector new_order(n_global_dofs); + std::vector cell_dofs(n_cell_dofs); unsigned int global_index = 0; - typename vector::cell_iterator>::const_iterator cell; + typename std::vector::cell_iterator>::const_iterator cell; for(cell = cells.begin(); cell != cells.end(); ++cell) { @@ -581,7 +585,7 @@ DoFRenumbering::cell_wise_dg (DoFHandler& dof, } Assert(global_index == n_global_dofs, ExcRenumberingIncomplete()); - vector reverse(new_order.size()); + std::vector reverse(new_order.size()); for (unsigned int i=0;i void DoFRenumbering::cell_wise_dg (MGDoFHandler& dof, unsigned int level, - const vector::cell_iterator>& cells) + const std::vector::cell_iterator>& cells) { Assert(cells.size() == dof.get_tria().n_cells(level), ExcDimensionMismatch(cells.size(), @@ -616,12 +620,12 @@ DoFRenumbering::cell_wise_dg (MGDoFHandler& dof, unsigned int n_global_dofs = dof.n_dofs(level); unsigned int n_cell_dofs = dof.get_fe().n_dofs_per_cell(); - vector new_order(n_global_dofs); - vector cell_dofs(n_cell_dofs); + std::vector new_order(n_global_dofs); + std::vector cell_dofs(n_cell_dofs); unsigned int global_index = 0; - typename vector::cell_iterator>::const_iterator cell; + typename std::vector::cell_iterator>::const_iterator cell; for(cell = cells.begin(); cell != cells.end(); ++cell) { @@ -637,7 +641,7 @@ DoFRenumbering::cell_wise_dg (MGDoFHandler& dof, } Assert(global_index == n_global_dofs, ExcRenumberingIncomplete()); - vector reverse(new_order.size()); + std::vector reverse(new_order.size()); for (unsigned int i=0;i& dof, const Point& direction) { - vector::cell_iterator> + std::vector::cell_iterator> ordered_cells(dof.get_tria().n_active_cells()); CompCells comparator(direction); @@ -701,7 +705,7 @@ DoFRenumbering::downstream_dg (MGDoFHandler& dof, const unsigned int level, const Point& direction) { - vector::cell_iterator> + std::vector::cell_iterator> ordered_cells(dof.get_tria().n_cells(level)); CompCells comparator(direction); @@ -719,7 +723,7 @@ DoFRenumbering::downstream_dg (MGDoFHandler& dof, // lrand48 to be declared (rather than do so itself. however, // inclusion of or does not help, so we declare // that function ourselves -extern "C" long int lrand48 (void); +extern "C" long int lrand48 (void) throw(); template @@ -728,7 +732,7 @@ DoFRenumbering::random (DoFHandler &dof_handler) { const unsigned int n_dofs = dof_handler.n_dofs(); - vector new_indices (n_dofs); + std::vector new_indices (n_dofs); for (unsigned i=0; i&, const bool, const bool, - const vector&); + const std::vector&); template void DoFRenumbering::Cuthill_McKee (MGDoFHandler&, const unsigned int, const bool, - const vector&); + const std::vector&); template void DoFRenumbering::component_wise (DoFHandler&, - const vector&); + const std::vector&); template void DoFRenumbering::cell_wise_dg (DoFHandler&, - const vector::cell_iterator>&); + const std::vector::cell_iterator>&); template void DoFRenumbering::cell_wise_dg (MGDoFHandler&, unsigned int, - const vector::cell_iterator>&); + const std::vector::cell_iterator>&); template void DoFRenumbering::downstream_dg (DoFHandler&, @@ -777,7 +781,7 @@ void DoFRenumbering::downstream_dg (MGDoFHandler&, template void DoFRenumbering::sort_selected_dofs_back (DoFHandler &, - const vector &); + const std::vector &); template void DoFRenumbering::random (DoFHandler &); diff --git a/deal.II/deal.II/source/dofs/dof_tools.cc b/deal.II/deal.II/source/dofs/dof_tools.cc index 6e9f8de5ca..29f66c3c34 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -45,7 +45,7 @@ DoFTools::make_sparsity_pattern (const DoFHandler &dof, ExcDimensionMismatch (sparsity.n_cols(), n_dofs)); const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(dofs_per_cell); + std::vector dofs_on_this_cell(dofs_per_cell); DoFHandler::active_cell_iterator cell = dof.begin_active(), endc = dof.end(); for (; cell!=endc; ++cell) @@ -62,9 +62,9 @@ DoFTools::make_sparsity_pattern (const DoFHandler &dof, template void -DoFTools::make_sparsity_pattern (const DoFHandler &dof, - const vector > &mask, - SparsityPattern &sparsity) +DoFTools::make_sparsity_pattern (const DoFHandler &dof, + const std::vector > &mask, + SparsityPattern &sparsity) { const unsigned int n_dofs = dof.n_dofs(); const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell; @@ -82,8 +82,8 @@ DoFTools::make_sparsity_pattern (const DoFHandler &dof, // first build a mask for each dof, // not like the one given which represents // components - vector > dof_mask(dofs_per_cell, - vector(dofs_per_cell, false)); + std::vector > dof_mask(dofs_per_cell, + std::vector(dofs_per_cell, false)); for (unsigned int i=0; i &dof, [dof.get_fe().system_to_component_index(j).first]; - vector dofs_on_this_cell(dofs_per_cell); + std::vector dofs_on_this_cell(dofs_per_cell); DoFHandler::active_cell_iterator cell = dof.begin_active(), - endc = dof.end(); + endc = dof.end(); for (; cell!=endc; ++cell) { cell->get_dof_indices (dofs_on_this_cell); @@ -111,10 +111,10 @@ DoFTools::make_sparsity_pattern (const DoFHandler &dof, template <> void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&, - const vector &, + const std::vector &, SparsityPattern &) { - Assert (false, ExcInternalError()); + Assert (false, ExcInternalError()); }; @@ -122,7 +122,7 @@ template <> void DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&, const DoFHandler<1>::FunctionMap &, - const vector &, + const std::vector &, SparsityPattern &) { Assert (false, ExcInternalError()); @@ -134,7 +134,7 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler<1>&, template void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, - const vector &dof_to_boundary_mapping, + const std::vector &dof_to_boundary_mapping, SparsityPattern &sparsity) { const unsigned int n_dofs = dof.n_dofs(); @@ -149,9 +149,9 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, ExcInternalError()); const unsigned int dofs_per_face = dof.get_fe().dofs_per_face; - vector dofs_on_this_face(dofs_per_face); + std::vector dofs_on_this_face(dofs_per_face); DoFHandler::active_face_iterator face = dof.begin_active_face(), - endf = dof.end_face(); + endf = dof.end_face(); for (; face!=endf; ++face) if (face->at_boundary()) { @@ -175,7 +175,7 @@ DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, template void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, const DoFHandler::FunctionMap &boundary_indicators, - const vector &dof_to_boundary_mapping, + const std::vector &dof_to_boundary_mapping, SparsityPattern &sparsity) { const unsigned int n_dofs = dof.n_dofs(); @@ -191,7 +191,7 @@ void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, if (true) { unsigned int max_element = 0; - for (vector::const_iterator i=dof_to_boundary_mapping.begin(); + for (std::vector::const_iterator i=dof_to_boundary_mapping.begin(); i!=dof_to_boundary_mapping.end(); ++i) if ((*i != DoFHandler::invalid_dof_index) && (*i > max_element)) @@ -202,9 +202,9 @@ void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, #endif const unsigned int dofs_per_face = dof.get_fe().dofs_per_face; - vector dofs_on_this_face(dofs_per_face); + std::vector dofs_on_this_face(dofs_per_face); DoFHandler::active_face_iterator face = dof.begin_active_face(), - endf = dof.end_face(); + endf = dof.end_face(); for (; face!=endf; ++face) if (boundary_indicators.find(face->boundary_indicator()) != boundary_indicators.end()) @@ -238,8 +238,8 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler &dof, ExcDimensionMismatch (sparsity.n_cols(), n_dofs)); const unsigned int total_dofs = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(total_dofs); - vector dofs_on_other_cell(total_dofs); + std::vector dofs_on_this_cell(total_dofs); + std::vector dofs_on_other_cell(total_dofs); DoFHandler::active_cell_iterator cell = dof.begin_active(), endc = dof.end(); @@ -341,16 +341,16 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler &dof, ExcDimensionMismatch (flux_mask.n(), n_comp)); const unsigned int total_dofs = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(total_dofs); - vector dofs_on_other_cell(total_dofs); + std::vector dofs_on_this_cell(total_dofs); + std::vector dofs_on_other_cell(total_dofs); DoFHandler::active_cell_iterator cell = dof.begin_active(), endc = dof.end(); - vector > int_dof_mask(total_dofs, - vector(total_dofs, false)); - vector > flux_dof_mask(total_dofs, - vector(total_dofs, false)); + std::vector > int_dof_mask(total_dofs, + std::vector(total_dofs, false)); + std::vector > flux_dof_mask(total_dofs, + std::vector(total_dofs, false)); for (unsigned int i=0; i &dof_handler, const unsigned int n_dofs_on_mother = 2*fe.dofs_per_vertex + fe.dofs_per_line, n_dofs_on_children = fe.dofs_per_vertex + 2*fe.dofs_per_line; - vector dofs_on_mother(n_dofs_on_mother); - vector dofs_on_children(n_dofs_on_children); + std::vector dofs_on_mother(n_dofs_on_mother); + std::vector dofs_on_children(n_dofs_on_children); Assert(n_dofs_on_mother == fe.constraints().n(), ExcDimensionMismatch(n_dofs_on_mother, @@ -564,8 +564,8 @@ void DoFTools::make_hanging_node_constraints (const DoFHandler<3> &dof_handler, 12*fe.dofs_per_line+ 4*fe.dofs_per_quad); - vector dofs_on_mother(n_dofs_on_mother); - vector dofs_on_children(n_dofs_on_children); + std::vector dofs_on_mother(n_dofs_on_mother); + std::vector dofs_on_children(n_dofs_on_children); Assert(n_dofs_on_mother == fe.constraints().n(), ExcDimensionMismatch(n_dofs_on_mother, @@ -707,13 +707,13 @@ void DoFTools::distribute_cell_to_dof_vector (const DoFHandler &dof_handler // count how often we have added a value // in the sum for each dof - vector touch_count (dof_handler.n_dofs(), 0); + std::vector touch_count (dof_handler.n_dofs(), 0); DoFHandler::active_cell_iterator cell = dof_handler.begin_active(), endc = dof_handler.end(); unsigned int present_cell = 0; const unsigned int dofs_per_cell = fe.dofs_per_cell; - vector dof_indices (dofs_per_cell); + std::vector dof_indices (dofs_per_cell); for (; cell!=endc; ++cell, ++present_cell) { @@ -754,9 +754,9 @@ void DoFTools::distribute_cell_to_dof_vector (const DoFHandler &dof_handler template void -DoFTools::extract_dofs (const DoFHandler &dof, - const vector &component_select, - vector &selected_dofs) +DoFTools::extract_dofs (const DoFHandler &dof, + const std::vector &component_select, + std::vector &selected_dofs) { const FiniteElement &fe = dof.get_fe(); Assert(component_select.size() == fe.n_components(), @@ -767,7 +767,7 @@ DoFTools::extract_dofs (const DoFHandler &dof, // preset all values by false fill_n (selected_dofs.begin(), dof.n_dofs(), false); - vector indices(fe.dofs_per_cell); + std::vector indices(fe.dofs_per_cell); DoFHandler::active_cell_iterator c; for (c = dof.begin_active() ; c != dof.end() ; ++ c) @@ -788,8 +788,8 @@ template void DoFTools::extract_level_dofs(const unsigned int level, const MGDoFHandler &dof, - const vector &component_select, - vector &selected_dofs) + const std::vector &component_select, + std::vector &selected_dofs) { const FiniteElement& fe = dof.get_fe(); Assert(component_select.size() == fe.n_components(), @@ -800,7 +800,7 @@ DoFTools::extract_level_dofs(const unsigned int level, // preset all values by false fill_n (selected_dofs.begin(), dof.n_dofs(level), false); - vector indices(fe.dofs_per_cell); + std::vector indices(fe.dofs_per_cell); MGDoFHandler::cell_iterator c; for (c = dof.begin(level) ; c != dof.end(level) ; ++ c) @@ -821,10 +821,10 @@ DoFTools::extract_level_dofs(const unsigned int level, template void -DoFTools::extract_boundary_dofs (const DoFHandler &dof_handler, - const vector &component_select, - vector &selected_dofs, - const set &boundary_indicators) +DoFTools::extract_boundary_dofs (const DoFHandler &dof_handler, + const std::vector &component_select, + std::vector &selected_dofs, + const std::set &boundary_indicators) { Assert (component_select.size() == dof_handler.get_fe().n_components(), ExcWrongSize (component_select.size(), @@ -842,7 +842,7 @@ DoFTools::extract_boundary_dofs (const DoFHandler &dof_handler, // values selected_dofs.clear (); selected_dofs.resize (dof_handler.n_dofs(), false); - vector face_dof_indices (dof_handler.get_fe().dofs_per_face); + std::vector face_dof_indices (dof_handler.get_fe().dofs_per_face); for (DoFHandler::active_cell_iterator cell=dof_handler.begin_active(); cell!=dof_handler.end(); ++cell) for (unsigned int face=0; face::faces_per_cell; ++face) @@ -850,13 +850,13 @@ DoFTools::extract_boundary_dofs (const DoFHandler &dof_handler, if (! check_boundary_indicator || (boundary_indicators.find (cell->face(face)->boundary_indicator()) != boundary_indicators.end())) - { - cell->face(face)->get_dof_indices (face_dof_indices); - for (unsigned int i=0; iface(face)->get_dof_indices (face_dof_indices); + for (unsigned int i=0; i &dof_handler, template <> void -DoFTools::extract_boundary_dofs (const DoFHandler<1> &dof_handler, - const vector &component_select, - vector &selected_dofs) +DoFTools::extract_boundary_dofs (const DoFHandler<1> &dof_handler, + const std::vector &component_select, + std::vector &selected_dofs) { Assert (component_select.size() == dof_handler.get_fe().n_components(), ExcWrongSize (component_select.size(), @@ -909,7 +909,7 @@ DoFTools::extract_boundary_dofs (const DoFHandler<1> &dof_handler, template <> void DoFTools::extract_hanging_node_dofs (const DoFHandler<1> &dof_handler, - vector &selected_dofs) + std::vector &selected_dofs) { Assert(selected_dofs.size() == dof_handler.n_dofs(), ExcDimensionMismatch(selected_dofs.size(), dof_handler.n_dofs())); @@ -928,7 +928,7 @@ DoFTools::extract_hanging_node_dofs (const DoFHandler<1> &dof_handler, template <> void DoFTools::extract_hanging_node_dofs (const DoFHandler<2> &dof_handler, - vector &selected_dofs) + std::vector &selected_dofs) { const unsigned int dim = 2; @@ -968,7 +968,7 @@ DoFTools::extract_hanging_node_dofs (const DoFHandler<2> &dof_handler, template <> void DoFTools::extract_hanging_node_dofs (const DoFHandler<3> &dof_handler, - vector &selected_dofs) + std::vector &selected_dofs) { const unsigned int dim = 3; @@ -1126,8 +1126,8 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &coa // degree of freedom of the // coarse-grid variable in the // fine-grid element - vector > parameter_dofs (coarse_dofs_per_cell_component, - Vector(fine_dofs_per_cell)); + std::vector > parameter_dofs (coarse_dofs_per_cell_component, + Vector(fine_dofs_per_cell)); // for each coarse dof: find its // position within the fine element // and set this value to one in the @@ -1151,8 +1151,8 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &coa // to true if this is an // interesting dof. finally count // how many true's there - vector dof_is_interesting (fine_grid.n_dofs(), false); - vector local_dof_indices (fine_fe.dofs_per_cell); + std::vector dof_is_interesting (fine_grid.n_dofs(), false); + std::vector local_dof_indices (fine_fe.dofs_per_cell); for (DoFHandler::active_cell_iterator cell=fine_grid.begin_active(); cell!=fine_grid.end(); ++cell) @@ -1171,11 +1171,11 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &coa // get an array in which we store // which dof on the coarse grid is // a parameter and which is not - vector coarse_dof_is_parameter (coarse_grid.n_dofs()); + std::vector coarse_dof_is_parameter (coarse_grid.n_dofs()); if (true) { - vector mask (coarse_grid.get_fe().n_components(), - false); + std::vector mask (coarse_grid.get_fe().n_components(), + false); mask[coarse_component] = true; extract_dofs (coarse_grid, mask, coarse_dof_is_parameter); }; @@ -1210,12 +1210,12 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &coa // that parameter dof, if it is any // other dof, then its value is -1, // indicating an error - vector weight_mapping (n_fine_dofs, -1); + std::vector weight_mapping (n_fine_dofs, -1); // set up this mapping if (true) { - vector local_dof_indices(fine_fe.dofs_per_cell); + std::vector local_dof_indices(fine_fe.dofs_per_cell); unsigned int next_free_index=0; for (typename DoFHandler::active_cell_iterator cell=fine_grid.begin_active(); cell != fine_grid.end(); ++cell) @@ -1307,7 +1307,7 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &coa // while all others will be // constrained to this dof (and // possibly others) - vector representants(weights.m(), -1); + std::vector representants(weights.m(), -1); for (unsigned int parameter_dof=0; parameter_dof &coa // which takes the bulk of the // time, but it is not known to the // author how to make it faster... - vector > constraint_line; + std::vector > constraint_line; for (unsigned int global_dof=0; global_dof &coa constraint_line.clear (); for (unsigned int row=first_used_row; row &coarse_grid, const unsigned int coarse_component, const InterGridMap &coarse_to_fine_grid_map, - const vector > ¶meter_dofs, - const vector &weight_mapping, + const std::vector > ¶meter_dofs, + const std::vector &weight_mapping, FullMatrix &weights) { // simply distribute the range of // cells to different threads typedef typename DoFHandler::active_cell_iterator active_cell_iterator; - vector > + std::vector > cell_intervals = Threads::split_range (coarse_grid.begin_active(), coarse_grid.end(), multithread_info.n_default_threads); @@ -1440,8 +1440,8 @@ void DoFTools::compute_intergrid_weights_1 (const DoFHandler &coarse_grid, const unsigned int coarse_component, const InterGridMap &coarse_to_fine_grid_map, - const vector > ¶meter_dofs, - const vector &weight_mapping, + const std::vector > ¶meter_dofs, + const std::vector &weight_mapping, FullMatrix &weights, const typename DoFHandler::active_cell_iterator &begin, const typename DoFHandler::active_cell_iterator &end) @@ -1523,7 +1523,7 @@ DoFTools::compute_intergrid_weights_1 (const DoFHandler &coars Vector global_parameter_representation (n_fine_dofs); typename DoFHandler::active_cell_iterator cell; - vector parameter_dof_indices (coarse_fe.dofs_per_cell); + std::vector parameter_dof_indices (coarse_fe.dofs_per_cell); for (cell=begin; cell!=end; ++cell) { @@ -1612,7 +1612,7 @@ DoFTools::compute_intergrid_weights_1 (const DoFHandler &coars template <> void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler, - vector &) + std::vector &) { Assert (&dof_handler.get_fe() != 0, ExcNoFESelected()); Assert (false, ExcNotImplemented()); @@ -1623,7 +1623,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler, template <> void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler, const set &, - vector &) + std::vector &) { Assert (&dof_handler.get_fe() != 0, ExcNoFESelected()); Assert (false, ExcNotImplemented()); @@ -1634,8 +1634,8 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler<1> &dof_handler, template -void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, - vector &mapping) +void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, + std::vector &mapping) { Assert (&dof_handler.get_fe() != 0, ExcNoFESelected()); @@ -1644,7 +1644,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, DoFHandler::invalid_dof_index); const unsigned int dofs_per_face = dof_handler.get_fe().dofs_per_face; - vector dofs_on_face(dofs_per_face); + std::vector dofs_on_face(dofs_per_face); unsigned int next_boundary_index = 0; typename DoFHandler::active_face_iterator face = dof_handler.begin_active_face(), @@ -1665,9 +1665,9 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, template -void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, - const set &boundary_indicators, - vector &mapping) +void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handler, + const std::set &boundary_indicators, + std::vector &mapping) { Assert (&dof_handler.get_fe() != 0, ExcNoFESelected()); Assert (boundary_indicators.find (255) == boundary_indicators.end(), @@ -1682,7 +1682,7 @@ void DoFTools::map_dof_to_boundary_indices (const DoFHandler &dof_handle return; const unsigned int dofs_per_face = dof_handler.get_fe().dofs_per_face; - vector dofs_on_face(dofs_per_face); + std::vector dofs_on_face(dofs_per_face); unsigned int next_boundary_index = 0; typename DoFHandler::active_face_iterator face = dof_handler.begin_active_face(), @@ -1717,12 +1717,12 @@ DoFTools::make_flux_sparsity_pattern (const DoFHandler& dof, const FullMatrix&); template void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, - const vector &, + const std::vector &, SparsityPattern &); template void DoFTools::make_boundary_sparsity_pattern (const DoFHandler& dof, const DoFHandler::FunctionMap &boundary_indicators, - const vector &dof_to_boundary_mapping, + const std::vector &dof_to_boundary_mapping, SparsityPattern &sparsity); #endif @@ -1736,12 +1736,12 @@ DoFTools::make_sparsity_pattern (const DoFHandler &dof, template void DoFTools::make_sparsity_pattern (const DoFHandler& dof, - const vector > &mask, + const std::vector > &mask, SparsityPattern &sparsity); template void DoFTools::make_sparsity_pattern (const DoFHandler& dof, - const vector > &mask, + const std::vector > &mask, BlockSparsityPattern &sparsity); template @@ -1758,20 +1758,20 @@ DoFTools::distribute_cell_to_dof_vector (const DoFHandler &do template void DoFTools::extract_dofs(const DoFHandler& dof, - const vector& component_select, - vector& selected_dofs); + const std::vector& component_select, + std::vector& selected_dofs); template void DoFTools::extract_level_dofs(unsigned int level, const MGDoFHandler& dof, - const vector& component_select, - vector& selected_dofs); + const std::vector& component_select, + std::vector& selected_dofs); #if deal_II_dimension != 1 template void DoFTools::extract_boundary_dofs (const DoFHandler &, - const vector &, - vector &); + const std::vector &, + std::vector &); #endif template @@ -1790,12 +1790,12 @@ DoFTools::compute_intergrid_constraints (const DoFHandler &, template void DoFTools::map_dof_to_boundary_indices (const DoFHandler &, - vector &); + std::vector &); template void DoFTools::map_dof_to_boundary_indices (const DoFHandler &, - const set &, - vector &); + const std::set &, + std::vector &); #endif diff --git a/deal.II/deal.II/source/fe/fe.cc b/deal.II/deal.II/source/fe/fe.cc index 6813a265d4..8c290ea738 100644 --- a/deal.II/deal.II/source/fe/fe.cc +++ b/deal.II/deal.II/source/fe/fe.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -145,14 +145,14 @@ bool FiniteElementData::operator== (const FiniteElementData &f) const template FiniteElementBase::FiniteElementBase (const FiniteElementData &fe_data, - const vector &restriction_is_additive_flags) : + const std::vector &restriction_is_additive_flags) : FiniteElementData (fe_data), - system_to_component_table(dofs_per_cell), - face_system_to_component_table(dofs_per_face), - component_to_system_table(components, vector(dofs_per_cell)), - face_component_to_system_table(components, vector(dofs_per_face)), - component_to_base_table(components), - restriction_is_additive_flags(restriction_is_additive_flags) + system_to_component_table(dofs_per_cell), + face_system_to_component_table(dofs_per_face), + component_to_system_table(components, std::vector(dofs_per_cell)), + face_component_to_system_table(components, std::vector(dofs_per_face)), + component_to_base_table(components), + restriction_is_additive_flags(restriction_is_additive_flags) { Assert(restriction_is_additive_flags.size()==fe_data.components, ExcWrongFieldDimension(restriction_is_additive_flags.size(),fe_data.components)); @@ -194,12 +194,12 @@ FiniteElementBase::FiniteElementBase (const FiniteElementData &fe_data // to fill these arrays for (unsigned int j=0 ; j(0,j); + system_to_component_table[j] = std::pair(0,j); component_to_system_table[0][j] = j; } for (unsigned int j=0 ; j(0,j); + face_system_to_component_table[j] = std::pair(0,j); face_component_to_system_table[0][j] = j; } }; @@ -274,7 +274,7 @@ FiniteElementBase::memory_consumption () const template FiniteElement::FiniteElement (const FiniteElementData &fe_data, - const vector &restriction_is_additive_flags) : + const std::vector &restriction_is_additive_flags) : FiniteElementBase (fe_data, restriction_is_additive_flags) {}; @@ -282,22 +282,22 @@ FiniteElement::FiniteElement (const FiniteElementData &fe_data, template <> void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const; + std::vector > &support_points) const; template <> void FiniteElement<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &, - const vector > > &) const { + const std::vector > > &) const { Assert ((!compute_jacobians) || (jacobians.size() == unit_points.size()), ExcWrongFieldDimension(jacobians.size(), unit_points.size())); Assert ((!compute_jacobians_grad) || (jacobians_grad.size() == unit_points.size()), @@ -340,22 +340,22 @@ void FiniteElement<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell, template <> void FiniteElement<1>::fill_fe_face_values (const DoFHandler<1>::cell_iterator &, const unsigned int , - const vector > &, - const vector > &, - vector > &, + const std::vector > &, + const std::vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector &, + std::vector &, const bool , - vector > &, + std::vector > &, const bool, const FullMatrix &, - const vector > > &) const { + const std::vector > > &) const { Assert (false, ExcNotImplemented()); }; @@ -364,26 +364,26 @@ template <> void FiniteElement<1>::fill_fe_subface_values (const DoFHandler<1>::cell_iterator &, const unsigned int , const unsigned int , - const vector > &, - const vector > &, - vector > &, + const std::vector > &, + const std::vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector &, + std::vector &, const bool , - vector > &, + std::vector > &, const bool, const FullMatrix &, - const vector > > &) const { + const std::vector > > &) const { Assert (false, ExcNotImplemented()); }; template <> -void FiniteElement<1>::get_unit_support_points (vector > &support_points) const { +void FiniteElement<1>::get_unit_support_points (std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension(support_points.size(), dofs_per_cell)); // compute support points. The first ones @@ -405,7 +405,7 @@ void FiniteElement<1>::get_unit_support_points (vector > &support_point template <> void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension(support_points.size(), dofs_per_cell)); // compute support points. The first ones @@ -423,7 +423,7 @@ void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &c // now dofs on line for (unsigned int i=0; ivertex(0) + - Point<1>((i+1.0)/(dofs_per_line+1.0)*h); + Point<1>((i+1.0)/(dofs_per_line+1.0)*h); }; #endif @@ -431,17 +431,17 @@ void FiniteElement<1>::get_support_points (const DoFHandler<1>::cell_iterator &c template void FiniteElement::fill_fe_values (const DoFHandler::cell_iterator &, - const vector > &, - vector > &, + const std::vector > &, + std::vector > &, const bool, - vector > &, + std::vector > &, const bool, - vector > &, + std::vector > &, const bool, - vector > &, + std::vector > &, const bool, const FullMatrix &, - const vector > > &) const { + const std::vector > > &) const { Assert (false, ExcPureFunctionCalled()); }; @@ -449,22 +449,22 @@ void FiniteElement::fill_fe_values (const DoFHandler::cell_iterator &, template void FiniteElement::fill_fe_face_values (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - const vector > &global_unit_points, - vector > &jacobians, + const std::vector > &unit_points, + const std::vector > &global_unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, - vector &face_jacobi_determinants, + std::vector &face_jacobi_determinants, const bool compute_face_jacobians, - vector > &normal_vectors, + std::vector > &normal_vectors, const bool compute_normal_vectors, const FullMatrix &shape_values_transform, - const vector > > &shape_gradients_transform) const + const std::vector > > &shape_gradients_transform) const { Assert (jacobians.size() == unit_points.size(), typename FiniteElementBase::ExcWrongFieldDimension(jacobians.size(), @@ -480,7 +480,7 @@ void FiniteElement::fill_fe_face_values (const DoFHandler::cell_iterat dofs_per_face)); // size not checked since not used - static vector > dummy(0); + static std::vector > dummy(0); fill_fe_values (cell, global_unit_points, jacobians, compute_jacobians, jacobians_grad, compute_jacobians_grad, @@ -505,20 +505,20 @@ template void FiniteElement::fill_fe_subface_values (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - const vector > &global_unit_points, - vector > &jacobians, + const std::vector > &unit_points, + const std::vector > &global_unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, - vector &face_jacobi_determinants, + std::vector &face_jacobi_determinants, const bool compute_face_jacobians, - vector > &normal_vectors, + std::vector > &normal_vectors, const bool compute_normal_vectors, const FullMatrix &shape_values_transform, - const vector > > &shape_gradients_transform) const + const std::vector > > &shape_gradients_transform) const { Assert (jacobians.size() == unit_points.size(), typename FiniteElementBase::ExcWrongFieldDimension(jacobians.size(), @@ -530,7 +530,7 @@ void FiniteElement::fill_fe_subface_values (const DoFHandler::cell_ite typename FiniteElementBase::ExcWrongFieldDimension(global_unit_points.size(), unit_points.size())); - static vector > dummy(0); // size not checked since not used + static std::vector > dummy(0); // size not checked since not used fill_fe_values (cell, global_unit_points, jacobians, compute_jacobians, jacobians_grad, compute_jacobians_grad, @@ -550,7 +550,7 @@ void FiniteElement::fill_fe_subface_values (const DoFHandler::cell_ite template void -FiniteElement::get_unit_support_points (vector > &) const +FiniteElement::get_unit_support_points (std::vector > &) const { Assert (false, ExcPureFunctionCalled()); }; @@ -559,7 +559,7 @@ FiniteElement::get_unit_support_points (vector > &) const template void FiniteElement::get_support_points (const DoFHandler::cell_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcPureFunctionCalled()); }; diff --git a/deal.II/deal.II/source/fe/fe_lib.criss_cross.cc b/deal.II/deal.II/source/fe/fe_lib.criss_cross.cc index e6bc8ef1ee..4198e4fc7f 100644 --- a/deal.II/deal.II/source/fe/fe_lib.criss_cross.cc +++ b/deal.II/deal.II/source/fe/fe_lib.criss_cross.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -26,7 +26,7 @@ n_functions := 5: - # note: support_points[i] is a vector which is indexed from + # note: support_points[i] is a std::vector which is indexed from # one and not from zero! support_points[0] := [0,0]: support_points[1] := [1,0]: @@ -313,9 +313,9 @@ template <> FECrissCross<1>::FECrissCross () : - // set more or less invalid data + // set more or less invalid data FiniteElement<1> (FiniteElementData<1> (0,0,0,0), - vector()) + std::vector()) { Assert (false, ExcNotUseful()); }; @@ -343,21 +343,21 @@ Tensor<2,1> FECrissCross<1>::shape_grad_grad (const unsigned int, const Point<1> template <> -void FECrissCross<1>::get_unit_support_points (vector >&) const { +void FECrissCross<1>::get_unit_support_points (std::vector >&) const { Assert (false, ExcNotUseful()); }; template <> void FECrissCross<1>::get_support_points (const DoFHandler<1>::cell_iterator &, - vector > &) const { + std::vector > &) const { Assert (false, ExcNotUseful()); }; template <> void FECrissCross<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const { + std::vector > &) const { Assert (false, ExcNotUseful()); }; @@ -387,8 +387,8 @@ Tensor<1,1> FECrissCross<1>::shape_grad_transform (const unsigned int, template <> void FECrissCross<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &, - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcNotUseful()); }; @@ -396,8 +396,8 @@ void FECrissCross<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &, template <> void FECrissCross<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &, const unsigned int, - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcNotUseful()); }; @@ -405,8 +405,8 @@ void FECrissCross<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator template <> void FECrissCross<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcNotUseful()); }; @@ -415,25 +415,25 @@ template <> void FECrissCross<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &, const unsigned int, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcNotUseful()); }; template <> void FECrissCross<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &, - const vector > &, - vector > &, - const bool , - vector > &, - const bool , - vector > &, - const bool , - vector > &, - const bool , - const FullMatrix &, - const vector > > &) const { + const std::vector > &, + std::vector > &, + const bool , + std::vector > &, + const bool , + std::vector > &, + const bool , + std::vector > &, + const bool , + const FullMatrix &, + const std::vector > > &) const { Assert (false, ExcNotUseful()); }; @@ -446,7 +446,7 @@ void FECrissCross<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &, template <> FECrissCross<2>::FECrissCross () : FiniteElement<2> (FiniteElementData<2> (1,0,1,5,1), - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,0) = 1./2.; interface_constraints(0,1) = 1./2.; @@ -566,9 +566,9 @@ FECrissCross<2>::shape_grad_grad (const unsigned int i, template <> -void FECrissCross<2>::get_unit_support_points (vector > &unit_points) const { +void FECrissCross<2>::get_unit_support_points (std::vector > &unit_points) const { Assert(unit_points.size()==dofs_per_cell, - ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); + ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); unit_points[0] = Point<2> (0,0); unit_points[1] = Point<2> (1,0); @@ -580,7 +580,7 @@ void FECrissCross<2>::get_unit_support_points (vector > &unit_points) c template <> void FECrissCross<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { const unsigned int dim = 2; Assert (support_points.size() == dofs_per_cell, @@ -616,7 +616,7 @@ void FECrissCross<2>::get_support_points (const DoFHandler<2>::cell_iterator &ce template <> void FECrissCross<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, - vector > &support_points) const { + std::vector > &support_points) const { const unsigned int dim = 2; Assert ((support_points.size() == dofs_per_face) && @@ -789,8 +789,8 @@ Tensor<1,2> FECrissCross<2>::shape_grad_transform (const unsigned int i, template <> void FECrissCross<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face, - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { // more or less copied from the linear // finite element Assert (unit_points.size() == face_jacobians.size(), @@ -810,8 +810,8 @@ void FECrissCross<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &fa template <> void FECrissCross<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &face, const unsigned int, - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { // more or less copied from the linear // finite element Assert (unit_points.size() == face_jacobians.size(), @@ -833,8 +833,8 @@ void FECrissCross<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator template <> void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { // more or less copied from the linear // finite element Assert (unit_points.size() == normal_vectors.size(), @@ -864,8 +864,8 @@ template <> void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell, const unsigned int face_no, const unsigned int, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { // more or less copied from the linear // finite element // note, that in 2D the normal vectors to the @@ -898,17 +898,17 @@ void FECrissCross<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &ce template void FECrissCross::fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &/*shape_grad_transform*/) const { + const std::vector > > &/*shape_grad_transform*/) const { Assert (jacobians.size() == unit_points.size(), typename FiniteElementBase::ExcWrongFieldDimension(jacobians.size(), unit_points.size())); @@ -950,7 +950,7 @@ void FECrissCross::fill_fe_values (const DoFHandler::cell_iterator &ce /* jacobi matrices: compute d(x)/d(xi) and invert this Let M(l) be the inverse of J at the quadrature point l, then M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j) - where p_i(s) is the i-th coordinate of the s-th vertex vector, + where p_i(s) is the i-th coordinate of the s-th vertex std::vector, N_s(l) is the value of the s-th shape function at the quadrature point l. @@ -1127,9 +1127,9 @@ void FECrissCross::fill_fe_values (const DoFHandler::cell_iterator &ce template <> FECrissCross<3>::FECrissCross () : - // set more or less invalid data + // set more or less invalid data FiniteElement<3> (FiniteElementData<3> (0,0,0,0,0,0), - vector()) + std::vector()) { Assert (false, ExcNotImplemented()); }; @@ -1138,7 +1138,7 @@ FECrissCross<3>::FECrissCross () : template <> double FECrissCross<3>::shape_value (const unsigned int, - const Point<3> &) const + const Point<3> &) const { Assert (false, ExcNotImplemented()); return 0; @@ -1148,7 +1148,7 @@ FECrissCross<3>::shape_value (const unsigned int, template <> Tensor<1,3> FECrissCross<3>::shape_grad (const unsigned int, - const Point<3> &) const + const Point<3> &) const { Assert (false, ExcNotImplemented()); return Tensor<1,3>(); @@ -1158,7 +1158,7 @@ FECrissCross<3>::shape_grad (const unsigned int, template <> Tensor<2,3> FECrissCross<3>::shape_grad_grad (const unsigned int, - const Point<3> &) const + const Point<3> &) const { Assert (false, ExcNotImplemented()); return Tensor<2,3>(); @@ -1168,14 +1168,14 @@ FECrissCross<3>::shape_grad_grad (const unsigned int, template <> void FECrissCross<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, - FullMatrix &) const + FullMatrix &) const { Assert (false, ExcNotImplemented()); }; template <> -void FECrissCross<3>::get_unit_support_points (vector > &) const +void FECrissCross<3>::get_unit_support_points (std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -1183,7 +1183,7 @@ void FECrissCross<3>::get_unit_support_points (vector > &) const template <> void FECrissCross<3>::get_support_points (const DoFHandler<3>::cell_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -1191,7 +1191,7 @@ void FECrissCross<3>::get_support_points (const DoFHandler<3>::cell_iterator &, template <> void FECrissCross<3>::get_face_support_points (const DoFHandler<3>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -1199,8 +1199,8 @@ void FECrissCross<3>::get_face_support_points (const DoFHandler<3>::face_iterato template <> void FECrissCross<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &, - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcNotImplemented()); }; @@ -1208,8 +1208,8 @@ void FECrissCross<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &, template <> void FECrissCross<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator &, const unsigned int, - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcNotImplemented()); }; @@ -1217,8 +1217,8 @@ void FECrissCross<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator template <> void FECrissCross<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -1227,25 +1227,25 @@ template <> void FECrissCross<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &, const unsigned int, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcNotImplemented()); }; template <> void FECrissCross<3>::fill_fe_values (const DoFHandler<3>::cell_iterator &, - const vector > &, - vector > &, + const std::vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , - vector > &, + std::vector > &, const bool , const FullMatrix &, - const vector > > &) const { + const std::vector > > &) const { Assert (false, ExcNotImplemented()); }; diff --git a/deal.II/deal.II/source/fe/fe_lib.cubic.cc b/deal.II/deal.II/source/fe/fe_lib.cubic.cc index a1913c760d..9dcb745bf4 100644 --- a/deal.II/deal.II/source/fe/fe_lib.cubic.cc +++ b/deal.II/deal.II/source/fe/fe_lib.cubic.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEQ3::initialize_matrices (); template <> FEQ3<1>::FEQ3 () : FEQ1Mapping<1> (1, 2, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { initialize_matrices (); }; @@ -37,7 +37,7 @@ FEQ3<1>::FEQ3 () : template <> FEQ3<1>::FEQ3 (const int) : FEQ1Mapping<1> (0, 4, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -117,7 +117,7 @@ void FEQ3<1>::initialize_matrices () template <> double FEQ3<1>::shape_value (const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i::shape_value (const unsigned int i, template <> Tensor<1,1> FEQ3<1>::shape_grad (const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i::shape_grad (const unsigned int i, template <> Tensor<2,1> FEQ3<1>::shape_grad_grad (const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert (i::shape_grad_grad (const unsigned int i, template <> -void FEQ3<1>::get_unit_support_points (vector > &unit_points) const { +void FEQ3<1>::get_unit_support_points (std::vector > &unit_points) const { FiniteElement<1>::get_unit_support_points (unit_points); }; template <> void FEQ3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; template <> void FEQ3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const { + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -239,7 +239,7 @@ void FEQ3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, template <> FEQ3<2>::FEQ3 () : FEQ1Mapping<2> (1, 2, 4, 0, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,0) = -1.0/16.0; interface_constraints(0,1) = -1.0/16.0; @@ -263,7 +263,7 @@ FEQ3<2>::FEQ3 () : template <> FEQ3<2>::FEQ3 (const int) : FEQ1Mapping<2> (0, 0, 16, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -695,7 +695,7 @@ void FEQ3<2>::initialize_matrices () template <> double FEQ3<2>::shape_value (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_value (const unsigned int i, switch (i) { case 0: return 1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+(-11.0/2.0+ -121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi)*eta+(9.0-99.0/2.0*xi+81.0*xi*xi --81.0/2.0*xi*xi*xi)*eta*eta+(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi -*xi)*eta*eta*eta; + 121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi)*eta+(9.0-99.0/2.0*xi+81.0*xi*xi + -81.0/2.0*xi*xi*xi)*eta*eta+(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi + *xi)*eta*eta*eta; case 1: return xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+(-11.0/2.0*xi+99.0/4.0 -*xi*xi-99.0/4.0*xi*xi*xi)*eta+(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta*eta -+(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta; + *xi*xi-99.0/4.0*xi*xi*xi)*eta+(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta*eta + +(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta; case 2: return (xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi)*eta+(-9.0/2.0*xi+ -81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0* -xi*xi*xi)*eta*eta*eta; + 81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0* + xi*xi*xi)*eta*eta*eta; case 3: return (1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi)*eta+(-9.0/ -2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0-99.0/4.0*xi+ -81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta; + 2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta+(9.0/2.0-99.0/4.0*xi+ + 81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta*eta; case 4: return 9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+(-99.0/2.0*xi+ -495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi)*eta+(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi* -xi*xi)*eta*eta+(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta; + 495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi)*eta+(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi* + xi*xi)*eta*eta+(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta; case 5: return -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+(99.0/4.0*xi --99.0*xi*xi+297.0/4.0*xi*xi*xi)*eta+(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi* -xi)*eta*eta+(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta; + -99.0*xi*xi+297.0/4.0*xi*xi*xi)*eta+(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi* + xi)*eta*eta+(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta; case 6: return (9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+(-45.0/2.0 -*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0*xi-243.0/4.0*xi*xi+ -243.0/4.0*xi*xi*xi)*eta*eta*eta; + *xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0*xi-243.0/4.0*xi*xi+ + 243.0/4.0*xi*xi*xi)*eta*eta*eta; case 7: return (-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+(18.0 -*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta*eta+(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0* -xi*xi*xi)*eta*eta*eta; + *xi-81.0*xi*xi+81.0*xi*xi*xi)*eta*eta+(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0* + xi*xi*xi)*eta*eta*eta; case 8: return (9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi)*eta+(-81.0/2.0 -*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta+(81.0/2.0*xi-405.0/4.0*xi*xi+ -243.0/4.0*xi*xi*xi)*eta*eta*eta; + *xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta+(81.0/2.0*xi-405.0/4.0*xi*xi+ + 243.0/4.0*xi*xi*xi)*eta*eta*eta; case 9: return (-9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi)*eta+(81.0/4.0 -*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta+(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0* -xi*xi*xi)*eta*eta*eta; + *xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta+(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0* + xi*xi*xi)*eta*eta*eta; case 10: return (9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+( --45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0 --297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta; + -45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta*eta+(27.0/2.0 + -297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta*eta; case 11: return (-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi) -*eta+(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta*eta+(-27.0/2.0+297.0/4.0*xi --243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta; + *eta+(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta*eta+(-27.0/2.0+297.0/4.0*xi + -243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta*eta; case 12: return (81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+( --405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta*eta+(243.0/2.0*xi --1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta*eta; + -405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta*eta+(243.0/2.0*xi + -1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta*eta; case 13: return (-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+( -405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta*eta+(-243.0/4.0*xi+243.0*xi* -xi-729.0/4.0*xi*xi*xi)*eta*eta*eta; + 405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta*eta+(-243.0/4.0*xi+243.0*xi* + xi-729.0/4.0*xi*xi*xi)*eta*eta*eta; case 14: return (81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+(-81.0* -xi+324.0*xi*xi-243.0*xi*xi*xi)*eta*eta+(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi* -xi*xi)*eta*eta*eta; + xi+324.0*xi*xi-243.0*xi*xi*xi)*eta*eta+(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi* + xi*xi)*eta*eta*eta; case 15: return (-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+( -162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta*eta+(-243.0/2.0*xi+1215.0/4.0*xi*xi --729.0/4.0*xi*xi*xi)*eta*eta*eta; + 162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta*eta+(-243.0/2.0*xi+1215.0/4.0*xi*xi + -729.0/4.0*xi*xi*xi)*eta*eta*eta; }; return 0; }; @@ -760,7 +760,7 @@ xi*xi)*eta*eta*eta; template <> Tensor<1,2> FEQ3<2>::shape_grad (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_grad (const unsigned int i, switch (i) { case 0: return Point<2>(-11.0/2.0+18.0*xi-27.0/2.0*xi*xi+(121.0/4.0-99.0*xi+297.0/4.0*xi*xi)*eta+(-99.0/2.0+162.0*xi-243.0/2.0*xi*xi)*eta*eta+(99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta*eta*eta, - -11.0/2.0+121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi+2.0*(9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta); + -11.0/2.0+121.0/4.0*xi-99.0/2.0*xi*xi+99.0/4.0*xi*xi*xi+2.0*(9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta); case 1: return Point<2>(1.0-9.0*xi+27.0/2.0*xi*xi+(-11.0/2.0+99.0/2.0*xi-297.0/4.0*xi*xi)*eta+(9.0-81.0*xi+243.0/2.0*xi*xi)*eta*eta+(-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta*eta*eta, - -11.0/2.0*xi+99.0/4.0*xi*xi-99.0/4.0*xi*xi*xi+2.0*(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta); + -11.0/2.0*xi+99.0/4.0*xi*xi-99.0/4.0*xi*xi*xi+2.0*(9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi)*eta+3.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta); case 2: return Point<2>((1.0-9.0*xi+27.0/2.0*xi*xi)*eta+(-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta*eta+(9.0/2.0-81.0/2.0*xi+243.0/4.0*xi*xi)*eta*eta*eta, - xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta); + xi-9.0/2.0*xi*xi+9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0*xi-81.0/4.0*xi*xi+81.0/4.0*xi*xi*xi)*eta*eta); case 3: return Point<2>((-11.0/2.0+18.0*xi-27.0/2.0*xi*xi)*eta+(99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta*eta+(-99.0/4.0+81.0*xi-243.0/4.0*xi*xi)*eta*eta*eta, - 1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0-99.0/4.0*xi+81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta); + 1.0-11.0/2.0*xi+9.0*xi*xi-9.0/2.0*xi*xi*xi+2.0*(-9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi)*eta+3.0*(9.0/2.0-99.0/4.0*xi+81.0/2.0*xi*xi-81.0/4.0*xi*xi*xi)*eta*eta); case 4: return Point<2>(9.0-45.0*xi+81.0/2.0*xi*xi+(-99.0/2.0+495.0/2.0*xi-891.0/4.0*xi*xi)*eta+(81.0-405.0*xi+729.0/2.0*xi*xi)*eta*eta+(-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta*eta, - -99.0/2.0*xi+495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi+2.0*(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+3.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); + -99.0/2.0*xi+495.0/4.0*xi*xi-297.0/4.0*xi*xi*xi+2.0*(81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi)*eta+3.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); case 5: return Point<2>(-9.0/2.0+36.0*xi-81.0/2.0*xi*xi+(99.0/4.0-198.0*xi+891.0/4.0*xi*xi)*eta+(-81.0/2.0+324.0*xi-729.0/2.0*xi*xi)*eta*eta+(81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta*eta*eta, - 99.0/4.0*xi-99.0*xi*xi+297.0/4.0*xi*xi*xi+2.0*(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+3.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); + 99.0/4.0*xi-99.0*xi*xi+297.0/4.0*xi*xi*xi+2.0*(-81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi)*eta+3.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); case 6: return Point<2>((9.0-81.0*xi+243.0/2.0*xi*xi)*eta+(-45.0/2.0+405.0/2.0*xi-1215.0/4.0*xi*xi)*eta*eta+(27.0/2.0-243.0/2.0*xi+729.0/4.0*xi*xi)*eta*eta*eta, - 9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0*xi-243.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); + 9.0*xi-81.0/2.0*xi*xi+81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0*xi+405.0/4.0*xi*xi-405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0*xi-243.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); case 7: return Point<2>((-9.0/2.0+81.0/2.0*xi-243.0/4.0*xi*xi)*eta+(18.0-162.0*xi+243.0*xi*xi)*eta*eta+(-27.0/2.0+243.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta*eta, - -9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi+2.0*(18.0*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); + -9.0/2.0*xi+81.0/4.0*xi*xi-81.0/4.0*xi*xi*xi+2.0*(18.0*xi-81.0*xi*xi+81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0*xi+243.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); case 8: return Point<2>((9.0-45.0*xi+81.0/2.0*xi*xi)*eta+(-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta*eta+(81.0/2.0-405.0/2.0*xi+729.0/4.0*xi*xi)*eta*eta*eta, - 9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+2.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+3.0*(81.0/2.0*xi-405.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); + 9.0*xi-45.0/2.0*xi*xi+27.0/2.0*xi*xi*xi+2.0*(-81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi)*eta+3.0*(81.0/2.0*xi-405.0/4.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); case 9: return Point<2>((-9.0/2.0+36.0*xi-81.0/2.0*xi*xi)*eta+(81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta*eta+(-81.0/4.0+162.0*xi-729.0/4.0*xi*xi)*eta*eta*eta, - -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+2.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+3.0*(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); + -9.0/2.0*xi+18.0*xi*xi-27.0/2.0*xi*xi*xi+2.0*(81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi)*eta+3.0*(-81.0/4.0*xi+81.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); case 10: return Point<2>((-99.0/2.0+162.0*xi-243.0/2.0*xi*xi)*eta+(495.0/4.0-405.0*xi+1215.0/4.0*xi*xi)*eta*eta+(-297.0/4.0+243.0*xi-729.0/4.0*xi*xi)*eta*eta*eta, - 9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0-297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); + 9.0-99.0/2.0*xi+81.0*xi*xi-81.0/2.0*xi*xi*xi+2.0*(-45.0/2.0+495.0/4.0*xi-405.0/2.0*xi*xi+405.0/4.0*xi*xi*xi)*eta+3.0*(27.0/2.0-297.0/4.0*xi+243.0/2.0*xi*xi-243.0/4.0*xi*xi*xi)*eta*eta); case 11: return Point<2>((99.0/4.0-81.0*xi+243.0/4.0*xi*xi)*eta+(-99.0+324.0*xi-243.0*xi*xi)*eta*eta+(297.0/4.0-243.0*xi+729.0/4.0*xi*xi)*eta*eta*eta, - -9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi+2.0*(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0+297.0/4.0*xi-243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); + -9.0/2.0+99.0/4.0*xi-81.0/2.0*xi*xi+81.0/4.0*xi*xi*xi+2.0*(18.0-99.0*xi+162.0*xi*xi-81.0*xi*xi*xi)*eta+3.0*(-27.0/2.0+297.0/4.0*xi-243.0/2.0*xi*xi+243.0/4.0*xi*xi*xi)*eta*eta); case 12: return Point<2>((81.0-405.0*xi+729.0/2.0*xi*xi)*eta+(-405.0/2.0+2025.0/2.0*xi-3645.0/4.0*xi*xi)*eta*eta+(243.0/2.0-1215.0/2.0*xi+2187.0/4.0*xi*xi)*eta*eta*eta, - 81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi+2.0*(-405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta+3.0*(243.0/2.0*xi-1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta); + 81.0*xi-405.0/2.0*xi*xi+243.0/2.0*xi*xi*xi+2.0*(-405.0/2.0*xi+2025.0/4.0*xi*xi-1215.0/4.0*xi*xi*xi)*eta+3.0*(243.0/2.0*xi-1215.0/4.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta); case 13: return Point<2>((-81.0/2.0+324.0*xi-729.0/2.0*xi*xi)*eta+(405.0/4.0-810.0*xi+3645.0/4.0*xi*xi)*eta*eta+(-243.0/4.0+486.0*xi-2187.0/4.0*xi*xi)*eta*eta*eta, - -81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi+2.0*(405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta+3.0*(-243.0/4.0*xi+243.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta); + -81.0/2.0*xi+162.0*xi*xi-243.0/2.0*xi*xi*xi+2.0*(405.0/4.0*xi-405.0*xi*xi+1215.0/4.0*xi*xi*xi)*eta+3.0*(-243.0/4.0*xi+243.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta); case 14: return Point<2>((81.0/4.0-162.0*xi+729.0/4.0*xi*xi)*eta+(-81.0+648.0*xi-729.0*xi*xi)*eta*eta+(243.0/4.0-486.0*xi+2187.0/4.0*xi*xi)*eta*eta*eta, - 81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi+2.0*(-81.0*xi+324.0*xi*xi-243.0*xi*xi*xi)*eta+3.0*(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta); + 81.0/4.0*xi-81.0*xi*xi+243.0/4.0*xi*xi*xi+2.0*(-81.0*xi+324.0*xi*xi-243.0*xi*xi*xi)*eta+3.0*(243.0/4.0*xi-243.0*xi*xi+729.0/4.0*xi*xi*xi)*eta*eta); case 15: return Point<2>((-81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi)*eta+(162.0-810.0*xi+729.0*xi*xi)*eta*eta+(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta*eta, - -81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi+2.0*(162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta+3.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta); + -81.0/2.0*xi+405.0/4.0*xi*xi-243.0/4.0*xi*xi*xi+2.0*(162.0*xi-405.0*xi*xi+243.0*xi*xi*xi)*eta+3.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta*eta); }; return Point<2> (); }; @@ -813,7 +813,7 @@ FEQ3<2>::shape_grad (const unsigned int i, template <> Tensor<2,2> FEQ3<2>::shape_grad_grad (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_grad_grad (const unsigned int i, return_value[0][1] = -81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi+2.0*(162.0-810.0*xi+729.0*xi*xi)*eta+3.0*(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta; return_value[1][0] = -81.0/2.0+405.0/2.0*xi-729.0/4.0*xi*xi+2.0*(162.0-810.0*xi+729.0*xi*xi)*eta+3.0*(-243.0/2.0+1215.0/2.0*xi-2187.0/4.0*xi*xi)*eta*eta; return_value[1][1] = 324.0*xi-810.0*xi*xi+486.0*xi*xi*xi+6.0*(-243.0/2.0*xi+1215.0/4.0*xi*xi-729.0/4.0*xi*xi*xi)*eta; - break; + break; }; return return_value; }; @@ -914,7 +914,7 @@ FEQ3<2>::shape_grad_grad (const unsigned int i, template <> void FEQ3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -1474,7 +1474,7 @@ void FEQ3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, template <> -void FEQ3<2>::get_unit_support_points (vector > &unit_points) const { +void FEQ3<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -1499,7 +1499,7 @@ void FEQ3<2>::get_unit_support_points (vector > &unit_points) const { template <> void FEQ3<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -1572,7 +1572,7 @@ void FEQ3<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, template <> void FEQ3<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_face, ExcWrongFieldDimension (support_points.size(), dofs_per_face)); @@ -1597,260 +1597,260 @@ void FEQ3<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, template <> FEQ3<3>::FEQ3 () : FEQ1Mapping<3> (1, 2, 4, 8, 1, - vector (1, false)) + std::vector (1, false)) { - interface_constraints(0,0) = 1.0/256.0; - interface_constraints(0,1) = 1.0/256.0; - interface_constraints(0,2) = 1.0/256.0; - interface_constraints(0,3) = 1.0/256.0; - interface_constraints(0,4) = -9.0/256.0; - interface_constraints(0,5) = -9.0/256.0; - interface_constraints(0,6) = -9.0/256.0; - interface_constraints(0,7) = -9.0/256.0; - interface_constraints(0,8) = -9.0/256.0; - interface_constraints(0,9) = -9.0/256.0; - interface_constraints(0,10) = -9.0/256.0; - interface_constraints(0,11) = -9.0/256.0; - interface_constraints(0,12) = 81.0/256.0; - interface_constraints(0,13) = 81.0/256.0; - interface_constraints(0,14) = 81.0/256.0; - interface_constraints(0,15) = 81.0/256.0; - interface_constraints(1,0) = -1.0/16.0; - interface_constraints(1,1) = -1.0/16.0; - interface_constraints(1,4) = 9.0/16.0; - interface_constraints(1,5) = 9.0/16.0; - interface_constraints(2,1) = -1.0/16.0; - interface_constraints(2,2) = -1.0/16.0; - interface_constraints(2,6) = 9.0/16.0; - interface_constraints(2,7) = 9.0/16.0; - interface_constraints(3,2) = -1.0/16.0; - interface_constraints(3,3) = -1.0/16.0; - interface_constraints(3,8) = 9.0/16.0; - interface_constraints(3,9) = 9.0/16.0; - interface_constraints(4,0) = -1.0/16.0; - interface_constraints(4,3) = -1.0/16.0; - interface_constraints(4,10) = 9.0/16.0; - interface_constraints(4,11) = 9.0/16.0; - interface_constraints(5,0) = -5.0/256.0; - interface_constraints(5,1) = -5.0/256.0; - interface_constraints(5,2) = -1.0/256.0; - interface_constraints(5,3) = -1.0/256.0; - interface_constraints(5,4) = 45.0/256.0; - interface_constraints(5,5) = 45.0/256.0; - interface_constraints(5,6) = -15.0/256.0; - interface_constraints(5,7) = 5.0/256.0; - interface_constraints(5,8) = 9.0/256.0; - interface_constraints(5,9) = 9.0/256.0; - interface_constraints(5,10) = -15.0/256.0; - interface_constraints(5,11) = 5.0/256.0; - interface_constraints(5,12) = 135.0/256.0; - interface_constraints(5,13) = 135.0/256.0; - interface_constraints(5,14) = -45.0/256.0; - interface_constraints(5,15) = -45.0/256.0; - interface_constraints(6,6) = -1.0/16.0; - interface_constraints(6,10) = -1.0/16.0; - interface_constraints(6,12) = 9.0/16.0; - interface_constraints(6,13) = 9.0/16.0; - interface_constraints(7,5) = -1.0/16.0; - interface_constraints(7,9) = -1.0/16.0; - interface_constraints(7,13) = 9.0/16.0; - interface_constraints(7,15) = 9.0/16.0; - interface_constraints(8,0) = -1.0/256.0; - interface_constraints(8,1) = -5.0/256.0; - interface_constraints(8,2) = -5.0/256.0; - interface_constraints(8,3) = -1.0/256.0; - interface_constraints(8,4) = 5.0/256.0; - interface_constraints(8,5) = -15.0/256.0; - interface_constraints(8,6) = 45.0/256.0; - interface_constraints(8,7) = 45.0/256.0; - interface_constraints(8,8) = 5.0/256.0; - interface_constraints(8,9) = -15.0/256.0; - interface_constraints(8,10) = 9.0/256.0; - interface_constraints(8,11) = 9.0/256.0; - interface_constraints(8,12) = -45.0/256.0; - interface_constraints(8,13) = 135.0/256.0; - interface_constraints(8,14) = -45.0/256.0; - interface_constraints(8,15) = 135.0/256.0; - interface_constraints(9,7) = -1.0/16.0; - interface_constraints(9,11) = -1.0/16.0; - interface_constraints(9,14) = 9.0/16.0; - interface_constraints(9,15) = 9.0/16.0; - interface_constraints(10,0) = -1.0/256.0; - interface_constraints(10,1) = -1.0/256.0; - interface_constraints(10,2) = -5.0/256.0; - interface_constraints(10,3) = -5.0/256.0; - interface_constraints(10,4) = 9.0/256.0; - interface_constraints(10,5) = 9.0/256.0; - interface_constraints(10,6) = 5.0/256.0; - interface_constraints(10,7) = -15.0/256.0; - interface_constraints(10,8) = 45.0/256.0; - interface_constraints(10,9) = 45.0/256.0; - interface_constraints(10,10) = 5.0/256.0; - interface_constraints(10,11) = -15.0/256.0; - interface_constraints(10,12) = -45.0/256.0; - interface_constraints(10,13) = -45.0/256.0; - interface_constraints(10,14) = 135.0/256.0; - interface_constraints(10,15) = 135.0/256.0; - interface_constraints(11,0) = -5.0/256.0; - interface_constraints(11,1) = -1.0/256.0; - interface_constraints(11,2) = -1.0/256.0; - interface_constraints(11,3) = -5.0/256.0; - interface_constraints(11,4) = -15.0/256.0; - interface_constraints(11,5) = 5.0/256.0; - interface_constraints(11,6) = 9.0/256.0; - interface_constraints(11,7) = 9.0/256.0; - interface_constraints(11,8) = -15.0/256.0; - interface_constraints(11,9) = 5.0/256.0; - interface_constraints(11,10) = 45.0/256.0; - interface_constraints(11,11) = 45.0/256.0; - interface_constraints(11,12) = 135.0/256.0; - interface_constraints(11,13) = -45.0/256.0; - interface_constraints(11,14) = 135.0/256.0; - interface_constraints(11,15) = -45.0/256.0; - interface_constraints(12,4) = -1.0/16.0; - interface_constraints(12,8) = -1.0/16.0; - interface_constraints(12,12) = 9.0/16.0; - interface_constraints(12,14) = 9.0/16.0; - interface_constraints(13,0) = 5.0/16.0; - interface_constraints(13,1) = 1.0/16.0; - interface_constraints(13,4) = 15.0/16.0; - interface_constraints(13,5) = -5.0/16.0; - interface_constraints(14,4) = 1.0; - interface_constraints(15,5) = 1.0; - interface_constraints(16,0) = 1.0/16.0; - interface_constraints(16,1) = 5.0/16.0; - interface_constraints(16,4) = -5.0/16.0; - interface_constraints(16,5) = 15.0/16.0; - interface_constraints(17,1) = 5.0/16.0; - interface_constraints(17,2) = 1.0/16.0; - interface_constraints(17,6) = 15.0/16.0; - interface_constraints(17,7) = -5.0/16.0; - interface_constraints(18,6) = 1.0; - interface_constraints(19,7) = 1.0; - interface_constraints(20,1) = 1.0/16.0; - interface_constraints(20,2) = 5.0/16.0; - interface_constraints(20,6) = -5.0/16.0; - interface_constraints(20,7) = 15.0/16.0; - interface_constraints(21,2) = 1.0/16.0; - interface_constraints(21,3) = 5.0/16.0; - interface_constraints(21,8) = 15.0/16.0; - interface_constraints(21,9) = -5.0/16.0; - interface_constraints(22,8) = 1.0; - interface_constraints(23,9) = 1.0; - interface_constraints(24,2) = 5.0/16.0; - interface_constraints(24,3) = 1.0/16.0; - interface_constraints(24,8) = -5.0/16.0; - interface_constraints(24,9) = 15.0/16.0; - interface_constraints(25,0) = 5.0/16.0; - interface_constraints(25,3) = 1.0/16.0; - interface_constraints(25,10) = 15.0/16.0; - interface_constraints(25,11) = -5.0/16.0; - interface_constraints(26,10) = 1.0; - interface_constraints(27,11) = 1.0; - interface_constraints(28,0) = 1.0/16.0; - interface_constraints(28,3) = 5.0/16.0; - interface_constraints(28,10) = -5.0/16.0; - interface_constraints(28,11) = 15.0/16.0; - interface_constraints(29,0) = 25.0/256.0; - interface_constraints(29,1) = 5.0/256.0; - interface_constraints(29,2) = 1.0/256.0; - interface_constraints(29,3) = 5.0/256.0; - interface_constraints(29,4) = 75.0/256.0; - interface_constraints(29,5) = -25.0/256.0; - interface_constraints(29,6) = 15.0/256.0; - interface_constraints(29,7) = -5.0/256.0; - interface_constraints(29,8) = 15.0/256.0; - interface_constraints(29,9) = -5.0/256.0; - interface_constraints(29,10) = 75.0/256.0; - interface_constraints(29,11) = -25.0/256.0; - interface_constraints(29,12) = 225.0/256.0; - interface_constraints(29,13) = -75.0/256.0; - interface_constraints(29,14) = -75.0/256.0; - interface_constraints(29,15) = 25.0/256.0; - interface_constraints(30,4) = 5.0/16.0; - interface_constraints(30,8) = 1.0/16.0; - interface_constraints(30,12) = 15.0/16.0; - interface_constraints(30,14) = -5.0/16.0; - interface_constraints(31,6) = 1.0/16.0; - interface_constraints(31,10) = 5.0/16.0; - interface_constraints(31,12) = 15.0/16.0; - interface_constraints(31,13) = -5.0/16.0; - interface_constraints(32,12) = 1.0; - interface_constraints(33,5) = 5.0/16.0; - interface_constraints(33,9) = 1.0/16.0; - interface_constraints(33,13) = 15.0/16.0; - interface_constraints(33,15) = -5.0/16.0; - interface_constraints(34,0) = 5.0/256.0; - interface_constraints(34,1) = 25.0/256.0; - interface_constraints(34,2) = 5.0/256.0; - interface_constraints(34,3) = 1.0/256.0; - interface_constraints(34,4) = -25.0/256.0; - interface_constraints(34,5) = 75.0/256.0; - interface_constraints(34,6) = 75.0/256.0; - interface_constraints(34,7) = -25.0/256.0; - interface_constraints(34,8) = -5.0/256.0; - interface_constraints(34,9) = 15.0/256.0; - interface_constraints(34,10) = 15.0/256.0; - interface_constraints(34,11) = -5.0/256.0; - interface_constraints(34,12) = -75.0/256.0; - interface_constraints(34,13) = 225.0/256.0; - interface_constraints(34,14) = 25.0/256.0; - interface_constraints(34,15) = -75.0/256.0; - interface_constraints(35,13) = 1.0; - interface_constraints(36,6) = 5.0/16.0; - interface_constraints(36,10) = 1.0/16.0; - interface_constraints(36,12) = -5.0/16.0; - interface_constraints(36,13) = 15.0/16.0; - interface_constraints(37,15) = 1.0; - interface_constraints(38,7) = 5.0/16.0; - interface_constraints(38,11) = 1.0/16.0; - interface_constraints(38,14) = -5.0/16.0; - interface_constraints(38,15) = 15.0/16.0; - interface_constraints(39,5) = 1.0/16.0; - interface_constraints(39,9) = 5.0/16.0; - interface_constraints(39,13) = -5.0/16.0; - interface_constraints(39,15) = 15.0/16.0; - interface_constraints(40,0) = 1.0/256.0; - interface_constraints(40,1) = 5.0/256.0; - interface_constraints(40,2) = 25.0/256.0; - interface_constraints(40,3) = 5.0/256.0; - interface_constraints(40,4) = -5.0/256.0; - interface_constraints(40,5) = 15.0/256.0; - interface_constraints(40,6) = -25.0/256.0; - interface_constraints(40,7) = 75.0/256.0; - interface_constraints(40,8) = -25.0/256.0; - interface_constraints(40,9) = 75.0/256.0; - interface_constraints(40,10) = -5.0/256.0; - interface_constraints(40,11) = 15.0/256.0; - interface_constraints(40,12) = 25.0/256.0; - interface_constraints(40,13) = -75.0/256.0; - interface_constraints(40,14) = -75.0/256.0; - interface_constraints(40,15) = 225.0/256.0; - interface_constraints(41,7) = 1.0/16.0; - interface_constraints(41,11) = 5.0/16.0; - interface_constraints(41,14) = 15.0/16.0; - interface_constraints(41,15) = -5.0/16.0; - interface_constraints(42,14) = 1.0; - interface_constraints(43,0) = 5.0/256.0; - interface_constraints(43,1) = 1.0/256.0; - interface_constraints(43,2) = 5.0/256.0; - interface_constraints(43,3) = 25.0/256.0; - interface_constraints(43,4) = 15.0/256.0; - interface_constraints(43,5) = -5.0/256.0; - interface_constraints(43,6) = -5.0/256.0; - interface_constraints(43,7) = 15.0/256.0; - interface_constraints(43,8) = 75.0/256.0; - interface_constraints(43,9) = -25.0/256.0; - interface_constraints(43,10) = -25.0/256.0; - interface_constraints(43,11) = 75.0/256.0; - interface_constraints(43,12) = -75.0/256.0; - interface_constraints(43,13) = 25.0/256.0; - interface_constraints(43,14) = 225.0/256.0; - interface_constraints(43,15) = -75.0/256.0; - interface_constraints(44,4) = 1.0/16.0; - interface_constraints(44,8) = 5.0/16.0; - interface_constraints(44,12) = -5.0/16.0; - interface_constraints(44,14) = 15.0/16.0; + interface_constraints(0,0) = 1.0/256.0; + interface_constraints(0,1) = 1.0/256.0; + interface_constraints(0,2) = 1.0/256.0; + interface_constraints(0,3) = 1.0/256.0; + interface_constraints(0,4) = -9.0/256.0; + interface_constraints(0,5) = -9.0/256.0; + interface_constraints(0,6) = -9.0/256.0; + interface_constraints(0,7) = -9.0/256.0; + interface_constraints(0,8) = -9.0/256.0; + interface_constraints(0,9) = -9.0/256.0; + interface_constraints(0,10) = -9.0/256.0; + interface_constraints(0,11) = -9.0/256.0; + interface_constraints(0,12) = 81.0/256.0; + interface_constraints(0,13) = 81.0/256.0; + interface_constraints(0,14) = 81.0/256.0; + interface_constraints(0,15) = 81.0/256.0; + interface_constraints(1,0) = -1.0/16.0; + interface_constraints(1,1) = -1.0/16.0; + interface_constraints(1,4) = 9.0/16.0; + interface_constraints(1,5) = 9.0/16.0; + interface_constraints(2,1) = -1.0/16.0; + interface_constraints(2,2) = -1.0/16.0; + interface_constraints(2,6) = 9.0/16.0; + interface_constraints(2,7) = 9.0/16.0; + interface_constraints(3,2) = -1.0/16.0; + interface_constraints(3,3) = -1.0/16.0; + interface_constraints(3,8) = 9.0/16.0; + interface_constraints(3,9) = 9.0/16.0; + interface_constraints(4,0) = -1.0/16.0; + interface_constraints(4,3) = -1.0/16.0; + interface_constraints(4,10) = 9.0/16.0; + interface_constraints(4,11) = 9.0/16.0; + interface_constraints(5,0) = -5.0/256.0; + interface_constraints(5,1) = -5.0/256.0; + interface_constraints(5,2) = -1.0/256.0; + interface_constraints(5,3) = -1.0/256.0; + interface_constraints(5,4) = 45.0/256.0; + interface_constraints(5,5) = 45.0/256.0; + interface_constraints(5,6) = -15.0/256.0; + interface_constraints(5,7) = 5.0/256.0; + interface_constraints(5,8) = 9.0/256.0; + interface_constraints(5,9) = 9.0/256.0; + interface_constraints(5,10) = -15.0/256.0; + interface_constraints(5,11) = 5.0/256.0; + interface_constraints(5,12) = 135.0/256.0; + interface_constraints(5,13) = 135.0/256.0; + interface_constraints(5,14) = -45.0/256.0; + interface_constraints(5,15) = -45.0/256.0; + interface_constraints(6,6) = -1.0/16.0; + interface_constraints(6,10) = -1.0/16.0; + interface_constraints(6,12) = 9.0/16.0; + interface_constraints(6,13) = 9.0/16.0; + interface_constraints(7,5) = -1.0/16.0; + interface_constraints(7,9) = -1.0/16.0; + interface_constraints(7,13) = 9.0/16.0; + interface_constraints(7,15) = 9.0/16.0; + interface_constraints(8,0) = -1.0/256.0; + interface_constraints(8,1) = -5.0/256.0; + interface_constraints(8,2) = -5.0/256.0; + interface_constraints(8,3) = -1.0/256.0; + interface_constraints(8,4) = 5.0/256.0; + interface_constraints(8,5) = -15.0/256.0; + interface_constraints(8,6) = 45.0/256.0; + interface_constraints(8,7) = 45.0/256.0; + interface_constraints(8,8) = 5.0/256.0; + interface_constraints(8,9) = -15.0/256.0; + interface_constraints(8,10) = 9.0/256.0; + interface_constraints(8,11) = 9.0/256.0; + interface_constraints(8,12) = -45.0/256.0; + interface_constraints(8,13) = 135.0/256.0; + interface_constraints(8,14) = -45.0/256.0; + interface_constraints(8,15) = 135.0/256.0; + interface_constraints(9,7) = -1.0/16.0; + interface_constraints(9,11) = -1.0/16.0; + interface_constraints(9,14) = 9.0/16.0; + interface_constraints(9,15) = 9.0/16.0; + interface_constraints(10,0) = -1.0/256.0; + interface_constraints(10,1) = -1.0/256.0; + interface_constraints(10,2) = -5.0/256.0; + interface_constraints(10,3) = -5.0/256.0; + interface_constraints(10,4) = 9.0/256.0; + interface_constraints(10,5) = 9.0/256.0; + interface_constraints(10,6) = 5.0/256.0; + interface_constraints(10,7) = -15.0/256.0; + interface_constraints(10,8) = 45.0/256.0; + interface_constraints(10,9) = 45.0/256.0; + interface_constraints(10,10) = 5.0/256.0; + interface_constraints(10,11) = -15.0/256.0; + interface_constraints(10,12) = -45.0/256.0; + interface_constraints(10,13) = -45.0/256.0; + interface_constraints(10,14) = 135.0/256.0; + interface_constraints(10,15) = 135.0/256.0; + interface_constraints(11,0) = -5.0/256.0; + interface_constraints(11,1) = -1.0/256.0; + interface_constraints(11,2) = -1.0/256.0; + interface_constraints(11,3) = -5.0/256.0; + interface_constraints(11,4) = -15.0/256.0; + interface_constraints(11,5) = 5.0/256.0; + interface_constraints(11,6) = 9.0/256.0; + interface_constraints(11,7) = 9.0/256.0; + interface_constraints(11,8) = -15.0/256.0; + interface_constraints(11,9) = 5.0/256.0; + interface_constraints(11,10) = 45.0/256.0; + interface_constraints(11,11) = 45.0/256.0; + interface_constraints(11,12) = 135.0/256.0; + interface_constraints(11,13) = -45.0/256.0; + interface_constraints(11,14) = 135.0/256.0; + interface_constraints(11,15) = -45.0/256.0; + interface_constraints(12,4) = -1.0/16.0; + interface_constraints(12,8) = -1.0/16.0; + interface_constraints(12,12) = 9.0/16.0; + interface_constraints(12,14) = 9.0/16.0; + interface_constraints(13,0) = 5.0/16.0; + interface_constraints(13,1) = 1.0/16.0; + interface_constraints(13,4) = 15.0/16.0; + interface_constraints(13,5) = -5.0/16.0; + interface_constraints(14,4) = 1.0; + interface_constraints(15,5) = 1.0; + interface_constraints(16,0) = 1.0/16.0; + interface_constraints(16,1) = 5.0/16.0; + interface_constraints(16,4) = -5.0/16.0; + interface_constraints(16,5) = 15.0/16.0; + interface_constraints(17,1) = 5.0/16.0; + interface_constraints(17,2) = 1.0/16.0; + interface_constraints(17,6) = 15.0/16.0; + interface_constraints(17,7) = -5.0/16.0; + interface_constraints(18,6) = 1.0; + interface_constraints(19,7) = 1.0; + interface_constraints(20,1) = 1.0/16.0; + interface_constraints(20,2) = 5.0/16.0; + interface_constraints(20,6) = -5.0/16.0; + interface_constraints(20,7) = 15.0/16.0; + interface_constraints(21,2) = 1.0/16.0; + interface_constraints(21,3) = 5.0/16.0; + interface_constraints(21,8) = 15.0/16.0; + interface_constraints(21,9) = -5.0/16.0; + interface_constraints(22,8) = 1.0; + interface_constraints(23,9) = 1.0; + interface_constraints(24,2) = 5.0/16.0; + interface_constraints(24,3) = 1.0/16.0; + interface_constraints(24,8) = -5.0/16.0; + interface_constraints(24,9) = 15.0/16.0; + interface_constraints(25,0) = 5.0/16.0; + interface_constraints(25,3) = 1.0/16.0; + interface_constraints(25,10) = 15.0/16.0; + interface_constraints(25,11) = -5.0/16.0; + interface_constraints(26,10) = 1.0; + interface_constraints(27,11) = 1.0; + interface_constraints(28,0) = 1.0/16.0; + interface_constraints(28,3) = 5.0/16.0; + interface_constraints(28,10) = -5.0/16.0; + interface_constraints(28,11) = 15.0/16.0; + interface_constraints(29,0) = 25.0/256.0; + interface_constraints(29,1) = 5.0/256.0; + interface_constraints(29,2) = 1.0/256.0; + interface_constraints(29,3) = 5.0/256.0; + interface_constraints(29,4) = 75.0/256.0; + interface_constraints(29,5) = -25.0/256.0; + interface_constraints(29,6) = 15.0/256.0; + interface_constraints(29,7) = -5.0/256.0; + interface_constraints(29,8) = 15.0/256.0; + interface_constraints(29,9) = -5.0/256.0; + interface_constraints(29,10) = 75.0/256.0; + interface_constraints(29,11) = -25.0/256.0; + interface_constraints(29,12) = 225.0/256.0; + interface_constraints(29,13) = -75.0/256.0; + interface_constraints(29,14) = -75.0/256.0; + interface_constraints(29,15) = 25.0/256.0; + interface_constraints(30,4) = 5.0/16.0; + interface_constraints(30,8) = 1.0/16.0; + interface_constraints(30,12) = 15.0/16.0; + interface_constraints(30,14) = -5.0/16.0; + interface_constraints(31,6) = 1.0/16.0; + interface_constraints(31,10) = 5.0/16.0; + interface_constraints(31,12) = 15.0/16.0; + interface_constraints(31,13) = -5.0/16.0; + interface_constraints(32,12) = 1.0; + interface_constraints(33,5) = 5.0/16.0; + interface_constraints(33,9) = 1.0/16.0; + interface_constraints(33,13) = 15.0/16.0; + interface_constraints(33,15) = -5.0/16.0; + interface_constraints(34,0) = 5.0/256.0; + interface_constraints(34,1) = 25.0/256.0; + interface_constraints(34,2) = 5.0/256.0; + interface_constraints(34,3) = 1.0/256.0; + interface_constraints(34,4) = -25.0/256.0; + interface_constraints(34,5) = 75.0/256.0; + interface_constraints(34,6) = 75.0/256.0; + interface_constraints(34,7) = -25.0/256.0; + interface_constraints(34,8) = -5.0/256.0; + interface_constraints(34,9) = 15.0/256.0; + interface_constraints(34,10) = 15.0/256.0; + interface_constraints(34,11) = -5.0/256.0; + interface_constraints(34,12) = -75.0/256.0; + interface_constraints(34,13) = 225.0/256.0; + interface_constraints(34,14) = 25.0/256.0; + interface_constraints(34,15) = -75.0/256.0; + interface_constraints(35,13) = 1.0; + interface_constraints(36,6) = 5.0/16.0; + interface_constraints(36,10) = 1.0/16.0; + interface_constraints(36,12) = -5.0/16.0; + interface_constraints(36,13) = 15.0/16.0; + interface_constraints(37,15) = 1.0; + interface_constraints(38,7) = 5.0/16.0; + interface_constraints(38,11) = 1.0/16.0; + interface_constraints(38,14) = -5.0/16.0; + interface_constraints(38,15) = 15.0/16.0; + interface_constraints(39,5) = 1.0/16.0; + interface_constraints(39,9) = 5.0/16.0; + interface_constraints(39,13) = -5.0/16.0; + interface_constraints(39,15) = 15.0/16.0; + interface_constraints(40,0) = 1.0/256.0; + interface_constraints(40,1) = 5.0/256.0; + interface_constraints(40,2) = 25.0/256.0; + interface_constraints(40,3) = 5.0/256.0; + interface_constraints(40,4) = -5.0/256.0; + interface_constraints(40,5) = 15.0/256.0; + interface_constraints(40,6) = -25.0/256.0; + interface_constraints(40,7) = 75.0/256.0; + interface_constraints(40,8) = -25.0/256.0; + interface_constraints(40,9) = 75.0/256.0; + interface_constraints(40,10) = -5.0/256.0; + interface_constraints(40,11) = 15.0/256.0; + interface_constraints(40,12) = 25.0/256.0; + interface_constraints(40,13) = -75.0/256.0; + interface_constraints(40,14) = -75.0/256.0; + interface_constraints(40,15) = 225.0/256.0; + interface_constraints(41,7) = 1.0/16.0; + interface_constraints(41,11) = 5.0/16.0; + interface_constraints(41,14) = 15.0/16.0; + interface_constraints(41,15) = -5.0/16.0; + interface_constraints(42,14) = 1.0; + interface_constraints(43,0) = 5.0/256.0; + interface_constraints(43,1) = 1.0/256.0; + interface_constraints(43,2) = 5.0/256.0; + interface_constraints(43,3) = 25.0/256.0; + interface_constraints(43,4) = 15.0/256.0; + interface_constraints(43,5) = -5.0/256.0; + interface_constraints(43,6) = -5.0/256.0; + interface_constraints(43,7) = 15.0/256.0; + interface_constraints(43,8) = 75.0/256.0; + interface_constraints(43,9) = -25.0/256.0; + interface_constraints(43,10) = -25.0/256.0; + interface_constraints(43,11) = 75.0/256.0; + interface_constraints(43,12) = -75.0/256.0; + interface_constraints(43,13) = 25.0/256.0; + interface_constraints(43,14) = 225.0/256.0; + interface_constraints(43,15) = -75.0/256.0; + interface_constraints(44,4) = 1.0/16.0; + interface_constraints(44,8) = 5.0/16.0; + interface_constraints(44,12) = -5.0/16.0; + interface_constraints(44,14) = 15.0/16.0; initialize_matrices (); }; @@ -1859,7 +1859,7 @@ FEQ3<3>::FEQ3 () : template <> FEQ3<3>::FEQ3 (const int) : FEQ1Mapping<3> (0, 0, 0, 64, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -1868,5581 +1868,5581 @@ FEQ3<3>::FEQ3 (const int) : template <> void FEQ3<3>::initialize_matrices () { - prolongation[0](0,0) = 1.0; - prolongation[0](1,0) = -1.0/16.0; - prolongation[0](1,1) = -1.0/16.0; - prolongation[0](1,8) = 9.0/16.0; - prolongation[0](1,9) = 9.0/16.0; - prolongation[0](2,0) = 1.0/256.0; - prolongation[0](2,1) = 1.0/256.0; - prolongation[0](2,2) = 1.0/256.0; - prolongation[0](2,3) = 1.0/256.0; - prolongation[0](2,8) = -9.0/256.0; - prolongation[0](2,9) = -9.0/256.0; - prolongation[0](2,10) = -9.0/256.0; - prolongation[0](2,11) = -9.0/256.0; - prolongation[0](2,12) = -9.0/256.0; - prolongation[0](2,13) = -9.0/256.0; - prolongation[0](2,14) = -9.0/256.0; - prolongation[0](2,15) = -9.0/256.0; - prolongation[0](2,32) = 81.0/256.0; - prolongation[0](2,33) = 81.0/256.0; - prolongation[0](2,34) = 81.0/256.0; - prolongation[0](2,35) = 81.0/256.0; - prolongation[0](3,0) = -1.0/16.0; - prolongation[0](3,3) = -1.0/16.0; - prolongation[0](3,14) = 9.0/16.0; - prolongation[0](3,15) = 9.0/16.0; - prolongation[0](4,0) = -1.0/16.0; - prolongation[0](4,4) = -1.0/16.0; - prolongation[0](4,24) = 9.0/16.0; - prolongation[0](4,25) = 9.0/16.0; - prolongation[0](5,0) = 1.0/256.0; - prolongation[0](5,1) = 1.0/256.0; - prolongation[0](5,4) = 1.0/256.0; - prolongation[0](5,5) = 1.0/256.0; - prolongation[0](5,8) = -9.0/256.0; - prolongation[0](5,9) = -9.0/256.0; - prolongation[0](5,16) = -9.0/256.0; - prolongation[0](5,17) = -9.0/256.0; - prolongation[0](5,24) = -9.0/256.0; - prolongation[0](5,25) = -9.0/256.0; - prolongation[0](5,26) = -9.0/256.0; - prolongation[0](5,27) = -9.0/256.0; - prolongation[0](5,40) = 81.0/256.0; - prolongation[0](5,41) = 81.0/256.0; - prolongation[0](5,42) = 81.0/256.0; - prolongation[0](5,43) = 81.0/256.0; - prolongation[0](6,0) = -1.0/4096.0; - prolongation[0](6,1) = -1.0/4096.0; - prolongation[0](6,2) = -1.0/4096.0; - prolongation[0](6,3) = -1.0/4096.0; - prolongation[0](6,4) = -1.0/4096.0; - prolongation[0](6,5) = -1.0/4096.0; - prolongation[0](6,6) = -1.0/4096.0; - prolongation[0](6,7) = -1.0/4096.0; - prolongation[0](6,8) = 9.0/4096.0; - prolongation[0](6,9) = 9.0/4096.0; - prolongation[0](6,10) = 9.0/4096.0; - prolongation[0](6,11) = 9.0/4096.0; - prolongation[0](6,12) = 9.0/4096.0; - prolongation[0](6,13) = 9.0/4096.0; - prolongation[0](6,14) = 9.0/4096.0; - prolongation[0](6,15) = 9.0/4096.0; - prolongation[0](6,16) = 9.0/4096.0; - prolongation[0](6,17) = 9.0/4096.0; - prolongation[0](6,18) = 9.0/4096.0; - prolongation[0](6,19) = 9.0/4096.0; - prolongation[0](6,20) = 9.0/4096.0; - prolongation[0](6,21) = 9.0/4096.0; - prolongation[0](6,22) = 9.0/4096.0; - prolongation[0](6,23) = 9.0/4096.0; - prolongation[0](6,24) = 9.0/4096.0; - prolongation[0](6,25) = 9.0/4096.0; - prolongation[0](6,26) = 9.0/4096.0; - prolongation[0](6,27) = 9.0/4096.0; - prolongation[0](6,28) = 9.0/4096.0; - prolongation[0](6,29) = 9.0/4096.0; - prolongation[0](6,30) = 9.0/4096.0; - prolongation[0](6,31) = 9.0/4096.0; - prolongation[0](6,32) = -81.0/4096.0; - prolongation[0](6,33) = -81.0/4096.0; - prolongation[0](6,34) = -81.0/4096.0; - prolongation[0](6,35) = -81.0/4096.0; - prolongation[0](6,36) = -81.0/4096.0; - prolongation[0](6,37) = -81.0/4096.0; - prolongation[0](6,38) = -81.0/4096.0; - prolongation[0](6,39) = -81.0/4096.0; - prolongation[0](6,40) = -81.0/4096.0; - prolongation[0](6,41) = -81.0/4096.0; - prolongation[0](6,42) = -81.0/4096.0; - prolongation[0](6,43) = -81.0/4096.0; - prolongation[0](6,44) = -81.0/4096.0; - prolongation[0](6,45) = -81.0/4096.0; - prolongation[0](6,46) = -81.0/4096.0; - prolongation[0](6,47) = -81.0/4096.0; - prolongation[0](6,48) = -81.0/4096.0; - prolongation[0](6,49) = -81.0/4096.0; - prolongation[0](6,50) = -81.0/4096.0; - prolongation[0](6,51) = -81.0/4096.0; - prolongation[0](6,52) = -81.0/4096.0; - prolongation[0](6,53) = -81.0/4096.0; - prolongation[0](6,54) = -81.0/4096.0; - prolongation[0](6,55) = -81.0/4096.0; - prolongation[0](6,56) = 729.0/4096.0; - prolongation[0](6,57) = 729.0/4096.0; - prolongation[0](6,58) = 729.0/4096.0; - prolongation[0](6,59) = 729.0/4096.0; - prolongation[0](6,60) = 729.0/4096.0; - prolongation[0](6,61) = 729.0/4096.0; - prolongation[0](6,62) = 729.0/4096.0; - prolongation[0](6,63) = 729.0/4096.0; - prolongation[0](7,0) = 1.0/256.0; - prolongation[0](7,3) = 1.0/256.0; - prolongation[0](7,4) = 1.0/256.0; - prolongation[0](7,7) = 1.0/256.0; - prolongation[0](7,14) = -9.0/256.0; - prolongation[0](7,15) = -9.0/256.0; - prolongation[0](7,22) = -9.0/256.0; - prolongation[0](7,23) = -9.0/256.0; - prolongation[0](7,24) = -9.0/256.0; - prolongation[0](7,25) = -9.0/256.0; - prolongation[0](7,30) = -9.0/256.0; - prolongation[0](7,31) = -9.0/256.0; - prolongation[0](7,52) = 81.0/256.0; - prolongation[0](7,53) = 81.0/256.0; - prolongation[0](7,54) = 81.0/256.0; - prolongation[0](7,55) = 81.0/256.0; - prolongation[0](8,0) = 5.0/16.0; - prolongation[0](8,1) = 1.0/16.0; - prolongation[0](8,8) = 15.0/16.0; - prolongation[0](8,9) = -5.0/16.0; - prolongation[0](9,8) = 1.0; - prolongation[0](10,0) = -5.0/256.0; - prolongation[0](10,1) = -5.0/256.0; - prolongation[0](10,2) = -1.0/256.0; - prolongation[0](10,3) = -1.0/256.0; - prolongation[0](10,8) = 45.0/256.0; - prolongation[0](10,9) = 45.0/256.0; - prolongation[0](10,10) = -15.0/256.0; - prolongation[0](10,11) = 5.0/256.0; - prolongation[0](10,12) = 9.0/256.0; - prolongation[0](10,13) = 9.0/256.0; - prolongation[0](10,14) = -15.0/256.0; - prolongation[0](10,15) = 5.0/256.0; - prolongation[0](10,32) = 135.0/256.0; - prolongation[0](10,33) = 135.0/256.0; - prolongation[0](10,34) = -45.0/256.0; - prolongation[0](10,35) = -45.0/256.0; - prolongation[0](11,10) = -1.0/16.0; - prolongation[0](11,14) = -1.0/16.0; - prolongation[0](11,32) = 9.0/16.0; - prolongation[0](11,33) = 9.0/16.0; - prolongation[0](12,0) = -5.0/256.0; - prolongation[0](12,1) = -1.0/256.0; - prolongation[0](12,2) = -1.0/256.0; - prolongation[0](12,3) = -5.0/256.0; - prolongation[0](12,8) = -15.0/256.0; - prolongation[0](12,9) = 5.0/256.0; - prolongation[0](12,10) = 9.0/256.0; - prolongation[0](12,11) = 9.0/256.0; - prolongation[0](12,12) = -15.0/256.0; - prolongation[0](12,13) = 5.0/256.0; - prolongation[0](12,14) = 45.0/256.0; - prolongation[0](12,15) = 45.0/256.0; - prolongation[0](12,32) = 135.0/256.0; - prolongation[0](12,33) = -45.0/256.0; - prolongation[0](12,34) = 135.0/256.0; - prolongation[0](12,35) = -45.0/256.0; - prolongation[0](13,8) = -1.0/16.0; - prolongation[0](13,12) = -1.0/16.0; - prolongation[0](13,32) = 9.0/16.0; - prolongation[0](13,34) = 9.0/16.0; - prolongation[0](14,0) = 5.0/16.0; - prolongation[0](14,3) = 1.0/16.0; - prolongation[0](14,14) = 15.0/16.0; - prolongation[0](14,15) = -5.0/16.0; - prolongation[0](15,14) = 1.0; - prolongation[0](16,0) = -5.0/256.0; - prolongation[0](16,1) = -1.0/256.0; - prolongation[0](16,4) = -5.0/256.0; - prolongation[0](16,5) = -1.0/256.0; - prolongation[0](16,8) = -15.0/256.0; - prolongation[0](16,9) = 5.0/256.0; - prolongation[0](16,16) = -15.0/256.0; - prolongation[0](16,17) = 5.0/256.0; - prolongation[0](16,24) = 45.0/256.0; - prolongation[0](16,25) = 45.0/256.0; - prolongation[0](16,26) = 9.0/256.0; - prolongation[0](16,27) = 9.0/256.0; - prolongation[0](16,40) = 135.0/256.0; - prolongation[0](16,41) = -45.0/256.0; - prolongation[0](16,42) = 135.0/256.0; - prolongation[0](16,43) = -45.0/256.0; - prolongation[0](17,8) = -1.0/16.0; - prolongation[0](17,16) = -1.0/16.0; - prolongation[0](17,40) = 9.0/16.0; - prolongation[0](17,42) = 9.0/16.0; - prolongation[0](18,0) = 5.0/4096.0; - prolongation[0](18,1) = 5.0/4096.0; - prolongation[0](18,2) = 1.0/4096.0; - prolongation[0](18,3) = 1.0/4096.0; - prolongation[0](18,4) = 5.0/4096.0; - prolongation[0](18,5) = 5.0/4096.0; - prolongation[0](18,6) = 1.0/4096.0; - prolongation[0](18,7) = 1.0/4096.0; - prolongation[0](18,8) = -45.0/4096.0; - prolongation[0](18,9) = -45.0/4096.0; - prolongation[0](18,10) = 15.0/4096.0; - prolongation[0](18,11) = -5.0/4096.0; - prolongation[0](18,12) = -9.0/4096.0; - prolongation[0](18,13) = -9.0/4096.0; - prolongation[0](18,14) = 15.0/4096.0; - prolongation[0](18,15) = -5.0/4096.0; - prolongation[0](18,16) = -45.0/4096.0; - prolongation[0](18,17) = -45.0/4096.0; - prolongation[0](18,18) = 15.0/4096.0; - prolongation[0](18,19) = -5.0/4096.0; - prolongation[0](18,20) = -9.0/4096.0; - prolongation[0](18,21) = -9.0/4096.0; - prolongation[0](18,22) = 15.0/4096.0; - prolongation[0](18,23) = -5.0/4096.0; - prolongation[0](18,24) = -45.0/4096.0; - prolongation[0](18,25) = -45.0/4096.0; - prolongation[0](18,26) = -45.0/4096.0; - prolongation[0](18,27) = -45.0/4096.0; - prolongation[0](18,28) = -9.0/4096.0; - prolongation[0](18,29) = -9.0/4096.0; - prolongation[0](18,30) = -9.0/4096.0; - prolongation[0](18,31) = -9.0/4096.0; - prolongation[0](18,32) = -135.0/4096.0; - prolongation[0](18,33) = -135.0/4096.0; - prolongation[0](18,34) = 45.0/4096.0; - prolongation[0](18,35) = 45.0/4096.0; - prolongation[0](18,36) = -135.0/4096.0; - prolongation[0](18,37) = -135.0/4096.0; - prolongation[0](18,38) = 45.0/4096.0; - prolongation[0](18,39) = 45.0/4096.0; - prolongation[0](18,40) = 405.0/4096.0; - prolongation[0](18,41) = 405.0/4096.0; - prolongation[0](18,42) = 405.0/4096.0; - prolongation[0](18,43) = 405.0/4096.0; - prolongation[0](18,44) = -135.0/4096.0; - prolongation[0](18,45) = -135.0/4096.0; - prolongation[0](18,46) = 45.0/4096.0; - prolongation[0](18,47) = 45.0/4096.0; - prolongation[0](18,48) = 81.0/4096.0; - prolongation[0](18,49) = 81.0/4096.0; - prolongation[0](18,50) = 81.0/4096.0; - prolongation[0](18,51) = 81.0/4096.0; - prolongation[0](18,52) = -135.0/4096.0; - prolongation[0](18,53) = -135.0/4096.0; - prolongation[0](18,54) = 45.0/4096.0; - prolongation[0](18,55) = 45.0/4096.0; - prolongation[0](18,56) = 1215.0/4096.0; - prolongation[0](18,57) = 1215.0/4096.0; - prolongation[0](18,58) = 1215.0/4096.0; - prolongation[0](18,59) = 1215.0/4096.0; - prolongation[0](18,60) = -405.0/4096.0; - prolongation[0](18,61) = -405.0/4096.0; - prolongation[0](18,62) = -405.0/4096.0; - prolongation[0](18,63) = -405.0/4096.0; - prolongation[0](19,10) = 1.0/256.0; - prolongation[0](19,14) = 1.0/256.0; - prolongation[0](19,18) = 1.0/256.0; - prolongation[0](19,22) = 1.0/256.0; - prolongation[0](19,32) = -9.0/256.0; - prolongation[0](19,33) = -9.0/256.0; - prolongation[0](19,36) = -9.0/256.0; - prolongation[0](19,37) = -9.0/256.0; - prolongation[0](19,44) = -9.0/256.0; - prolongation[0](19,45) = -9.0/256.0; - prolongation[0](19,52) = -9.0/256.0; - prolongation[0](19,53) = -9.0/256.0; - prolongation[0](19,56) = 81.0/256.0; - prolongation[0](19,57) = 81.0/256.0; - prolongation[0](19,58) = 81.0/256.0; - prolongation[0](19,59) = 81.0/256.0; - prolongation[0](20,0) = 5.0/4096.0; - prolongation[0](20,1) = 1.0/4096.0; - prolongation[0](20,2) = 1.0/4096.0; - prolongation[0](20,3) = 5.0/4096.0; - prolongation[0](20,4) = 5.0/4096.0; - prolongation[0](20,5) = 1.0/4096.0; - prolongation[0](20,6) = 1.0/4096.0; - prolongation[0](20,7) = 5.0/4096.0; - prolongation[0](20,8) = 15.0/4096.0; - prolongation[0](20,9) = -5.0/4096.0; - prolongation[0](20,10) = -9.0/4096.0; - prolongation[0](20,11) = -9.0/4096.0; - prolongation[0](20,12) = 15.0/4096.0; - prolongation[0](20,13) = -5.0/4096.0; - prolongation[0](20,14) = -45.0/4096.0; - prolongation[0](20,15) = -45.0/4096.0; - prolongation[0](20,16) = 15.0/4096.0; - prolongation[0](20,17) = -5.0/4096.0; - prolongation[0](20,18) = -9.0/4096.0; - prolongation[0](20,19) = -9.0/4096.0; - prolongation[0](20,20) = 15.0/4096.0; - prolongation[0](20,21) = -5.0/4096.0; - prolongation[0](20,22) = -45.0/4096.0; - prolongation[0](20,23) = -45.0/4096.0; - prolongation[0](20,24) = -45.0/4096.0; - prolongation[0](20,25) = -45.0/4096.0; - prolongation[0](20,26) = -9.0/4096.0; - prolongation[0](20,27) = -9.0/4096.0; - prolongation[0](20,28) = -9.0/4096.0; - prolongation[0](20,29) = -9.0/4096.0; - prolongation[0](20,30) = -45.0/4096.0; - prolongation[0](20,31) = -45.0/4096.0; - prolongation[0](20,32) = -135.0/4096.0; - prolongation[0](20,33) = 45.0/4096.0; - prolongation[0](20,34) = -135.0/4096.0; - prolongation[0](20,35) = 45.0/4096.0; - prolongation[0](20,36) = -135.0/4096.0; - prolongation[0](20,37) = 45.0/4096.0; - prolongation[0](20,38) = -135.0/4096.0; - prolongation[0](20,39) = 45.0/4096.0; - prolongation[0](20,40) = -135.0/4096.0; - prolongation[0](20,41) = 45.0/4096.0; - prolongation[0](20,42) = -135.0/4096.0; - prolongation[0](20,43) = 45.0/4096.0; - prolongation[0](20,44) = 81.0/4096.0; - prolongation[0](20,45) = 81.0/4096.0; - prolongation[0](20,46) = 81.0/4096.0; - prolongation[0](20,47) = 81.0/4096.0; - prolongation[0](20,48) = -135.0/4096.0; - prolongation[0](20,49) = 45.0/4096.0; - prolongation[0](20,50) = -135.0/4096.0; - prolongation[0](20,51) = 45.0/4096.0; - prolongation[0](20,52) = 405.0/4096.0; - prolongation[0](20,53) = 405.0/4096.0; - prolongation[0](20,54) = 405.0/4096.0; - prolongation[0](20,55) = 405.0/4096.0; - prolongation[0](20,56) = 1215.0/4096.0; - prolongation[0](20,57) = -405.0/4096.0; - prolongation[0](20,58) = 1215.0/4096.0; - prolongation[0](20,59) = -405.0/4096.0; - prolongation[0](20,60) = 1215.0/4096.0; - prolongation[0](20,61) = -405.0/4096.0; - prolongation[0](20,62) = 1215.0/4096.0; - prolongation[0](20,63) = -405.0/4096.0; - prolongation[0](21,8) = 1.0/256.0; - prolongation[0](21,12) = 1.0/256.0; - prolongation[0](21,16) = 1.0/256.0; - prolongation[0](21,20) = 1.0/256.0; - prolongation[0](21,32) = -9.0/256.0; - prolongation[0](21,34) = -9.0/256.0; - prolongation[0](21,36) = -9.0/256.0; - prolongation[0](21,38) = -9.0/256.0; - prolongation[0](21,40) = -9.0/256.0; - prolongation[0](21,42) = -9.0/256.0; - prolongation[0](21,48) = -9.0/256.0; - prolongation[0](21,50) = -9.0/256.0; - prolongation[0](21,56) = 81.0/256.0; - prolongation[0](21,58) = 81.0/256.0; - prolongation[0](21,60) = 81.0/256.0; - prolongation[0](21,62) = 81.0/256.0; - prolongation[0](22,0) = -5.0/256.0; - prolongation[0](22,3) = -1.0/256.0; - prolongation[0](22,4) = -5.0/256.0; - prolongation[0](22,7) = -1.0/256.0; - prolongation[0](22,14) = -15.0/256.0; - prolongation[0](22,15) = 5.0/256.0; - prolongation[0](22,22) = -15.0/256.0; - prolongation[0](22,23) = 5.0/256.0; - prolongation[0](22,24) = 45.0/256.0; - prolongation[0](22,25) = 45.0/256.0; - prolongation[0](22,30) = 9.0/256.0; - prolongation[0](22,31) = 9.0/256.0; - prolongation[0](22,52) = 135.0/256.0; - prolongation[0](22,53) = 135.0/256.0; - prolongation[0](22,54) = -45.0/256.0; - prolongation[0](22,55) = -45.0/256.0; - prolongation[0](23,14) = -1.0/16.0; - prolongation[0](23,22) = -1.0/16.0; - prolongation[0](23,52) = 9.0/16.0; - prolongation[0](23,53) = 9.0/16.0; - prolongation[0](24,0) = 5.0/16.0; - prolongation[0](24,4) = 1.0/16.0; - prolongation[0](24,24) = 15.0/16.0; - prolongation[0](24,25) = -5.0/16.0; - prolongation[0](25,24) = 1.0; - prolongation[0](26,0) = -5.0/256.0; - prolongation[0](26,1) = -5.0/256.0; - prolongation[0](26,4) = -1.0/256.0; - prolongation[0](26,5) = -1.0/256.0; - prolongation[0](26,8) = 45.0/256.0; - prolongation[0](26,9) = 45.0/256.0; - prolongation[0](26,16) = 9.0/256.0; - prolongation[0](26,17) = 9.0/256.0; - prolongation[0](26,24) = -15.0/256.0; - prolongation[0](26,25) = 5.0/256.0; - prolongation[0](26,26) = -15.0/256.0; - prolongation[0](26,27) = 5.0/256.0; - prolongation[0](26,40) = 135.0/256.0; - prolongation[0](26,41) = 135.0/256.0; - prolongation[0](26,42) = -45.0/256.0; - prolongation[0](26,43) = -45.0/256.0; - prolongation[0](27,24) = -1.0/16.0; - prolongation[0](27,26) = -1.0/16.0; - prolongation[0](27,40) = 9.0/16.0; - prolongation[0](27,41) = 9.0/16.0; - prolongation[0](28,0) = 5.0/4096.0; - prolongation[0](28,1) = 5.0/4096.0; - prolongation[0](28,2) = 5.0/4096.0; - prolongation[0](28,3) = 5.0/4096.0; - prolongation[0](28,4) = 1.0/4096.0; - prolongation[0](28,5) = 1.0/4096.0; - prolongation[0](28,6) = 1.0/4096.0; - prolongation[0](28,7) = 1.0/4096.0; - prolongation[0](28,8) = -45.0/4096.0; - prolongation[0](28,9) = -45.0/4096.0; - prolongation[0](28,10) = -45.0/4096.0; - prolongation[0](28,11) = -45.0/4096.0; - prolongation[0](28,12) = -45.0/4096.0; - prolongation[0](28,13) = -45.0/4096.0; - prolongation[0](28,14) = -45.0/4096.0; - prolongation[0](28,15) = -45.0/4096.0; - prolongation[0](28,16) = -9.0/4096.0; - prolongation[0](28,17) = -9.0/4096.0; - prolongation[0](28,18) = -9.0/4096.0; - prolongation[0](28,19) = -9.0/4096.0; - prolongation[0](28,20) = -9.0/4096.0; - prolongation[0](28,21) = -9.0/4096.0; - prolongation[0](28,22) = -9.0/4096.0; - prolongation[0](28,23) = -9.0/4096.0; - prolongation[0](28,24) = 15.0/4096.0; - prolongation[0](28,25) = -5.0/4096.0; - prolongation[0](28,26) = 15.0/4096.0; - prolongation[0](28,27) = -5.0/4096.0; - prolongation[0](28,28) = 15.0/4096.0; - prolongation[0](28,29) = -5.0/4096.0; - prolongation[0](28,30) = 15.0/4096.0; - prolongation[0](28,31) = -5.0/4096.0; - prolongation[0](28,32) = 405.0/4096.0; - prolongation[0](28,33) = 405.0/4096.0; - prolongation[0](28,34) = 405.0/4096.0; - prolongation[0](28,35) = 405.0/4096.0; - prolongation[0](28,36) = 81.0/4096.0; - prolongation[0](28,37) = 81.0/4096.0; - prolongation[0](28,38) = 81.0/4096.0; - prolongation[0](28,39) = 81.0/4096.0; - prolongation[0](28,40) = -135.0/4096.0; - prolongation[0](28,41) = -135.0/4096.0; - prolongation[0](28,42) = 45.0/4096.0; - prolongation[0](28,43) = 45.0/4096.0; - prolongation[0](28,44) = -135.0/4096.0; - prolongation[0](28,45) = 45.0/4096.0; - prolongation[0](28,46) = -135.0/4096.0; - prolongation[0](28,47) = 45.0/4096.0; - prolongation[0](28,48) = -135.0/4096.0; - prolongation[0](28,49) = -135.0/4096.0; - prolongation[0](28,50) = 45.0/4096.0; - prolongation[0](28,51) = 45.0/4096.0; - prolongation[0](28,52) = -135.0/4096.0; - prolongation[0](28,53) = 45.0/4096.0; - prolongation[0](28,54) = -135.0/4096.0; - prolongation[0](28,55) = 45.0/4096.0; - prolongation[0](28,56) = 1215.0/4096.0; - prolongation[0](28,57) = 1215.0/4096.0; - prolongation[0](28,58) = -405.0/4096.0; - prolongation[0](28,59) = -405.0/4096.0; - prolongation[0](28,60) = 1215.0/4096.0; - prolongation[0](28,61) = 1215.0/4096.0; - prolongation[0](28,62) = -405.0/4096.0; - prolongation[0](28,63) = -405.0/4096.0; - prolongation[0](29,24) = 1.0/256.0; - prolongation[0](29,26) = 1.0/256.0; - prolongation[0](29,28) = 1.0/256.0; - prolongation[0](29,30) = 1.0/256.0; - prolongation[0](29,40) = -9.0/256.0; - prolongation[0](29,41) = -9.0/256.0; - prolongation[0](29,44) = -9.0/256.0; - prolongation[0](29,46) = -9.0/256.0; - prolongation[0](29,48) = -9.0/256.0; - prolongation[0](29,49) = -9.0/256.0; - prolongation[0](29,52) = -9.0/256.0; - prolongation[0](29,54) = -9.0/256.0; - prolongation[0](29,56) = 81.0/256.0; - prolongation[0](29,57) = 81.0/256.0; - prolongation[0](29,60) = 81.0/256.0; - prolongation[0](29,61) = 81.0/256.0; - prolongation[0](30,0) = -5.0/256.0; - prolongation[0](30,3) = -5.0/256.0; - prolongation[0](30,4) = -1.0/256.0; - prolongation[0](30,7) = -1.0/256.0; - prolongation[0](30,14) = 45.0/256.0; - prolongation[0](30,15) = 45.0/256.0; - prolongation[0](30,22) = 9.0/256.0; - prolongation[0](30,23) = 9.0/256.0; - prolongation[0](30,24) = -15.0/256.0; - prolongation[0](30,25) = 5.0/256.0; - prolongation[0](30,30) = -15.0/256.0; - prolongation[0](30,31) = 5.0/256.0; - prolongation[0](30,52) = 135.0/256.0; - prolongation[0](30,53) = -45.0/256.0; - prolongation[0](30,54) = 135.0/256.0; - prolongation[0](30,55) = -45.0/256.0; - prolongation[0](31,24) = -1.0/16.0; - prolongation[0](31,30) = -1.0/16.0; - prolongation[0](31,52) = 9.0/16.0; - prolongation[0](31,54) = 9.0/16.0; - prolongation[0](32,0) = 25.0/256.0; - prolongation[0](32,1) = 5.0/256.0; - prolongation[0](32,2) = 1.0/256.0; - prolongation[0](32,3) = 5.0/256.0; - prolongation[0](32,8) = 75.0/256.0; - prolongation[0](32,9) = -25.0/256.0; - prolongation[0](32,10) = 15.0/256.0; - prolongation[0](32,11) = -5.0/256.0; - prolongation[0](32,12) = 15.0/256.0; - prolongation[0](32,13) = -5.0/256.0; - prolongation[0](32,14) = 75.0/256.0; - prolongation[0](32,15) = -25.0/256.0; - prolongation[0](32,32) = 225.0/256.0; - prolongation[0](32,33) = -75.0/256.0; - prolongation[0](32,34) = -75.0/256.0; - prolongation[0](32,35) = 25.0/256.0; - prolongation[0](33,8) = 5.0/16.0; - prolongation[0](33,12) = 1.0/16.0; - prolongation[0](33,32) = 15.0/16.0; - prolongation[0](33,34) = -5.0/16.0; - prolongation[0](34,10) = 1.0/16.0; - prolongation[0](34,14) = 5.0/16.0; - prolongation[0](34,32) = 15.0/16.0; - prolongation[0](34,33) = -5.0/16.0; - prolongation[0](35,32) = 1.0; - prolongation[0](36,0) = -25.0/4096.0; - prolongation[0](36,1) = -5.0/4096.0; - prolongation[0](36,2) = -1.0/4096.0; - prolongation[0](36,3) = -5.0/4096.0; - prolongation[0](36,4) = -25.0/4096.0; - prolongation[0](36,5) = -5.0/4096.0; - prolongation[0](36,6) = -1.0/4096.0; - prolongation[0](36,7) = -5.0/4096.0; - prolongation[0](36,8) = -75.0/4096.0; - prolongation[0](36,9) = 25.0/4096.0; - prolongation[0](36,10) = -15.0/4096.0; - prolongation[0](36,11) = 5.0/4096.0; - prolongation[0](36,12) = -15.0/4096.0; - prolongation[0](36,13) = 5.0/4096.0; - prolongation[0](36,14) = -75.0/4096.0; - prolongation[0](36,15) = 25.0/4096.0; - prolongation[0](36,16) = -75.0/4096.0; - prolongation[0](36,17) = 25.0/4096.0; - prolongation[0](36,18) = -15.0/4096.0; - prolongation[0](36,19) = 5.0/4096.0; - prolongation[0](36,20) = -15.0/4096.0; - prolongation[0](36,21) = 5.0/4096.0; - prolongation[0](36,22) = -75.0/4096.0; - prolongation[0](36,23) = 25.0/4096.0; - prolongation[0](36,24) = 225.0/4096.0; - prolongation[0](36,25) = 225.0/4096.0; - prolongation[0](36,26) = 45.0/4096.0; - prolongation[0](36,27) = 45.0/4096.0; - prolongation[0](36,28) = 9.0/4096.0; - prolongation[0](36,29) = 9.0/4096.0; - prolongation[0](36,30) = 45.0/4096.0; - prolongation[0](36,31) = 45.0/4096.0; - prolongation[0](36,32) = -225.0/4096.0; - prolongation[0](36,33) = 75.0/4096.0; - prolongation[0](36,34) = 75.0/4096.0; - prolongation[0](36,35) = -25.0/4096.0; - prolongation[0](36,36) = -225.0/4096.0; - prolongation[0](36,37) = 75.0/4096.0; - prolongation[0](36,38) = 75.0/4096.0; - prolongation[0](36,39) = -25.0/4096.0; - prolongation[0](36,40) = 675.0/4096.0; - prolongation[0](36,41) = -225.0/4096.0; - prolongation[0](36,42) = 675.0/4096.0; - prolongation[0](36,43) = -225.0/4096.0; - prolongation[0](36,44) = 135.0/4096.0; - prolongation[0](36,45) = 135.0/4096.0; - prolongation[0](36,46) = -45.0/4096.0; - prolongation[0](36,47) = -45.0/4096.0; - prolongation[0](36,48) = 135.0/4096.0; - prolongation[0](36,49) = -45.0/4096.0; - prolongation[0](36,50) = 135.0/4096.0; - prolongation[0](36,51) = -45.0/4096.0; - prolongation[0](36,52) = 675.0/4096.0; - prolongation[0](36,53) = 675.0/4096.0; - prolongation[0](36,54) = -225.0/4096.0; - prolongation[0](36,55) = -225.0/4096.0; - prolongation[0](36,56) = 2025.0/4096.0; - prolongation[0](36,57) = -675.0/4096.0; - prolongation[0](36,58) = 2025.0/4096.0; - prolongation[0](36,59) = -675.0/4096.0; - prolongation[0](36,60) = -675.0/4096.0; - prolongation[0](36,61) = 225.0/4096.0; - prolongation[0](36,62) = -675.0/4096.0; - prolongation[0](36,63) = 225.0/4096.0; - prolongation[0](37,8) = -5.0/256.0; - prolongation[0](37,12) = -1.0/256.0; - prolongation[0](37,16) = -5.0/256.0; - prolongation[0](37,20) = -1.0/256.0; - prolongation[0](37,32) = -15.0/256.0; - prolongation[0](37,34) = 5.0/256.0; - prolongation[0](37,36) = -15.0/256.0; - prolongation[0](37,38) = 5.0/256.0; - prolongation[0](37,40) = 45.0/256.0; - prolongation[0](37,42) = 45.0/256.0; - prolongation[0](37,48) = 9.0/256.0; - prolongation[0](37,50) = 9.0/256.0; - prolongation[0](37,56) = 135.0/256.0; - prolongation[0](37,58) = 135.0/256.0; - prolongation[0](37,60) = -45.0/256.0; - prolongation[0](37,62) = -45.0/256.0; - prolongation[0](38,10) = -1.0/256.0; - prolongation[0](38,14) = -5.0/256.0; - prolongation[0](38,18) = -1.0/256.0; - prolongation[0](38,22) = -5.0/256.0; - prolongation[0](38,32) = -15.0/256.0; - prolongation[0](38,33) = 5.0/256.0; - prolongation[0](38,36) = -15.0/256.0; - prolongation[0](38,37) = 5.0/256.0; - prolongation[0](38,44) = 9.0/256.0; - prolongation[0](38,45) = 9.0/256.0; - prolongation[0](38,52) = 45.0/256.0; - prolongation[0](38,53) = 45.0/256.0; - prolongation[0](38,56) = 135.0/256.0; - prolongation[0](38,57) = -45.0/256.0; - prolongation[0](38,58) = 135.0/256.0; - prolongation[0](38,59) = -45.0/256.0; - prolongation[0](39,32) = -1.0/16.0; - prolongation[0](39,36) = -1.0/16.0; - prolongation[0](39,56) = 9.0/16.0; - prolongation[0](39,58) = 9.0/16.0; - prolongation[0](40,0) = 25.0/256.0; - prolongation[0](40,1) = 5.0/256.0; - prolongation[0](40,4) = 5.0/256.0; - prolongation[0](40,5) = 1.0/256.0; - prolongation[0](40,8) = 75.0/256.0; - prolongation[0](40,9) = -25.0/256.0; - prolongation[0](40,16) = 15.0/256.0; - prolongation[0](40,17) = -5.0/256.0; - prolongation[0](40,24) = 75.0/256.0; - prolongation[0](40,25) = -25.0/256.0; - prolongation[0](40,26) = 15.0/256.0; - prolongation[0](40,27) = -5.0/256.0; - prolongation[0](40,40) = 225.0/256.0; - prolongation[0](40,41) = -75.0/256.0; - prolongation[0](40,42) = -75.0/256.0; - prolongation[0](40,43) = 25.0/256.0; - prolongation[0](41,8) = 5.0/16.0; - prolongation[0](41,16) = 1.0/16.0; - prolongation[0](41,40) = 15.0/16.0; - prolongation[0](41,42) = -5.0/16.0; - prolongation[0](42,24) = 5.0/16.0; - prolongation[0](42,26) = 1.0/16.0; - prolongation[0](42,40) = 15.0/16.0; - prolongation[0](42,41) = -5.0/16.0; - prolongation[0](43,40) = 1.0; - prolongation[0](44,0) = -25.0/4096.0; - prolongation[0](44,1) = -25.0/4096.0; - prolongation[0](44,2) = -5.0/4096.0; - prolongation[0](44,3) = -5.0/4096.0; - prolongation[0](44,4) = -5.0/4096.0; - prolongation[0](44,5) = -5.0/4096.0; - prolongation[0](44,6) = -1.0/4096.0; - prolongation[0](44,7) = -1.0/4096.0; - prolongation[0](44,8) = 225.0/4096.0; - prolongation[0](44,9) = 225.0/4096.0; - prolongation[0](44,10) = -75.0/4096.0; - prolongation[0](44,11) = 25.0/4096.0; - prolongation[0](44,12) = 45.0/4096.0; - prolongation[0](44,13) = 45.0/4096.0; - prolongation[0](44,14) = -75.0/4096.0; - prolongation[0](44,15) = 25.0/4096.0; - prolongation[0](44,16) = 45.0/4096.0; - prolongation[0](44,17) = 45.0/4096.0; - prolongation[0](44,18) = -15.0/4096.0; - prolongation[0](44,19) = 5.0/4096.0; - prolongation[0](44,20) = 9.0/4096.0; - prolongation[0](44,21) = 9.0/4096.0; - prolongation[0](44,22) = -15.0/4096.0; - prolongation[0](44,23) = 5.0/4096.0; - prolongation[0](44,24) = -75.0/4096.0; - prolongation[0](44,25) = 25.0/4096.0; - prolongation[0](44,26) = -75.0/4096.0; - prolongation[0](44,27) = 25.0/4096.0; - prolongation[0](44,28) = -15.0/4096.0; - prolongation[0](44,29) = 5.0/4096.0; - prolongation[0](44,30) = -15.0/4096.0; - prolongation[0](44,31) = 5.0/4096.0; - prolongation[0](44,32) = 675.0/4096.0; - prolongation[0](44,33) = 675.0/4096.0; - prolongation[0](44,34) = -225.0/4096.0; - prolongation[0](44,35) = -225.0/4096.0; - prolongation[0](44,36) = 135.0/4096.0; - prolongation[0](44,37) = 135.0/4096.0; - prolongation[0](44,38) = -45.0/4096.0; - prolongation[0](44,39) = -45.0/4096.0; - prolongation[0](44,40) = 675.0/4096.0; - prolongation[0](44,41) = 675.0/4096.0; - prolongation[0](44,42) = -225.0/4096.0; - prolongation[0](44,43) = -225.0/4096.0; - prolongation[0](44,44) = -225.0/4096.0; - prolongation[0](44,45) = 75.0/4096.0; - prolongation[0](44,46) = 75.0/4096.0; - prolongation[0](44,47) = -25.0/4096.0; - prolongation[0](44,48) = 135.0/4096.0; - prolongation[0](44,49) = 135.0/4096.0; - prolongation[0](44,50) = -45.0/4096.0; - prolongation[0](44,51) = -45.0/4096.0; - prolongation[0](44,52) = -225.0/4096.0; - prolongation[0](44,53) = 75.0/4096.0; - prolongation[0](44,54) = 75.0/4096.0; - prolongation[0](44,55) = -25.0/4096.0; - prolongation[0](44,56) = 2025.0/4096.0; - prolongation[0](44,57) = 2025.0/4096.0; - prolongation[0](44,58) = -675.0/4096.0; - prolongation[0](44,59) = -675.0/4096.0; - prolongation[0](44,60) = -675.0/4096.0; - prolongation[0](44,61) = -675.0/4096.0; - prolongation[0](44,62) = 225.0/4096.0; - prolongation[0](44,63) = 225.0/4096.0; - prolongation[0](45,24) = -5.0/256.0; - prolongation[0](45,26) = -5.0/256.0; - prolongation[0](45,28) = -1.0/256.0; - prolongation[0](45,30) = -1.0/256.0; - prolongation[0](45,40) = 45.0/256.0; - prolongation[0](45,41) = 45.0/256.0; - prolongation[0](45,44) = -15.0/256.0; - prolongation[0](45,46) = 5.0/256.0; - prolongation[0](45,48) = 9.0/256.0; - prolongation[0](45,49) = 9.0/256.0; - prolongation[0](45,52) = -15.0/256.0; - prolongation[0](45,54) = 5.0/256.0; - prolongation[0](45,56) = 135.0/256.0; - prolongation[0](45,57) = 135.0/256.0; - prolongation[0](45,60) = -45.0/256.0; - prolongation[0](45,61) = -45.0/256.0; - prolongation[0](46,10) = -5.0/256.0; - prolongation[0](46,14) = -5.0/256.0; - prolongation[0](46,18) = -1.0/256.0; - prolongation[0](46,22) = -1.0/256.0; - prolongation[0](46,32) = 45.0/256.0; - prolongation[0](46,33) = 45.0/256.0; - prolongation[0](46,36) = 9.0/256.0; - prolongation[0](46,37) = 9.0/256.0; - prolongation[0](46,44) = -15.0/256.0; - prolongation[0](46,45) = 5.0/256.0; - prolongation[0](46,52) = -15.0/256.0; - prolongation[0](46,53) = 5.0/256.0; - prolongation[0](46,56) = 135.0/256.0; - prolongation[0](46,57) = 135.0/256.0; - prolongation[0](46,58) = -45.0/256.0; - prolongation[0](46,59) = -45.0/256.0; - prolongation[0](47,44) = -1.0/16.0; - prolongation[0](47,52) = -1.0/16.0; - prolongation[0](47,56) = 9.0/16.0; - prolongation[0](47,57) = 9.0/16.0; - prolongation[0](48,0) = -25.0/4096.0; - prolongation[0](48,1) = -5.0/4096.0; - prolongation[0](48,2) = -5.0/4096.0; - prolongation[0](48,3) = -25.0/4096.0; - prolongation[0](48,4) = -5.0/4096.0; - prolongation[0](48,5) = -1.0/4096.0; - prolongation[0](48,6) = -1.0/4096.0; - prolongation[0](48,7) = -5.0/4096.0; - prolongation[0](48,8) = -75.0/4096.0; - prolongation[0](48,9) = 25.0/4096.0; - prolongation[0](48,10) = 45.0/4096.0; - prolongation[0](48,11) = 45.0/4096.0; - prolongation[0](48,12) = -75.0/4096.0; - prolongation[0](48,13) = 25.0/4096.0; - prolongation[0](48,14) = 225.0/4096.0; - prolongation[0](48,15) = 225.0/4096.0; - prolongation[0](48,16) = -15.0/4096.0; - prolongation[0](48,17) = 5.0/4096.0; - prolongation[0](48,18) = 9.0/4096.0; - prolongation[0](48,19) = 9.0/4096.0; - prolongation[0](48,20) = -15.0/4096.0; - prolongation[0](48,21) = 5.0/4096.0; - prolongation[0](48,22) = 45.0/4096.0; - prolongation[0](48,23) = 45.0/4096.0; - prolongation[0](48,24) = -75.0/4096.0; - prolongation[0](48,25) = 25.0/4096.0; - prolongation[0](48,26) = -15.0/4096.0; - prolongation[0](48,27) = 5.0/4096.0; - prolongation[0](48,28) = -15.0/4096.0; - prolongation[0](48,29) = 5.0/4096.0; - prolongation[0](48,30) = -75.0/4096.0; - prolongation[0](48,31) = 25.0/4096.0; - prolongation[0](48,32) = 675.0/4096.0; - prolongation[0](48,33) = -225.0/4096.0; - prolongation[0](48,34) = 675.0/4096.0; - prolongation[0](48,35) = -225.0/4096.0; - prolongation[0](48,36) = 135.0/4096.0; - prolongation[0](48,37) = -45.0/4096.0; - prolongation[0](48,38) = 135.0/4096.0; - prolongation[0](48,39) = -45.0/4096.0; - prolongation[0](48,40) = -225.0/4096.0; - prolongation[0](48,41) = 75.0/4096.0; - prolongation[0](48,42) = 75.0/4096.0; - prolongation[0](48,43) = -25.0/4096.0; - prolongation[0](48,44) = 135.0/4096.0; - prolongation[0](48,45) = -45.0/4096.0; - prolongation[0](48,46) = 135.0/4096.0; - prolongation[0](48,47) = -45.0/4096.0; - prolongation[0](48,48) = -225.0/4096.0; - prolongation[0](48,49) = 75.0/4096.0; - prolongation[0](48,50) = 75.0/4096.0; - prolongation[0](48,51) = -25.0/4096.0; - prolongation[0](48,52) = 675.0/4096.0; - prolongation[0](48,53) = -225.0/4096.0; - prolongation[0](48,54) = 675.0/4096.0; - prolongation[0](48,55) = -225.0/4096.0; - prolongation[0](48,56) = 2025.0/4096.0; - prolongation[0](48,57) = -675.0/4096.0; - prolongation[0](48,58) = -675.0/4096.0; - prolongation[0](48,59) = 225.0/4096.0; - prolongation[0](48,60) = 2025.0/4096.0; - prolongation[0](48,61) = -675.0/4096.0; - prolongation[0](48,62) = -675.0/4096.0; - prolongation[0](48,63) = 225.0/4096.0; - prolongation[0](49,8) = -5.0/256.0; - prolongation[0](49,12) = -5.0/256.0; - prolongation[0](49,16) = -1.0/256.0; - prolongation[0](49,20) = -1.0/256.0; - prolongation[0](49,32) = 45.0/256.0; - prolongation[0](49,34) = 45.0/256.0; - prolongation[0](49,36) = 9.0/256.0; - prolongation[0](49,38) = 9.0/256.0; - prolongation[0](49,40) = -15.0/256.0; - prolongation[0](49,42) = 5.0/256.0; - prolongation[0](49,48) = -15.0/256.0; - prolongation[0](49,50) = 5.0/256.0; - prolongation[0](49,56) = 135.0/256.0; - prolongation[0](49,58) = -45.0/256.0; - prolongation[0](49,60) = 135.0/256.0; - prolongation[0](49,62) = -45.0/256.0; - prolongation[0](50,24) = -5.0/256.0; - prolongation[0](50,26) = -1.0/256.0; - prolongation[0](50,28) = -1.0/256.0; - prolongation[0](50,30) = -5.0/256.0; - prolongation[0](50,40) = -15.0/256.0; - prolongation[0](50,41) = 5.0/256.0; - prolongation[0](50,44) = 9.0/256.0; - prolongation[0](50,46) = 9.0/256.0; - prolongation[0](50,48) = -15.0/256.0; - prolongation[0](50,49) = 5.0/256.0; - prolongation[0](50,52) = 45.0/256.0; - prolongation[0](50,54) = 45.0/256.0; - prolongation[0](50,56) = 135.0/256.0; - prolongation[0](50,57) = -45.0/256.0; - prolongation[0](50,60) = 135.0/256.0; - prolongation[0](50,61) = -45.0/256.0; - prolongation[0](51,40) = -1.0/16.0; - prolongation[0](51,48) = -1.0/16.0; - prolongation[0](51,56) = 9.0/16.0; - prolongation[0](51,60) = 9.0/16.0; - prolongation[0](52,0) = 25.0/256.0; - prolongation[0](52,3) = 5.0/256.0; - prolongation[0](52,4) = 5.0/256.0; - prolongation[0](52,7) = 1.0/256.0; - prolongation[0](52,14) = 75.0/256.0; - prolongation[0](52,15) = -25.0/256.0; - prolongation[0](52,22) = 15.0/256.0; - prolongation[0](52,23) = -5.0/256.0; - prolongation[0](52,24) = 75.0/256.0; - prolongation[0](52,25) = -25.0/256.0; - prolongation[0](52,30) = 15.0/256.0; - prolongation[0](52,31) = -5.0/256.0; - prolongation[0](52,52) = 225.0/256.0; - prolongation[0](52,53) = -75.0/256.0; - prolongation[0](52,54) = -75.0/256.0; - prolongation[0](52,55) = 25.0/256.0; - prolongation[0](53,24) = 5.0/16.0; - prolongation[0](53,30) = 1.0/16.0; - prolongation[0](53,52) = 15.0/16.0; - prolongation[0](53,54) = -5.0/16.0; - prolongation[0](54,14) = 5.0/16.0; - prolongation[0](54,22) = 1.0/16.0; - prolongation[0](54,52) = 15.0/16.0; - prolongation[0](54,53) = -5.0/16.0; - prolongation[0](55,52) = 1.0; - prolongation[0](56,0) = 125.0/4096.0; - prolongation[0](56,1) = 25.0/4096.0; - prolongation[0](56,2) = 5.0/4096.0; - prolongation[0](56,3) = 25.0/4096.0; - prolongation[0](56,4) = 25.0/4096.0; - prolongation[0](56,5) = 5.0/4096.0; - prolongation[0](56,6) = 1.0/4096.0; - prolongation[0](56,7) = 5.0/4096.0; - prolongation[0](56,8) = 375.0/4096.0; - prolongation[0](56,9) = -125.0/4096.0; - prolongation[0](56,10) = 75.0/4096.0; - prolongation[0](56,11) = -25.0/4096.0; - prolongation[0](56,12) = 75.0/4096.0; - prolongation[0](56,13) = -25.0/4096.0; - prolongation[0](56,14) = 375.0/4096.0; - prolongation[0](56,15) = -125.0/4096.0; - prolongation[0](56,16) = 75.0/4096.0; - prolongation[0](56,17) = -25.0/4096.0; - prolongation[0](56,18) = 15.0/4096.0; - prolongation[0](56,19) = -5.0/4096.0; - prolongation[0](56,20) = 15.0/4096.0; - prolongation[0](56,21) = -5.0/4096.0; - prolongation[0](56,22) = 75.0/4096.0; - prolongation[0](56,23) = -25.0/4096.0; - prolongation[0](56,24) = 375.0/4096.0; - prolongation[0](56,25) = -125.0/4096.0; - prolongation[0](56,26) = 75.0/4096.0; - prolongation[0](56,27) = -25.0/4096.0; - prolongation[0](56,28) = 15.0/4096.0; - prolongation[0](56,29) = -5.0/4096.0; - prolongation[0](56,30) = 75.0/4096.0; - prolongation[0](56,31) = -25.0/4096.0; - prolongation[0](56,32) = 1125.0/4096.0; - prolongation[0](56,33) = -375.0/4096.0; - prolongation[0](56,34) = -375.0/4096.0; - prolongation[0](56,35) = 125.0/4096.0; - prolongation[0](56,36) = 225.0/4096.0; - prolongation[0](56,37) = -75.0/4096.0; - prolongation[0](56,38) = -75.0/4096.0; - prolongation[0](56,39) = 25.0/4096.0; - prolongation[0](56,40) = 1125.0/4096.0; - prolongation[0](56,41) = -375.0/4096.0; - prolongation[0](56,42) = -375.0/4096.0; - prolongation[0](56,43) = 125.0/4096.0; - prolongation[0](56,44) = 225.0/4096.0; - prolongation[0](56,45) = -75.0/4096.0; - prolongation[0](56,46) = -75.0/4096.0; - prolongation[0](56,47) = 25.0/4096.0; - prolongation[0](56,48) = 225.0/4096.0; - prolongation[0](56,49) = -75.0/4096.0; - prolongation[0](56,50) = -75.0/4096.0; - prolongation[0](56,51) = 25.0/4096.0; - prolongation[0](56,52) = 1125.0/4096.0; - prolongation[0](56,53) = -375.0/4096.0; - prolongation[0](56,54) = -375.0/4096.0; - prolongation[0](56,55) = 125.0/4096.0; - prolongation[0](56,56) = 3375.0/4096.0; - prolongation[0](56,57) = -1125.0/4096.0; - prolongation[0](56,58) = -1125.0/4096.0; - prolongation[0](56,59) = 375.0/4096.0; - prolongation[0](56,60) = -1125.0/4096.0; - prolongation[0](56,61) = 375.0/4096.0; - prolongation[0](56,62) = 375.0/4096.0; - prolongation[0](56,63) = -125.0/4096.0; - prolongation[0](57,8) = 25.0/256.0; - prolongation[0](57,12) = 5.0/256.0; - prolongation[0](57,16) = 5.0/256.0; - prolongation[0](57,20) = 1.0/256.0; - prolongation[0](57,32) = 75.0/256.0; - prolongation[0](57,34) = -25.0/256.0; - prolongation[0](57,36) = 15.0/256.0; - prolongation[0](57,38) = -5.0/256.0; - prolongation[0](57,40) = 75.0/256.0; - prolongation[0](57,42) = -25.0/256.0; - prolongation[0](57,48) = 15.0/256.0; - prolongation[0](57,50) = -5.0/256.0; - prolongation[0](57,56) = 225.0/256.0; - prolongation[0](57,58) = -75.0/256.0; - prolongation[0](57,60) = -75.0/256.0; - prolongation[0](57,62) = 25.0/256.0; - prolongation[0](58,24) = 25.0/256.0; - prolongation[0](58,26) = 5.0/256.0; - prolongation[0](58,28) = 1.0/256.0; - prolongation[0](58,30) = 5.0/256.0; - prolongation[0](58,40) = 75.0/256.0; - prolongation[0](58,41) = -25.0/256.0; - prolongation[0](58,44) = 15.0/256.0; - prolongation[0](58,46) = -5.0/256.0; - prolongation[0](58,48) = 15.0/256.0; - prolongation[0](58,49) = -5.0/256.0; - prolongation[0](58,52) = 75.0/256.0; - prolongation[0](58,54) = -25.0/256.0; - prolongation[0](58,56) = 225.0/256.0; - prolongation[0](58,57) = -75.0/256.0; - prolongation[0](58,60) = -75.0/256.0; - prolongation[0](58,61) = 25.0/256.0; - prolongation[0](59,40) = 5.0/16.0; - prolongation[0](59,48) = 1.0/16.0; - prolongation[0](59,56) = 15.0/16.0; - prolongation[0](59,60) = -5.0/16.0; - prolongation[0](60,10) = 5.0/256.0; - prolongation[0](60,14) = 25.0/256.0; - prolongation[0](60,18) = 1.0/256.0; - prolongation[0](60,22) = 5.0/256.0; - prolongation[0](60,32) = 75.0/256.0; - prolongation[0](60,33) = -25.0/256.0; - prolongation[0](60,36) = 15.0/256.0; - prolongation[0](60,37) = -5.0/256.0; - prolongation[0](60,44) = 15.0/256.0; - prolongation[0](60,45) = -5.0/256.0; - prolongation[0](60,52) = 75.0/256.0; - prolongation[0](60,53) = -25.0/256.0; - prolongation[0](60,56) = 225.0/256.0; - prolongation[0](60,57) = -75.0/256.0; - prolongation[0](60,58) = -75.0/256.0; - prolongation[0](60,59) = 25.0/256.0; - prolongation[0](61,32) = 5.0/16.0; - prolongation[0](61,36) = 1.0/16.0; - prolongation[0](61,56) = 15.0/16.0; - prolongation[0](61,58) = -5.0/16.0; - prolongation[0](62,44) = 1.0/16.0; - prolongation[0](62,52) = 5.0/16.0; - prolongation[0](62,56) = 15.0/16.0; - prolongation[0](62,57) = -5.0/16.0; - prolongation[0](63,56) = 1.0; - prolongation[1](0,0) = -1.0/16.0; - prolongation[1](0,1) = -1.0/16.0; - prolongation[1](0,8) = 9.0/16.0; - prolongation[1](0,9) = 9.0/16.0; - prolongation[1](1,1) = 1.0; - prolongation[1](2,1) = -1.0/16.0; - prolongation[1](2,2) = -1.0/16.0; - prolongation[1](2,10) = 9.0/16.0; - prolongation[1](2,11) = 9.0/16.0; - prolongation[1](3,0) = 1.0/256.0; - prolongation[1](3,1) = 1.0/256.0; - prolongation[1](3,2) = 1.0/256.0; - prolongation[1](3,3) = 1.0/256.0; - prolongation[1](3,8) = -9.0/256.0; - prolongation[1](3,9) = -9.0/256.0; - prolongation[1](3,10) = -9.0/256.0; - prolongation[1](3,11) = -9.0/256.0; - prolongation[1](3,12) = -9.0/256.0; - prolongation[1](3,13) = -9.0/256.0; - prolongation[1](3,14) = -9.0/256.0; - prolongation[1](3,15) = -9.0/256.0; - prolongation[1](3,32) = 81.0/256.0; - prolongation[1](3,33) = 81.0/256.0; - prolongation[1](3,34) = 81.0/256.0; - prolongation[1](3,35) = 81.0/256.0; - prolongation[1](4,0) = 1.0/256.0; - prolongation[1](4,1) = 1.0/256.0; - prolongation[1](4,4) = 1.0/256.0; - prolongation[1](4,5) = 1.0/256.0; - prolongation[1](4,8) = -9.0/256.0; - prolongation[1](4,9) = -9.0/256.0; - prolongation[1](4,16) = -9.0/256.0; - prolongation[1](4,17) = -9.0/256.0; - prolongation[1](4,24) = -9.0/256.0; - prolongation[1](4,25) = -9.0/256.0; - prolongation[1](4,26) = -9.0/256.0; - prolongation[1](4,27) = -9.0/256.0; - prolongation[1](4,40) = 81.0/256.0; - prolongation[1](4,41) = 81.0/256.0; - prolongation[1](4,42) = 81.0/256.0; - prolongation[1](4,43) = 81.0/256.0; - prolongation[1](5,1) = -1.0/16.0; - prolongation[1](5,5) = -1.0/16.0; - prolongation[1](5,26) = 9.0/16.0; - prolongation[1](5,27) = 9.0/16.0; - prolongation[1](6,1) = 1.0/256.0; - prolongation[1](6,2) = 1.0/256.0; - prolongation[1](6,5) = 1.0/256.0; - prolongation[1](6,6) = 1.0/256.0; - prolongation[1](6,10) = -9.0/256.0; - prolongation[1](6,11) = -9.0/256.0; - prolongation[1](6,18) = -9.0/256.0; - prolongation[1](6,19) = -9.0/256.0; - prolongation[1](6,26) = -9.0/256.0; - prolongation[1](6,27) = -9.0/256.0; - prolongation[1](6,28) = -9.0/256.0; - prolongation[1](6,29) = -9.0/256.0; - prolongation[1](6,44) = 81.0/256.0; - prolongation[1](6,45) = 81.0/256.0; - prolongation[1](6,46) = 81.0/256.0; - prolongation[1](6,47) = 81.0/256.0; - prolongation[1](7,0) = -1.0/4096.0; - prolongation[1](7,1) = -1.0/4096.0; - prolongation[1](7,2) = -1.0/4096.0; - prolongation[1](7,3) = -1.0/4096.0; - prolongation[1](7,4) = -1.0/4096.0; - prolongation[1](7,5) = -1.0/4096.0; - prolongation[1](7,6) = -1.0/4096.0; - prolongation[1](7,7) = -1.0/4096.0; - prolongation[1](7,8) = 9.0/4096.0; - prolongation[1](7,9) = 9.0/4096.0; - prolongation[1](7,10) = 9.0/4096.0; - prolongation[1](7,11) = 9.0/4096.0; - prolongation[1](7,12) = 9.0/4096.0; - prolongation[1](7,13) = 9.0/4096.0; - prolongation[1](7,14) = 9.0/4096.0; - prolongation[1](7,15) = 9.0/4096.0; - prolongation[1](7,16) = 9.0/4096.0; - prolongation[1](7,17) = 9.0/4096.0; - prolongation[1](7,18) = 9.0/4096.0; - prolongation[1](7,19) = 9.0/4096.0; - prolongation[1](7,20) = 9.0/4096.0; - prolongation[1](7,21) = 9.0/4096.0; - prolongation[1](7,22) = 9.0/4096.0; - prolongation[1](7,23) = 9.0/4096.0; - prolongation[1](7,24) = 9.0/4096.0; - prolongation[1](7,25) = 9.0/4096.0; - prolongation[1](7,26) = 9.0/4096.0; - prolongation[1](7,27) = 9.0/4096.0; - prolongation[1](7,28) = 9.0/4096.0; - prolongation[1](7,29) = 9.0/4096.0; - prolongation[1](7,30) = 9.0/4096.0; - prolongation[1](7,31) = 9.0/4096.0; - prolongation[1](7,32) = -81.0/4096.0; - prolongation[1](7,33) = -81.0/4096.0; - prolongation[1](7,34) = -81.0/4096.0; - prolongation[1](7,35) = -81.0/4096.0; - prolongation[1](7,36) = -81.0/4096.0; - prolongation[1](7,37) = -81.0/4096.0; - prolongation[1](7,38) = -81.0/4096.0; - prolongation[1](7,39) = -81.0/4096.0; - prolongation[1](7,40) = -81.0/4096.0; - prolongation[1](7,41) = -81.0/4096.0; - prolongation[1](7,42) = -81.0/4096.0; - prolongation[1](7,43) = -81.0/4096.0; - prolongation[1](7,44) = -81.0/4096.0; - prolongation[1](7,45) = -81.0/4096.0; - prolongation[1](7,46) = -81.0/4096.0; - prolongation[1](7,47) = -81.0/4096.0; - prolongation[1](7,48) = -81.0/4096.0; - prolongation[1](7,49) = -81.0/4096.0; - prolongation[1](7,50) = -81.0/4096.0; - prolongation[1](7,51) = -81.0/4096.0; - prolongation[1](7,52) = -81.0/4096.0; - prolongation[1](7,53) = -81.0/4096.0; - prolongation[1](7,54) = -81.0/4096.0; - prolongation[1](7,55) = -81.0/4096.0; - prolongation[1](7,56) = 729.0/4096.0; - prolongation[1](7,57) = 729.0/4096.0; - prolongation[1](7,58) = 729.0/4096.0; - prolongation[1](7,59) = 729.0/4096.0; - prolongation[1](7,60) = 729.0/4096.0; - prolongation[1](7,61) = 729.0/4096.0; - prolongation[1](7,62) = 729.0/4096.0; - prolongation[1](7,63) = 729.0/4096.0; - prolongation[1](8,9) = 1.0; - prolongation[1](9,0) = 1.0/16.0; - prolongation[1](9,1) = 5.0/16.0; - prolongation[1](9,8) = -5.0/16.0; - prolongation[1](9,9) = 15.0/16.0; - prolongation[1](10,1) = 5.0/16.0; - prolongation[1](10,2) = 1.0/16.0; - prolongation[1](10,10) = 15.0/16.0; - prolongation[1](10,11) = -5.0/16.0; - prolongation[1](11,10) = 1.0; - prolongation[1](12,9) = -1.0/16.0; - prolongation[1](12,13) = -1.0/16.0; - prolongation[1](12,33) = 9.0/16.0; - prolongation[1](12,35) = 9.0/16.0; - prolongation[1](13,0) = -1.0/256.0; - prolongation[1](13,1) = -5.0/256.0; - prolongation[1](13,2) = -5.0/256.0; - prolongation[1](13,3) = -1.0/256.0; - prolongation[1](13,8) = 5.0/256.0; - prolongation[1](13,9) = -15.0/256.0; - prolongation[1](13,10) = 45.0/256.0; - prolongation[1](13,11) = 45.0/256.0; - prolongation[1](13,12) = 5.0/256.0; - prolongation[1](13,13) = -15.0/256.0; - prolongation[1](13,14) = 9.0/256.0; - prolongation[1](13,15) = 9.0/256.0; - prolongation[1](13,32) = -45.0/256.0; - prolongation[1](13,33) = 135.0/256.0; - prolongation[1](13,34) = -45.0/256.0; - prolongation[1](13,35) = 135.0/256.0; - prolongation[1](14,0) = -5.0/256.0; - prolongation[1](14,1) = -5.0/256.0; - prolongation[1](14,2) = -1.0/256.0; - prolongation[1](14,3) = -1.0/256.0; - prolongation[1](14,8) = 45.0/256.0; - prolongation[1](14,9) = 45.0/256.0; - prolongation[1](14,10) = -15.0/256.0; - prolongation[1](14,11) = 5.0/256.0; - prolongation[1](14,12) = 9.0/256.0; - prolongation[1](14,13) = 9.0/256.0; - prolongation[1](14,14) = -15.0/256.0; - prolongation[1](14,15) = 5.0/256.0; - prolongation[1](14,32) = 135.0/256.0; - prolongation[1](14,33) = 135.0/256.0; - prolongation[1](14,34) = -45.0/256.0; - prolongation[1](14,35) = -45.0/256.0; - prolongation[1](15,10) = -1.0/16.0; - prolongation[1](15,14) = -1.0/16.0; - prolongation[1](15,32) = 9.0/16.0; - prolongation[1](15,33) = 9.0/16.0; - prolongation[1](16,9) = -1.0/16.0; - prolongation[1](16,17) = -1.0/16.0; - prolongation[1](16,41) = 9.0/16.0; - prolongation[1](16,43) = 9.0/16.0; - prolongation[1](17,0) = -1.0/256.0; - prolongation[1](17,1) = -5.0/256.0; - prolongation[1](17,4) = -1.0/256.0; - prolongation[1](17,5) = -5.0/256.0; - prolongation[1](17,8) = 5.0/256.0; - prolongation[1](17,9) = -15.0/256.0; - prolongation[1](17,16) = 5.0/256.0; - prolongation[1](17,17) = -15.0/256.0; - prolongation[1](17,24) = 9.0/256.0; - prolongation[1](17,25) = 9.0/256.0; - prolongation[1](17,26) = 45.0/256.0; - prolongation[1](17,27) = 45.0/256.0; - prolongation[1](17,40) = -45.0/256.0; - prolongation[1](17,41) = 135.0/256.0; - prolongation[1](17,42) = -45.0/256.0; - prolongation[1](17,43) = 135.0/256.0; - prolongation[1](18,1) = -5.0/256.0; - prolongation[1](18,2) = -1.0/256.0; - prolongation[1](18,5) = -5.0/256.0; - prolongation[1](18,6) = -1.0/256.0; - prolongation[1](18,10) = -15.0/256.0; - prolongation[1](18,11) = 5.0/256.0; - prolongation[1](18,18) = -15.0/256.0; - prolongation[1](18,19) = 5.0/256.0; - prolongation[1](18,26) = 45.0/256.0; - prolongation[1](18,27) = 45.0/256.0; - prolongation[1](18,28) = 9.0/256.0; - prolongation[1](18,29) = 9.0/256.0; - prolongation[1](18,44) = 135.0/256.0; - prolongation[1](18,45) = 135.0/256.0; - prolongation[1](18,46) = -45.0/256.0; - prolongation[1](18,47) = -45.0/256.0; - prolongation[1](19,10) = -1.0/16.0; - prolongation[1](19,18) = -1.0/16.0; - prolongation[1](19,44) = 9.0/16.0; - prolongation[1](19,45) = 9.0/16.0; - prolongation[1](20,9) = 1.0/256.0; - prolongation[1](20,13) = 1.0/256.0; - prolongation[1](20,17) = 1.0/256.0; - prolongation[1](20,21) = 1.0/256.0; - prolongation[1](20,33) = -9.0/256.0; - prolongation[1](20,35) = -9.0/256.0; - prolongation[1](20,37) = -9.0/256.0; - prolongation[1](20,39) = -9.0/256.0; - prolongation[1](20,41) = -9.0/256.0; - prolongation[1](20,43) = -9.0/256.0; - prolongation[1](20,49) = -9.0/256.0; - prolongation[1](20,51) = -9.0/256.0; - prolongation[1](20,57) = 81.0/256.0; - prolongation[1](20,59) = 81.0/256.0; - prolongation[1](20,61) = 81.0/256.0; - prolongation[1](20,63) = 81.0/256.0; - prolongation[1](21,0) = 1.0/4096.0; - prolongation[1](21,1) = 5.0/4096.0; - prolongation[1](21,2) = 5.0/4096.0; - prolongation[1](21,3) = 1.0/4096.0; - prolongation[1](21,4) = 1.0/4096.0; - prolongation[1](21,5) = 5.0/4096.0; - prolongation[1](21,6) = 5.0/4096.0; - prolongation[1](21,7) = 1.0/4096.0; - prolongation[1](21,8) = -5.0/4096.0; - prolongation[1](21,9) = 15.0/4096.0; - prolongation[1](21,10) = -45.0/4096.0; - prolongation[1](21,11) = -45.0/4096.0; - prolongation[1](21,12) = -5.0/4096.0; - prolongation[1](21,13) = 15.0/4096.0; - prolongation[1](21,14) = -9.0/4096.0; - prolongation[1](21,15) = -9.0/4096.0; - prolongation[1](21,16) = -5.0/4096.0; - prolongation[1](21,17) = 15.0/4096.0; - prolongation[1](21,18) = -45.0/4096.0; - prolongation[1](21,19) = -45.0/4096.0; - prolongation[1](21,20) = -5.0/4096.0; - prolongation[1](21,21) = 15.0/4096.0; - prolongation[1](21,22) = -9.0/4096.0; - prolongation[1](21,23) = -9.0/4096.0; - prolongation[1](21,24) = -9.0/4096.0; - prolongation[1](21,25) = -9.0/4096.0; - prolongation[1](21,26) = -45.0/4096.0; - prolongation[1](21,27) = -45.0/4096.0; - prolongation[1](21,28) = -45.0/4096.0; - prolongation[1](21,29) = -45.0/4096.0; - prolongation[1](21,30) = -9.0/4096.0; - prolongation[1](21,31) = -9.0/4096.0; - prolongation[1](21,32) = 45.0/4096.0; - prolongation[1](21,33) = -135.0/4096.0; - prolongation[1](21,34) = 45.0/4096.0; - prolongation[1](21,35) = -135.0/4096.0; - prolongation[1](21,36) = 45.0/4096.0; - prolongation[1](21,37) = -135.0/4096.0; - prolongation[1](21,38) = 45.0/4096.0; - prolongation[1](21,39) = -135.0/4096.0; - prolongation[1](21,40) = 45.0/4096.0; - prolongation[1](21,41) = -135.0/4096.0; - prolongation[1](21,42) = 45.0/4096.0; - prolongation[1](21,43) = -135.0/4096.0; - prolongation[1](21,44) = 405.0/4096.0; - prolongation[1](21,45) = 405.0/4096.0; - prolongation[1](21,46) = 405.0/4096.0; - prolongation[1](21,47) = 405.0/4096.0; - prolongation[1](21,48) = 45.0/4096.0; - prolongation[1](21,49) = -135.0/4096.0; - prolongation[1](21,50) = 45.0/4096.0; - prolongation[1](21,51) = -135.0/4096.0; - prolongation[1](21,52) = 81.0/4096.0; - prolongation[1](21,53) = 81.0/4096.0; - prolongation[1](21,54) = 81.0/4096.0; - prolongation[1](21,55) = 81.0/4096.0; - prolongation[1](21,56) = -405.0/4096.0; - prolongation[1](21,57) = 1215.0/4096.0; - prolongation[1](21,58) = -405.0/4096.0; - prolongation[1](21,59) = 1215.0/4096.0; - prolongation[1](21,60) = -405.0/4096.0; - prolongation[1](21,61) = 1215.0/4096.0; - prolongation[1](21,62) = -405.0/4096.0; - prolongation[1](21,63) = 1215.0/4096.0; - prolongation[1](22,0) = 5.0/4096.0; - prolongation[1](22,1) = 5.0/4096.0; - prolongation[1](22,2) = 1.0/4096.0; - prolongation[1](22,3) = 1.0/4096.0; - prolongation[1](22,4) = 5.0/4096.0; - prolongation[1](22,5) = 5.0/4096.0; - prolongation[1](22,6) = 1.0/4096.0; - prolongation[1](22,7) = 1.0/4096.0; - prolongation[1](22,8) = -45.0/4096.0; - prolongation[1](22,9) = -45.0/4096.0; - prolongation[1](22,10) = 15.0/4096.0; - prolongation[1](22,11) = -5.0/4096.0; - prolongation[1](22,12) = -9.0/4096.0; - prolongation[1](22,13) = -9.0/4096.0; - prolongation[1](22,14) = 15.0/4096.0; - prolongation[1](22,15) = -5.0/4096.0; - prolongation[1](22,16) = -45.0/4096.0; - prolongation[1](22,17) = -45.0/4096.0; - prolongation[1](22,18) = 15.0/4096.0; - prolongation[1](22,19) = -5.0/4096.0; - prolongation[1](22,20) = -9.0/4096.0; - prolongation[1](22,21) = -9.0/4096.0; - prolongation[1](22,22) = 15.0/4096.0; - prolongation[1](22,23) = -5.0/4096.0; - prolongation[1](22,24) = -45.0/4096.0; - prolongation[1](22,25) = -45.0/4096.0; - prolongation[1](22,26) = -45.0/4096.0; - prolongation[1](22,27) = -45.0/4096.0; - prolongation[1](22,28) = -9.0/4096.0; - prolongation[1](22,29) = -9.0/4096.0; - prolongation[1](22,30) = -9.0/4096.0; - prolongation[1](22,31) = -9.0/4096.0; - prolongation[1](22,32) = -135.0/4096.0; - prolongation[1](22,33) = -135.0/4096.0; - prolongation[1](22,34) = 45.0/4096.0; - prolongation[1](22,35) = 45.0/4096.0; - prolongation[1](22,36) = -135.0/4096.0; - prolongation[1](22,37) = -135.0/4096.0; - prolongation[1](22,38) = 45.0/4096.0; - prolongation[1](22,39) = 45.0/4096.0; - prolongation[1](22,40) = 405.0/4096.0; - prolongation[1](22,41) = 405.0/4096.0; - prolongation[1](22,42) = 405.0/4096.0; - prolongation[1](22,43) = 405.0/4096.0; - prolongation[1](22,44) = -135.0/4096.0; - prolongation[1](22,45) = -135.0/4096.0; - prolongation[1](22,46) = 45.0/4096.0; - prolongation[1](22,47) = 45.0/4096.0; - prolongation[1](22,48) = 81.0/4096.0; - prolongation[1](22,49) = 81.0/4096.0; - prolongation[1](22,50) = 81.0/4096.0; - prolongation[1](22,51) = 81.0/4096.0; - prolongation[1](22,52) = -135.0/4096.0; - prolongation[1](22,53) = -135.0/4096.0; - prolongation[1](22,54) = 45.0/4096.0; - prolongation[1](22,55) = 45.0/4096.0; - prolongation[1](22,56) = 1215.0/4096.0; - prolongation[1](22,57) = 1215.0/4096.0; - prolongation[1](22,58) = 1215.0/4096.0; - prolongation[1](22,59) = 1215.0/4096.0; - prolongation[1](22,60) = -405.0/4096.0; - prolongation[1](22,61) = -405.0/4096.0; - prolongation[1](22,62) = -405.0/4096.0; - prolongation[1](22,63) = -405.0/4096.0; - prolongation[1](23,10) = 1.0/256.0; - prolongation[1](23,14) = 1.0/256.0; - prolongation[1](23,18) = 1.0/256.0; - prolongation[1](23,22) = 1.0/256.0; - prolongation[1](23,32) = -9.0/256.0; - prolongation[1](23,33) = -9.0/256.0; - prolongation[1](23,36) = -9.0/256.0; - prolongation[1](23,37) = -9.0/256.0; - prolongation[1](23,44) = -9.0/256.0; - prolongation[1](23,45) = -9.0/256.0; - prolongation[1](23,52) = -9.0/256.0; - prolongation[1](23,53) = -9.0/256.0; - prolongation[1](23,56) = 81.0/256.0; - prolongation[1](23,57) = 81.0/256.0; - prolongation[1](23,58) = 81.0/256.0; - prolongation[1](23,59) = 81.0/256.0; - prolongation[1](24,0) = -5.0/256.0; - prolongation[1](24,1) = -5.0/256.0; - prolongation[1](24,4) = -1.0/256.0; - prolongation[1](24,5) = -1.0/256.0; - prolongation[1](24,8) = 45.0/256.0; - prolongation[1](24,9) = 45.0/256.0; - prolongation[1](24,16) = 9.0/256.0; - prolongation[1](24,17) = 9.0/256.0; - prolongation[1](24,24) = -15.0/256.0; - prolongation[1](24,25) = 5.0/256.0; - prolongation[1](24,26) = -15.0/256.0; - prolongation[1](24,27) = 5.0/256.0; - prolongation[1](24,40) = 135.0/256.0; - prolongation[1](24,41) = 135.0/256.0; - prolongation[1](24,42) = -45.0/256.0; - prolongation[1](24,43) = -45.0/256.0; - prolongation[1](25,24) = -1.0/16.0; - prolongation[1](25,26) = -1.0/16.0; - prolongation[1](25,40) = 9.0/16.0; - prolongation[1](25,41) = 9.0/16.0; - prolongation[1](26,1) = 5.0/16.0; - prolongation[1](26,5) = 1.0/16.0; - prolongation[1](26,26) = 15.0/16.0; - prolongation[1](26,27) = -5.0/16.0; - prolongation[1](27,26) = 1.0; - prolongation[1](28,1) = -5.0/256.0; - prolongation[1](28,2) = -5.0/256.0; - prolongation[1](28,5) = -1.0/256.0; - prolongation[1](28,6) = -1.0/256.0; - prolongation[1](28,10) = 45.0/256.0; - prolongation[1](28,11) = 45.0/256.0; - prolongation[1](28,18) = 9.0/256.0; - prolongation[1](28,19) = 9.0/256.0; - prolongation[1](28,26) = -15.0/256.0; - prolongation[1](28,27) = 5.0/256.0; - prolongation[1](28,28) = -15.0/256.0; - prolongation[1](28,29) = 5.0/256.0; - prolongation[1](28,44) = 135.0/256.0; - prolongation[1](28,45) = -45.0/256.0; - prolongation[1](28,46) = 135.0/256.0; - prolongation[1](28,47) = -45.0/256.0; - prolongation[1](29,26) = -1.0/16.0; - prolongation[1](29,28) = -1.0/16.0; - prolongation[1](29,44) = 9.0/16.0; - prolongation[1](29,46) = 9.0/16.0; - prolongation[1](30,0) = 5.0/4096.0; - prolongation[1](30,1) = 5.0/4096.0; - prolongation[1](30,2) = 5.0/4096.0; - prolongation[1](30,3) = 5.0/4096.0; - prolongation[1](30,4) = 1.0/4096.0; - prolongation[1](30,5) = 1.0/4096.0; - prolongation[1](30,6) = 1.0/4096.0; - prolongation[1](30,7) = 1.0/4096.0; - prolongation[1](30,8) = -45.0/4096.0; - prolongation[1](30,9) = -45.0/4096.0; - prolongation[1](30,10) = -45.0/4096.0; - prolongation[1](30,11) = -45.0/4096.0; - prolongation[1](30,12) = -45.0/4096.0; - prolongation[1](30,13) = -45.0/4096.0; - prolongation[1](30,14) = -45.0/4096.0; - prolongation[1](30,15) = -45.0/4096.0; - prolongation[1](30,16) = -9.0/4096.0; - prolongation[1](30,17) = -9.0/4096.0; - prolongation[1](30,18) = -9.0/4096.0; - prolongation[1](30,19) = -9.0/4096.0; - prolongation[1](30,20) = -9.0/4096.0; - prolongation[1](30,21) = -9.0/4096.0; - prolongation[1](30,22) = -9.0/4096.0; - prolongation[1](30,23) = -9.0/4096.0; - prolongation[1](30,24) = 15.0/4096.0; - prolongation[1](30,25) = -5.0/4096.0; - prolongation[1](30,26) = 15.0/4096.0; - prolongation[1](30,27) = -5.0/4096.0; - prolongation[1](30,28) = 15.0/4096.0; - prolongation[1](30,29) = -5.0/4096.0; - prolongation[1](30,30) = 15.0/4096.0; - prolongation[1](30,31) = -5.0/4096.0; - prolongation[1](30,32) = 405.0/4096.0; - prolongation[1](30,33) = 405.0/4096.0; - prolongation[1](30,34) = 405.0/4096.0; - prolongation[1](30,35) = 405.0/4096.0; - prolongation[1](30,36) = 81.0/4096.0; - prolongation[1](30,37) = 81.0/4096.0; - prolongation[1](30,38) = 81.0/4096.0; - prolongation[1](30,39) = 81.0/4096.0; - prolongation[1](30,40) = -135.0/4096.0; - prolongation[1](30,41) = -135.0/4096.0; - prolongation[1](30,42) = 45.0/4096.0; - prolongation[1](30,43) = 45.0/4096.0; - prolongation[1](30,44) = -135.0/4096.0; - prolongation[1](30,45) = 45.0/4096.0; - prolongation[1](30,46) = -135.0/4096.0; - prolongation[1](30,47) = 45.0/4096.0; - prolongation[1](30,48) = -135.0/4096.0; - prolongation[1](30,49) = -135.0/4096.0; - prolongation[1](30,50) = 45.0/4096.0; - prolongation[1](30,51) = 45.0/4096.0; - prolongation[1](30,52) = -135.0/4096.0; - prolongation[1](30,53) = 45.0/4096.0; - prolongation[1](30,54) = -135.0/4096.0; - prolongation[1](30,55) = 45.0/4096.0; - prolongation[1](30,56) = 1215.0/4096.0; - prolongation[1](30,57) = 1215.0/4096.0; - prolongation[1](30,58) = -405.0/4096.0; - prolongation[1](30,59) = -405.0/4096.0; - prolongation[1](30,60) = 1215.0/4096.0; - prolongation[1](30,61) = 1215.0/4096.0; - prolongation[1](30,62) = -405.0/4096.0; - prolongation[1](30,63) = -405.0/4096.0; - prolongation[1](31,24) = 1.0/256.0; - prolongation[1](31,26) = 1.0/256.0; - prolongation[1](31,28) = 1.0/256.0; - prolongation[1](31,30) = 1.0/256.0; - prolongation[1](31,40) = -9.0/256.0; - prolongation[1](31,41) = -9.0/256.0; - prolongation[1](31,44) = -9.0/256.0; - prolongation[1](31,46) = -9.0/256.0; - prolongation[1](31,48) = -9.0/256.0; - prolongation[1](31,49) = -9.0/256.0; - prolongation[1](31,52) = -9.0/256.0; - prolongation[1](31,54) = -9.0/256.0; - prolongation[1](31,56) = 81.0/256.0; - prolongation[1](31,57) = 81.0/256.0; - prolongation[1](31,60) = 81.0/256.0; - prolongation[1](31,61) = 81.0/256.0; - prolongation[1](32,9) = 5.0/16.0; - prolongation[1](32,13) = 1.0/16.0; - prolongation[1](32,33) = 15.0/16.0; - prolongation[1](32,35) = -5.0/16.0; - prolongation[1](33,0) = 5.0/256.0; - prolongation[1](33,1) = 25.0/256.0; - prolongation[1](33,2) = 5.0/256.0; - prolongation[1](33,3) = 1.0/256.0; - prolongation[1](33,8) = -25.0/256.0; - prolongation[1](33,9) = 75.0/256.0; - prolongation[1](33,10) = 75.0/256.0; - prolongation[1](33,11) = -25.0/256.0; - prolongation[1](33,12) = -5.0/256.0; - prolongation[1](33,13) = 15.0/256.0; - prolongation[1](33,14) = 15.0/256.0; - prolongation[1](33,15) = -5.0/256.0; - prolongation[1](33,32) = -75.0/256.0; - prolongation[1](33,33) = 225.0/256.0; - prolongation[1](33,34) = 25.0/256.0; - prolongation[1](33,35) = -75.0/256.0; - prolongation[1](34,33) = 1.0; - prolongation[1](35,10) = 5.0/16.0; - prolongation[1](35,14) = 1.0/16.0; - prolongation[1](35,32) = -5.0/16.0; - prolongation[1](35,33) = 15.0/16.0; - prolongation[1](36,9) = -5.0/256.0; - prolongation[1](36,13) = -1.0/256.0; - prolongation[1](36,17) = -5.0/256.0; - prolongation[1](36,21) = -1.0/256.0; - prolongation[1](36,33) = -15.0/256.0; - prolongation[1](36,35) = 5.0/256.0; - prolongation[1](36,37) = -15.0/256.0; - prolongation[1](36,39) = 5.0/256.0; - prolongation[1](36,41) = 45.0/256.0; - prolongation[1](36,43) = 45.0/256.0; - prolongation[1](36,49) = 9.0/256.0; - prolongation[1](36,51) = 9.0/256.0; - prolongation[1](36,57) = 135.0/256.0; - prolongation[1](36,59) = 135.0/256.0; - prolongation[1](36,61) = -45.0/256.0; - prolongation[1](36,63) = -45.0/256.0; - prolongation[1](37,0) = -5.0/4096.0; - prolongation[1](37,1) = -25.0/4096.0; - prolongation[1](37,2) = -5.0/4096.0; - prolongation[1](37,3) = -1.0/4096.0; - prolongation[1](37,4) = -5.0/4096.0; - prolongation[1](37,5) = -25.0/4096.0; - prolongation[1](37,6) = -5.0/4096.0; - prolongation[1](37,7) = -1.0/4096.0; - prolongation[1](37,8) = 25.0/4096.0; - prolongation[1](37,9) = -75.0/4096.0; - prolongation[1](37,10) = -75.0/4096.0; - prolongation[1](37,11) = 25.0/4096.0; - prolongation[1](37,12) = 5.0/4096.0; - prolongation[1](37,13) = -15.0/4096.0; - prolongation[1](37,14) = -15.0/4096.0; - prolongation[1](37,15) = 5.0/4096.0; - prolongation[1](37,16) = 25.0/4096.0; - prolongation[1](37,17) = -75.0/4096.0; - prolongation[1](37,18) = -75.0/4096.0; - prolongation[1](37,19) = 25.0/4096.0; - prolongation[1](37,20) = 5.0/4096.0; - prolongation[1](37,21) = -15.0/4096.0; - prolongation[1](37,22) = -15.0/4096.0; - prolongation[1](37,23) = 5.0/4096.0; - prolongation[1](37,24) = 45.0/4096.0; - prolongation[1](37,25) = 45.0/4096.0; - prolongation[1](37,26) = 225.0/4096.0; - prolongation[1](37,27) = 225.0/4096.0; - prolongation[1](37,28) = 45.0/4096.0; - prolongation[1](37,29) = 45.0/4096.0; - prolongation[1](37,30) = 9.0/4096.0; - prolongation[1](37,31) = 9.0/4096.0; - prolongation[1](37,32) = 75.0/4096.0; - prolongation[1](37,33) = -225.0/4096.0; - prolongation[1](37,34) = -25.0/4096.0; - prolongation[1](37,35) = 75.0/4096.0; - prolongation[1](37,36) = 75.0/4096.0; - prolongation[1](37,37) = -225.0/4096.0; - prolongation[1](37,38) = -25.0/4096.0; - prolongation[1](37,39) = 75.0/4096.0; - prolongation[1](37,40) = -225.0/4096.0; - prolongation[1](37,41) = 675.0/4096.0; - prolongation[1](37,42) = -225.0/4096.0; - prolongation[1](37,43) = 675.0/4096.0; - prolongation[1](37,44) = 675.0/4096.0; - prolongation[1](37,45) = 675.0/4096.0; - prolongation[1](37,46) = -225.0/4096.0; - prolongation[1](37,47) = -225.0/4096.0; - prolongation[1](37,48) = -45.0/4096.0; - prolongation[1](37,49) = 135.0/4096.0; - prolongation[1](37,50) = -45.0/4096.0; - prolongation[1](37,51) = 135.0/4096.0; - prolongation[1](37,52) = 135.0/4096.0; - prolongation[1](37,53) = 135.0/4096.0; - prolongation[1](37,54) = -45.0/4096.0; - prolongation[1](37,55) = -45.0/4096.0; - prolongation[1](37,56) = -675.0/4096.0; - prolongation[1](37,57) = 2025.0/4096.0; - prolongation[1](37,58) = -675.0/4096.0; - prolongation[1](37,59) = 2025.0/4096.0; - prolongation[1](37,60) = 225.0/4096.0; - prolongation[1](37,61) = -675.0/4096.0; - prolongation[1](37,62) = 225.0/4096.0; - prolongation[1](37,63) = -675.0/4096.0; - prolongation[1](38,33) = -1.0/16.0; - prolongation[1](38,37) = -1.0/16.0; - prolongation[1](38,57) = 9.0/16.0; - prolongation[1](38,59) = 9.0/16.0; - prolongation[1](39,10) = -5.0/256.0; - prolongation[1](39,14) = -1.0/256.0; - prolongation[1](39,18) = -5.0/256.0; - prolongation[1](39,22) = -1.0/256.0; - prolongation[1](39,32) = 5.0/256.0; - prolongation[1](39,33) = -15.0/256.0; - prolongation[1](39,36) = 5.0/256.0; - prolongation[1](39,37) = -15.0/256.0; - prolongation[1](39,44) = 45.0/256.0; - prolongation[1](39,45) = 45.0/256.0; - prolongation[1](39,52) = 9.0/256.0; - prolongation[1](39,53) = 9.0/256.0; - prolongation[1](39,56) = -45.0/256.0; - prolongation[1](39,57) = 135.0/256.0; - prolongation[1](39,58) = -45.0/256.0; - prolongation[1](39,59) = 135.0/256.0; - prolongation[1](40,9) = 5.0/16.0; - prolongation[1](40,17) = 1.0/16.0; - prolongation[1](40,41) = 15.0/16.0; - prolongation[1](40,43) = -5.0/16.0; - prolongation[1](41,0) = 5.0/256.0; - prolongation[1](41,1) = 25.0/256.0; - prolongation[1](41,4) = 1.0/256.0; - prolongation[1](41,5) = 5.0/256.0; - prolongation[1](41,8) = -25.0/256.0; - prolongation[1](41,9) = 75.0/256.0; - prolongation[1](41,16) = -5.0/256.0; - prolongation[1](41,17) = 15.0/256.0; - prolongation[1](41,24) = 15.0/256.0; - prolongation[1](41,25) = -5.0/256.0; - prolongation[1](41,26) = 75.0/256.0; - prolongation[1](41,27) = -25.0/256.0; - prolongation[1](41,40) = -75.0/256.0; - prolongation[1](41,41) = 225.0/256.0; - prolongation[1](41,42) = 25.0/256.0; - prolongation[1](41,43) = -75.0/256.0; - prolongation[1](42,41) = 1.0; - prolongation[1](43,24) = 1.0/16.0; - prolongation[1](43,26) = 5.0/16.0; - prolongation[1](43,40) = -5.0/16.0; - prolongation[1](43,41) = 15.0/16.0; - prolongation[1](44,1) = 25.0/256.0; - prolongation[1](44,2) = 5.0/256.0; - prolongation[1](44,5) = 5.0/256.0; - prolongation[1](44,6) = 1.0/256.0; - prolongation[1](44,10) = 75.0/256.0; - prolongation[1](44,11) = -25.0/256.0; - prolongation[1](44,18) = 15.0/256.0; - prolongation[1](44,19) = -5.0/256.0; - prolongation[1](44,26) = 75.0/256.0; - prolongation[1](44,27) = -25.0/256.0; - prolongation[1](44,28) = 15.0/256.0; - prolongation[1](44,29) = -5.0/256.0; - prolongation[1](44,44) = 225.0/256.0; - prolongation[1](44,45) = -75.0/256.0; - prolongation[1](44,46) = -75.0/256.0; - prolongation[1](44,47) = 25.0/256.0; - prolongation[1](45,26) = 5.0/16.0; - prolongation[1](45,28) = 1.0/16.0; - prolongation[1](45,44) = 15.0/16.0; - prolongation[1](45,46) = -5.0/16.0; - prolongation[1](46,10) = 5.0/16.0; - prolongation[1](46,18) = 1.0/16.0; - prolongation[1](46,44) = 15.0/16.0; - prolongation[1](46,45) = -5.0/16.0; - prolongation[1](47,44) = 1.0; - prolongation[1](48,9) = -5.0/256.0; - prolongation[1](48,13) = -5.0/256.0; - prolongation[1](48,17) = -1.0/256.0; - prolongation[1](48,21) = -1.0/256.0; - prolongation[1](48,33) = 45.0/256.0; - prolongation[1](48,35) = 45.0/256.0; - prolongation[1](48,37) = 9.0/256.0; - prolongation[1](48,39) = 9.0/256.0; - prolongation[1](48,41) = -15.0/256.0; - prolongation[1](48,43) = 5.0/256.0; - prolongation[1](48,49) = -15.0/256.0; - prolongation[1](48,51) = 5.0/256.0; - prolongation[1](48,57) = 135.0/256.0; - prolongation[1](48,59) = -45.0/256.0; - prolongation[1](48,61) = 135.0/256.0; - prolongation[1](48,63) = -45.0/256.0; - prolongation[1](49,0) = -5.0/4096.0; - prolongation[1](49,1) = -25.0/4096.0; - prolongation[1](49,2) = -25.0/4096.0; - prolongation[1](49,3) = -5.0/4096.0; - prolongation[1](49,4) = -1.0/4096.0; - prolongation[1](49,5) = -5.0/4096.0; - prolongation[1](49,6) = -5.0/4096.0; - prolongation[1](49,7) = -1.0/4096.0; - prolongation[1](49,8) = 25.0/4096.0; - prolongation[1](49,9) = -75.0/4096.0; - prolongation[1](49,10) = 225.0/4096.0; - prolongation[1](49,11) = 225.0/4096.0; - prolongation[1](49,12) = 25.0/4096.0; - prolongation[1](49,13) = -75.0/4096.0; - prolongation[1](49,14) = 45.0/4096.0; - prolongation[1](49,15) = 45.0/4096.0; - prolongation[1](49,16) = 5.0/4096.0; - prolongation[1](49,17) = -15.0/4096.0; - prolongation[1](49,18) = 45.0/4096.0; - prolongation[1](49,19) = 45.0/4096.0; - prolongation[1](49,20) = 5.0/4096.0; - prolongation[1](49,21) = -15.0/4096.0; - prolongation[1](49,22) = 9.0/4096.0; - prolongation[1](49,23) = 9.0/4096.0; - prolongation[1](49,24) = -15.0/4096.0; - prolongation[1](49,25) = 5.0/4096.0; - prolongation[1](49,26) = -75.0/4096.0; - prolongation[1](49,27) = 25.0/4096.0; - prolongation[1](49,28) = -75.0/4096.0; - prolongation[1](49,29) = 25.0/4096.0; - prolongation[1](49,30) = -15.0/4096.0; - prolongation[1](49,31) = 5.0/4096.0; - prolongation[1](49,32) = -225.0/4096.0; - prolongation[1](49,33) = 675.0/4096.0; - prolongation[1](49,34) = -225.0/4096.0; - prolongation[1](49,35) = 675.0/4096.0; - prolongation[1](49,36) = -45.0/4096.0; - prolongation[1](49,37) = 135.0/4096.0; - prolongation[1](49,38) = -45.0/4096.0; - prolongation[1](49,39) = 135.0/4096.0; - prolongation[1](49,40) = 75.0/4096.0; - prolongation[1](49,41) = -225.0/4096.0; - prolongation[1](49,42) = -25.0/4096.0; - prolongation[1](49,43) = 75.0/4096.0; - prolongation[1](49,44) = 675.0/4096.0; - prolongation[1](49,45) = -225.0/4096.0; - prolongation[1](49,46) = 675.0/4096.0; - prolongation[1](49,47) = -225.0/4096.0; - prolongation[1](49,48) = 75.0/4096.0; - prolongation[1](49,49) = -225.0/4096.0; - prolongation[1](49,50) = -25.0/4096.0; - prolongation[1](49,51) = 75.0/4096.0; - prolongation[1](49,52) = 135.0/4096.0; - prolongation[1](49,53) = -45.0/4096.0; - prolongation[1](49,54) = 135.0/4096.0; - prolongation[1](49,55) = -45.0/4096.0; - prolongation[1](49,56) = -675.0/4096.0; - prolongation[1](49,57) = 2025.0/4096.0; - prolongation[1](49,58) = 225.0/4096.0; - prolongation[1](49,59) = -675.0/4096.0; - prolongation[1](49,60) = -675.0/4096.0; - prolongation[1](49,61) = 2025.0/4096.0; - prolongation[1](49,62) = 225.0/4096.0; - prolongation[1](49,63) = -675.0/4096.0; - prolongation[1](50,41) = -1.0/16.0; - prolongation[1](50,49) = -1.0/16.0; - prolongation[1](50,57) = 9.0/16.0; - prolongation[1](50,61) = 9.0/16.0; - prolongation[1](51,24) = -1.0/256.0; - prolongation[1](51,26) = -5.0/256.0; - prolongation[1](51,28) = -5.0/256.0; - prolongation[1](51,30) = -1.0/256.0; - prolongation[1](51,40) = 5.0/256.0; - prolongation[1](51,41) = -15.0/256.0; - prolongation[1](51,44) = 45.0/256.0; - prolongation[1](51,46) = 45.0/256.0; - prolongation[1](51,48) = 5.0/256.0; - prolongation[1](51,49) = -15.0/256.0; - prolongation[1](51,52) = 9.0/256.0; - prolongation[1](51,54) = 9.0/256.0; - prolongation[1](51,56) = -45.0/256.0; - prolongation[1](51,57) = 135.0/256.0; - prolongation[1](51,60) = -45.0/256.0; - prolongation[1](51,61) = 135.0/256.0; - prolongation[1](52,0) = -25.0/4096.0; - prolongation[1](52,1) = -25.0/4096.0; - prolongation[1](52,2) = -5.0/4096.0; - prolongation[1](52,3) = -5.0/4096.0; - prolongation[1](52,4) = -5.0/4096.0; - prolongation[1](52,5) = -5.0/4096.0; - prolongation[1](52,6) = -1.0/4096.0; - prolongation[1](52,7) = -1.0/4096.0; - prolongation[1](52,8) = 225.0/4096.0; - prolongation[1](52,9) = 225.0/4096.0; - prolongation[1](52,10) = -75.0/4096.0; - prolongation[1](52,11) = 25.0/4096.0; - prolongation[1](52,12) = 45.0/4096.0; - prolongation[1](52,13) = 45.0/4096.0; - prolongation[1](52,14) = -75.0/4096.0; - prolongation[1](52,15) = 25.0/4096.0; - prolongation[1](52,16) = 45.0/4096.0; - prolongation[1](52,17) = 45.0/4096.0; - prolongation[1](52,18) = -15.0/4096.0; - prolongation[1](52,19) = 5.0/4096.0; - prolongation[1](52,20) = 9.0/4096.0; - prolongation[1](52,21) = 9.0/4096.0; - prolongation[1](52,22) = -15.0/4096.0; - prolongation[1](52,23) = 5.0/4096.0; - prolongation[1](52,24) = -75.0/4096.0; - prolongation[1](52,25) = 25.0/4096.0; - prolongation[1](52,26) = -75.0/4096.0; - prolongation[1](52,27) = 25.0/4096.0; - prolongation[1](52,28) = -15.0/4096.0; - prolongation[1](52,29) = 5.0/4096.0; - prolongation[1](52,30) = -15.0/4096.0; - prolongation[1](52,31) = 5.0/4096.0; - prolongation[1](52,32) = 675.0/4096.0; - prolongation[1](52,33) = 675.0/4096.0; - prolongation[1](52,34) = -225.0/4096.0; - prolongation[1](52,35) = -225.0/4096.0; - prolongation[1](52,36) = 135.0/4096.0; - prolongation[1](52,37) = 135.0/4096.0; - prolongation[1](52,38) = -45.0/4096.0; - prolongation[1](52,39) = -45.0/4096.0; - prolongation[1](52,40) = 675.0/4096.0; - prolongation[1](52,41) = 675.0/4096.0; - prolongation[1](52,42) = -225.0/4096.0; - prolongation[1](52,43) = -225.0/4096.0; - prolongation[1](52,44) = -225.0/4096.0; - prolongation[1](52,45) = 75.0/4096.0; - prolongation[1](52,46) = 75.0/4096.0; - prolongation[1](52,47) = -25.0/4096.0; - prolongation[1](52,48) = 135.0/4096.0; - prolongation[1](52,49) = 135.0/4096.0; - prolongation[1](52,50) = -45.0/4096.0; - prolongation[1](52,51) = -45.0/4096.0; - prolongation[1](52,52) = -225.0/4096.0; - prolongation[1](52,53) = 75.0/4096.0; - prolongation[1](52,54) = 75.0/4096.0; - prolongation[1](52,55) = -25.0/4096.0; - prolongation[1](52,56) = 2025.0/4096.0; - prolongation[1](52,57) = 2025.0/4096.0; - prolongation[1](52,58) = -675.0/4096.0; - prolongation[1](52,59) = -675.0/4096.0; - prolongation[1](52,60) = -675.0/4096.0; - prolongation[1](52,61) = -675.0/4096.0; - prolongation[1](52,62) = 225.0/4096.0; - prolongation[1](52,63) = 225.0/4096.0; - prolongation[1](53,24) = -5.0/256.0; - prolongation[1](53,26) = -5.0/256.0; - prolongation[1](53,28) = -1.0/256.0; - prolongation[1](53,30) = -1.0/256.0; - prolongation[1](53,40) = 45.0/256.0; - prolongation[1](53,41) = 45.0/256.0; - prolongation[1](53,44) = -15.0/256.0; - prolongation[1](53,46) = 5.0/256.0; - prolongation[1](53,48) = 9.0/256.0; - prolongation[1](53,49) = 9.0/256.0; - prolongation[1](53,52) = -15.0/256.0; - prolongation[1](53,54) = 5.0/256.0; - prolongation[1](53,56) = 135.0/256.0; - prolongation[1](53,57) = 135.0/256.0; - prolongation[1](53,60) = -45.0/256.0; - prolongation[1](53,61) = -45.0/256.0; - prolongation[1](54,10) = -5.0/256.0; - prolongation[1](54,14) = -5.0/256.0; - prolongation[1](54,18) = -1.0/256.0; - prolongation[1](54,22) = -1.0/256.0; - prolongation[1](54,32) = 45.0/256.0; - prolongation[1](54,33) = 45.0/256.0; - prolongation[1](54,36) = 9.0/256.0; - prolongation[1](54,37) = 9.0/256.0; - prolongation[1](54,44) = -15.0/256.0; - prolongation[1](54,45) = 5.0/256.0; - prolongation[1](54,52) = -15.0/256.0; - prolongation[1](54,53) = 5.0/256.0; - prolongation[1](54,56) = 135.0/256.0; - prolongation[1](54,57) = 135.0/256.0; - prolongation[1](54,58) = -45.0/256.0; - prolongation[1](54,59) = -45.0/256.0; - prolongation[1](55,44) = -1.0/16.0; - prolongation[1](55,52) = -1.0/16.0; - prolongation[1](55,56) = 9.0/16.0; - prolongation[1](55,57) = 9.0/16.0; - prolongation[1](56,9) = 25.0/256.0; - prolongation[1](56,13) = 5.0/256.0; - prolongation[1](56,17) = 5.0/256.0; - prolongation[1](56,21) = 1.0/256.0; - prolongation[1](56,33) = 75.0/256.0; - prolongation[1](56,35) = -25.0/256.0; - prolongation[1](56,37) = 15.0/256.0; - prolongation[1](56,39) = -5.0/256.0; - prolongation[1](56,41) = 75.0/256.0; - prolongation[1](56,43) = -25.0/256.0; - prolongation[1](56,49) = 15.0/256.0; - prolongation[1](56,51) = -5.0/256.0; - prolongation[1](56,57) = 225.0/256.0; - prolongation[1](56,59) = -75.0/256.0; - prolongation[1](56,61) = -75.0/256.0; - prolongation[1](56,63) = 25.0/256.0; - prolongation[1](57,0) = 25.0/4096.0; - prolongation[1](57,1) = 125.0/4096.0; - prolongation[1](57,2) = 25.0/4096.0; - prolongation[1](57,3) = 5.0/4096.0; - prolongation[1](57,4) = 5.0/4096.0; - prolongation[1](57,5) = 25.0/4096.0; - prolongation[1](57,6) = 5.0/4096.0; - prolongation[1](57,7) = 1.0/4096.0; - prolongation[1](57,8) = -125.0/4096.0; - prolongation[1](57,9) = 375.0/4096.0; - prolongation[1](57,10) = 375.0/4096.0; - prolongation[1](57,11) = -125.0/4096.0; - prolongation[1](57,12) = -25.0/4096.0; - prolongation[1](57,13) = 75.0/4096.0; - prolongation[1](57,14) = 75.0/4096.0; - prolongation[1](57,15) = -25.0/4096.0; - prolongation[1](57,16) = -25.0/4096.0; - prolongation[1](57,17) = 75.0/4096.0; - prolongation[1](57,18) = 75.0/4096.0; - prolongation[1](57,19) = -25.0/4096.0; - prolongation[1](57,20) = -5.0/4096.0; - prolongation[1](57,21) = 15.0/4096.0; - prolongation[1](57,22) = 15.0/4096.0; - prolongation[1](57,23) = -5.0/4096.0; - prolongation[1](57,24) = 75.0/4096.0; - prolongation[1](57,25) = -25.0/4096.0; - prolongation[1](57,26) = 375.0/4096.0; - prolongation[1](57,27) = -125.0/4096.0; - prolongation[1](57,28) = 75.0/4096.0; - prolongation[1](57,29) = -25.0/4096.0; - prolongation[1](57,30) = 15.0/4096.0; - prolongation[1](57,31) = -5.0/4096.0; - prolongation[1](57,32) = -375.0/4096.0; - prolongation[1](57,33) = 1125.0/4096.0; - prolongation[1](57,34) = 125.0/4096.0; - prolongation[1](57,35) = -375.0/4096.0; - prolongation[1](57,36) = -75.0/4096.0; - prolongation[1](57,37) = 225.0/4096.0; - prolongation[1](57,38) = 25.0/4096.0; - prolongation[1](57,39) = -75.0/4096.0; - prolongation[1](57,40) = -375.0/4096.0; - prolongation[1](57,41) = 1125.0/4096.0; - prolongation[1](57,42) = 125.0/4096.0; - prolongation[1](57,43) = -375.0/4096.0; - prolongation[1](57,44) = 1125.0/4096.0; - prolongation[1](57,45) = -375.0/4096.0; - prolongation[1](57,46) = -375.0/4096.0; - prolongation[1](57,47) = 125.0/4096.0; - prolongation[1](57,48) = -75.0/4096.0; - prolongation[1](57,49) = 225.0/4096.0; - prolongation[1](57,50) = 25.0/4096.0; - prolongation[1](57,51) = -75.0/4096.0; - prolongation[1](57,52) = 225.0/4096.0; - prolongation[1](57,53) = -75.0/4096.0; - prolongation[1](57,54) = -75.0/4096.0; - prolongation[1](57,55) = 25.0/4096.0; - prolongation[1](57,56) = -1125.0/4096.0; - prolongation[1](57,57) = 3375.0/4096.0; - prolongation[1](57,58) = 375.0/4096.0; - prolongation[1](57,59) = -1125.0/4096.0; - prolongation[1](57,60) = 375.0/4096.0; - prolongation[1](57,61) = -1125.0/4096.0; - prolongation[1](57,62) = -125.0/4096.0; - prolongation[1](57,63) = 375.0/4096.0; - prolongation[1](58,41) = 5.0/16.0; - prolongation[1](58,49) = 1.0/16.0; - prolongation[1](58,57) = 15.0/16.0; - prolongation[1](58,61) = -5.0/16.0; - prolongation[1](59,24) = 5.0/256.0; - prolongation[1](59,26) = 25.0/256.0; - prolongation[1](59,28) = 5.0/256.0; - prolongation[1](59,30) = 1.0/256.0; - prolongation[1](59,40) = -25.0/256.0; - prolongation[1](59,41) = 75.0/256.0; - prolongation[1](59,44) = 75.0/256.0; - prolongation[1](59,46) = -25.0/256.0; - prolongation[1](59,48) = -5.0/256.0; - prolongation[1](59,49) = 15.0/256.0; - prolongation[1](59,52) = 15.0/256.0; - prolongation[1](59,54) = -5.0/256.0; - prolongation[1](59,56) = -75.0/256.0; - prolongation[1](59,57) = 225.0/256.0; - prolongation[1](59,60) = 25.0/256.0; - prolongation[1](59,61) = -75.0/256.0; - prolongation[1](60,33) = 5.0/16.0; - prolongation[1](60,37) = 1.0/16.0; - prolongation[1](60,57) = 15.0/16.0; - prolongation[1](60,59) = -5.0/16.0; - prolongation[1](61,10) = 25.0/256.0; - prolongation[1](61,14) = 5.0/256.0; - prolongation[1](61,18) = 5.0/256.0; - prolongation[1](61,22) = 1.0/256.0; - prolongation[1](61,32) = -25.0/256.0; - prolongation[1](61,33) = 75.0/256.0; - prolongation[1](61,36) = -5.0/256.0; - prolongation[1](61,37) = 15.0/256.0; - prolongation[1](61,44) = 75.0/256.0; - prolongation[1](61,45) = -25.0/256.0; - prolongation[1](61,52) = 15.0/256.0; - prolongation[1](61,53) = -5.0/256.0; - prolongation[1](61,56) = -75.0/256.0; - prolongation[1](61,57) = 225.0/256.0; - prolongation[1](61,58) = 25.0/256.0; - prolongation[1](61,59) = -75.0/256.0; - prolongation[1](62,57) = 1.0; - prolongation[1](63,44) = 5.0/16.0; - prolongation[1](63,52) = 1.0/16.0; - prolongation[1](63,56) = -5.0/16.0; - prolongation[1](63,57) = 15.0/16.0; - prolongation[2](0,0) = 1.0/256.0; - prolongation[2](0,1) = 1.0/256.0; - prolongation[2](0,2) = 1.0/256.0; - prolongation[2](0,3) = 1.0/256.0; - prolongation[2](0,8) = -9.0/256.0; - prolongation[2](0,9) = -9.0/256.0; - prolongation[2](0,10) = -9.0/256.0; - prolongation[2](0,11) = -9.0/256.0; - prolongation[2](0,12) = -9.0/256.0; - prolongation[2](0,13) = -9.0/256.0; - prolongation[2](0,14) = -9.0/256.0; - prolongation[2](0,15) = -9.0/256.0; - prolongation[2](0,32) = 81.0/256.0; - prolongation[2](0,33) = 81.0/256.0; - prolongation[2](0,34) = 81.0/256.0; - prolongation[2](0,35) = 81.0/256.0; - prolongation[2](1,1) = -1.0/16.0; - prolongation[2](1,2) = -1.0/16.0; - prolongation[2](1,10) = 9.0/16.0; - prolongation[2](1,11) = 9.0/16.0; - prolongation[2](2,2) = 1.0; - prolongation[2](3,2) = -1.0/16.0; - prolongation[2](3,3) = -1.0/16.0; - prolongation[2](3,12) = 9.0/16.0; - prolongation[2](3,13) = 9.0/16.0; - prolongation[2](4,0) = -1.0/4096.0; - prolongation[2](4,1) = -1.0/4096.0; - prolongation[2](4,2) = -1.0/4096.0; - prolongation[2](4,3) = -1.0/4096.0; - prolongation[2](4,4) = -1.0/4096.0; - prolongation[2](4,5) = -1.0/4096.0; - prolongation[2](4,6) = -1.0/4096.0; - prolongation[2](4,7) = -1.0/4096.0; - prolongation[2](4,8) = 9.0/4096.0; - prolongation[2](4,9) = 9.0/4096.0; - prolongation[2](4,10) = 9.0/4096.0; - prolongation[2](4,11) = 9.0/4096.0; - prolongation[2](4,12) = 9.0/4096.0; - prolongation[2](4,13) = 9.0/4096.0; - prolongation[2](4,14) = 9.0/4096.0; - prolongation[2](4,15) = 9.0/4096.0; - prolongation[2](4,16) = 9.0/4096.0; - prolongation[2](4,17) = 9.0/4096.0; - prolongation[2](4,18) = 9.0/4096.0; - prolongation[2](4,19) = 9.0/4096.0; - prolongation[2](4,20) = 9.0/4096.0; - prolongation[2](4,21) = 9.0/4096.0; - prolongation[2](4,22) = 9.0/4096.0; - prolongation[2](4,23) = 9.0/4096.0; - prolongation[2](4,24) = 9.0/4096.0; - prolongation[2](4,25) = 9.0/4096.0; - prolongation[2](4,26) = 9.0/4096.0; - prolongation[2](4,27) = 9.0/4096.0; - prolongation[2](4,28) = 9.0/4096.0; - prolongation[2](4,29) = 9.0/4096.0; - prolongation[2](4,30) = 9.0/4096.0; - prolongation[2](4,31) = 9.0/4096.0; - prolongation[2](4,32) = -81.0/4096.0; - prolongation[2](4,33) = -81.0/4096.0; - prolongation[2](4,34) = -81.0/4096.0; - prolongation[2](4,35) = -81.0/4096.0; - prolongation[2](4,36) = -81.0/4096.0; - prolongation[2](4,37) = -81.0/4096.0; - prolongation[2](4,38) = -81.0/4096.0; - prolongation[2](4,39) = -81.0/4096.0; - prolongation[2](4,40) = -81.0/4096.0; - prolongation[2](4,41) = -81.0/4096.0; - prolongation[2](4,42) = -81.0/4096.0; - prolongation[2](4,43) = -81.0/4096.0; - prolongation[2](4,44) = -81.0/4096.0; - prolongation[2](4,45) = -81.0/4096.0; - prolongation[2](4,46) = -81.0/4096.0; - prolongation[2](4,47) = -81.0/4096.0; - prolongation[2](4,48) = -81.0/4096.0; - prolongation[2](4,49) = -81.0/4096.0; - prolongation[2](4,50) = -81.0/4096.0; - prolongation[2](4,51) = -81.0/4096.0; - prolongation[2](4,52) = -81.0/4096.0; - prolongation[2](4,53) = -81.0/4096.0; - prolongation[2](4,54) = -81.0/4096.0; - prolongation[2](4,55) = -81.0/4096.0; - prolongation[2](4,56) = 729.0/4096.0; - prolongation[2](4,57) = 729.0/4096.0; - prolongation[2](4,58) = 729.0/4096.0; - prolongation[2](4,59) = 729.0/4096.0; - prolongation[2](4,60) = 729.0/4096.0; - prolongation[2](4,61) = 729.0/4096.0; - prolongation[2](4,62) = 729.0/4096.0; - prolongation[2](4,63) = 729.0/4096.0; - prolongation[2](5,1) = 1.0/256.0; - prolongation[2](5,2) = 1.0/256.0; - prolongation[2](5,5) = 1.0/256.0; - prolongation[2](5,6) = 1.0/256.0; - prolongation[2](5,10) = -9.0/256.0; - prolongation[2](5,11) = -9.0/256.0; - prolongation[2](5,18) = -9.0/256.0; - prolongation[2](5,19) = -9.0/256.0; - prolongation[2](5,26) = -9.0/256.0; - prolongation[2](5,27) = -9.0/256.0; - prolongation[2](5,28) = -9.0/256.0; - prolongation[2](5,29) = -9.0/256.0; - prolongation[2](5,44) = 81.0/256.0; - prolongation[2](5,45) = 81.0/256.0; - prolongation[2](5,46) = 81.0/256.0; - prolongation[2](5,47) = 81.0/256.0; - prolongation[2](6,2) = -1.0/16.0; - prolongation[2](6,6) = -1.0/16.0; - prolongation[2](6,28) = 9.0/16.0; - prolongation[2](6,29) = 9.0/16.0; - prolongation[2](7,2) = 1.0/256.0; - prolongation[2](7,3) = 1.0/256.0; - prolongation[2](7,6) = 1.0/256.0; - prolongation[2](7,7) = 1.0/256.0; - prolongation[2](7,12) = -9.0/256.0; - prolongation[2](7,13) = -9.0/256.0; - prolongation[2](7,20) = -9.0/256.0; - prolongation[2](7,21) = -9.0/256.0; - prolongation[2](7,28) = -9.0/256.0; - prolongation[2](7,29) = -9.0/256.0; - prolongation[2](7,30) = -9.0/256.0; - prolongation[2](7,31) = -9.0/256.0; - prolongation[2](7,48) = 81.0/256.0; - prolongation[2](7,49) = 81.0/256.0; - prolongation[2](7,50) = 81.0/256.0; - prolongation[2](7,51) = 81.0/256.0; - prolongation[2](8,9) = -1.0/16.0; - prolongation[2](8,13) = -1.0/16.0; - prolongation[2](8,33) = 9.0/16.0; - prolongation[2](8,35) = 9.0/16.0; - prolongation[2](9,0) = -1.0/256.0; - prolongation[2](9,1) = -5.0/256.0; - prolongation[2](9,2) = -5.0/256.0; - prolongation[2](9,3) = -1.0/256.0; - prolongation[2](9,8) = 5.0/256.0; - prolongation[2](9,9) = -15.0/256.0; - prolongation[2](9,10) = 45.0/256.0; - prolongation[2](9,11) = 45.0/256.0; - prolongation[2](9,12) = 5.0/256.0; - prolongation[2](9,13) = -15.0/256.0; - prolongation[2](9,14) = 9.0/256.0; - prolongation[2](9,15) = 9.0/256.0; - prolongation[2](9,32) = -45.0/256.0; - prolongation[2](9,33) = 135.0/256.0; - prolongation[2](9,34) = -45.0/256.0; - prolongation[2](9,35) = 135.0/256.0; - prolongation[2](10,11) = 1.0; - prolongation[2](11,1) = 1.0/16.0; - prolongation[2](11,2) = 5.0/16.0; - prolongation[2](11,10) = -5.0/16.0; - prolongation[2](11,11) = 15.0/16.0; - prolongation[2](12,13) = 1.0; - prolongation[2](13,2) = 5.0/16.0; - prolongation[2](13,3) = 1.0/16.0; - prolongation[2](13,12) = -5.0/16.0; - prolongation[2](13,13) = 15.0/16.0; - prolongation[2](14,11) = -1.0/16.0; - prolongation[2](14,15) = -1.0/16.0; - prolongation[2](14,34) = 9.0/16.0; - prolongation[2](14,35) = 9.0/16.0; - prolongation[2](15,0) = -1.0/256.0; - prolongation[2](15,1) = -1.0/256.0; - prolongation[2](15,2) = -5.0/256.0; - prolongation[2](15,3) = -5.0/256.0; - prolongation[2](15,8) = 9.0/256.0; - prolongation[2](15,9) = 9.0/256.0; - prolongation[2](15,10) = 5.0/256.0; - prolongation[2](15,11) = -15.0/256.0; - prolongation[2](15,12) = 45.0/256.0; - prolongation[2](15,13) = 45.0/256.0; - prolongation[2](15,14) = 5.0/256.0; - prolongation[2](15,15) = -15.0/256.0; - prolongation[2](15,32) = -45.0/256.0; - prolongation[2](15,33) = -45.0/256.0; - prolongation[2](15,34) = 135.0/256.0; - prolongation[2](15,35) = 135.0/256.0; - prolongation[2](16,9) = 1.0/256.0; - prolongation[2](16,13) = 1.0/256.0; - prolongation[2](16,17) = 1.0/256.0; - prolongation[2](16,21) = 1.0/256.0; - prolongation[2](16,33) = -9.0/256.0; - prolongation[2](16,35) = -9.0/256.0; - prolongation[2](16,37) = -9.0/256.0; - prolongation[2](16,39) = -9.0/256.0; - prolongation[2](16,41) = -9.0/256.0; - prolongation[2](16,43) = -9.0/256.0; - prolongation[2](16,49) = -9.0/256.0; - prolongation[2](16,51) = -9.0/256.0; - prolongation[2](16,57) = 81.0/256.0; - prolongation[2](16,59) = 81.0/256.0; - prolongation[2](16,61) = 81.0/256.0; - prolongation[2](16,63) = 81.0/256.0; - prolongation[2](17,0) = 1.0/4096.0; - prolongation[2](17,1) = 5.0/4096.0; - prolongation[2](17,2) = 5.0/4096.0; - prolongation[2](17,3) = 1.0/4096.0; - prolongation[2](17,4) = 1.0/4096.0; - prolongation[2](17,5) = 5.0/4096.0; - prolongation[2](17,6) = 5.0/4096.0; - prolongation[2](17,7) = 1.0/4096.0; - prolongation[2](17,8) = -5.0/4096.0; - prolongation[2](17,9) = 15.0/4096.0; - prolongation[2](17,10) = -45.0/4096.0; - prolongation[2](17,11) = -45.0/4096.0; - prolongation[2](17,12) = -5.0/4096.0; - prolongation[2](17,13) = 15.0/4096.0; - prolongation[2](17,14) = -9.0/4096.0; - prolongation[2](17,15) = -9.0/4096.0; - prolongation[2](17,16) = -5.0/4096.0; - prolongation[2](17,17) = 15.0/4096.0; - prolongation[2](17,18) = -45.0/4096.0; - prolongation[2](17,19) = -45.0/4096.0; - prolongation[2](17,20) = -5.0/4096.0; - prolongation[2](17,21) = 15.0/4096.0; - prolongation[2](17,22) = -9.0/4096.0; - prolongation[2](17,23) = -9.0/4096.0; - prolongation[2](17,24) = -9.0/4096.0; - prolongation[2](17,25) = -9.0/4096.0; - prolongation[2](17,26) = -45.0/4096.0; - prolongation[2](17,27) = -45.0/4096.0; - prolongation[2](17,28) = -45.0/4096.0; - prolongation[2](17,29) = -45.0/4096.0; - prolongation[2](17,30) = -9.0/4096.0; - prolongation[2](17,31) = -9.0/4096.0; - prolongation[2](17,32) = 45.0/4096.0; - prolongation[2](17,33) = -135.0/4096.0; - prolongation[2](17,34) = 45.0/4096.0; - prolongation[2](17,35) = -135.0/4096.0; - prolongation[2](17,36) = 45.0/4096.0; - prolongation[2](17,37) = -135.0/4096.0; - prolongation[2](17,38) = 45.0/4096.0; - prolongation[2](17,39) = -135.0/4096.0; - prolongation[2](17,40) = 45.0/4096.0; - prolongation[2](17,41) = -135.0/4096.0; - prolongation[2](17,42) = 45.0/4096.0; - prolongation[2](17,43) = -135.0/4096.0; - prolongation[2](17,44) = 405.0/4096.0; - prolongation[2](17,45) = 405.0/4096.0; - prolongation[2](17,46) = 405.0/4096.0; - prolongation[2](17,47) = 405.0/4096.0; - prolongation[2](17,48) = 45.0/4096.0; - prolongation[2](17,49) = -135.0/4096.0; - prolongation[2](17,50) = 45.0/4096.0; - prolongation[2](17,51) = -135.0/4096.0; - prolongation[2](17,52) = 81.0/4096.0; - prolongation[2](17,53) = 81.0/4096.0; - prolongation[2](17,54) = 81.0/4096.0; - prolongation[2](17,55) = 81.0/4096.0; - prolongation[2](17,56) = -405.0/4096.0; - prolongation[2](17,57) = 1215.0/4096.0; - prolongation[2](17,58) = -405.0/4096.0; - prolongation[2](17,59) = 1215.0/4096.0; - prolongation[2](17,60) = -405.0/4096.0; - prolongation[2](17,61) = 1215.0/4096.0; - prolongation[2](17,62) = -405.0/4096.0; - prolongation[2](17,63) = 1215.0/4096.0; - prolongation[2](18,11) = -1.0/16.0; - prolongation[2](18,19) = -1.0/16.0; - prolongation[2](18,46) = 9.0/16.0; - prolongation[2](18,47) = 9.0/16.0; - prolongation[2](19,1) = -1.0/256.0; - prolongation[2](19,2) = -5.0/256.0; - prolongation[2](19,5) = -1.0/256.0; - prolongation[2](19,6) = -5.0/256.0; - prolongation[2](19,10) = 5.0/256.0; - prolongation[2](19,11) = -15.0/256.0; - prolongation[2](19,18) = 5.0/256.0; - prolongation[2](19,19) = -15.0/256.0; - prolongation[2](19,26) = 9.0/256.0; - prolongation[2](19,27) = 9.0/256.0; - prolongation[2](19,28) = 45.0/256.0; - prolongation[2](19,29) = 45.0/256.0; - prolongation[2](19,44) = -45.0/256.0; - prolongation[2](19,45) = -45.0/256.0; - prolongation[2](19,46) = 135.0/256.0; - prolongation[2](19,47) = 135.0/256.0; - prolongation[2](20,13) = -1.0/16.0; - prolongation[2](20,21) = -1.0/16.0; - prolongation[2](20,49) = 9.0/16.0; - prolongation[2](20,51) = 9.0/16.0; - prolongation[2](21,2) = -5.0/256.0; - prolongation[2](21,3) = -1.0/256.0; - prolongation[2](21,6) = -5.0/256.0; - prolongation[2](21,7) = -1.0/256.0; - prolongation[2](21,12) = 5.0/256.0; - prolongation[2](21,13) = -15.0/256.0; - prolongation[2](21,20) = 5.0/256.0; - prolongation[2](21,21) = -15.0/256.0; - prolongation[2](21,28) = 45.0/256.0; - prolongation[2](21,29) = 45.0/256.0; - prolongation[2](21,30) = 9.0/256.0; - prolongation[2](21,31) = 9.0/256.0; - prolongation[2](21,48) = -45.0/256.0; - prolongation[2](21,49) = 135.0/256.0; - prolongation[2](21,50) = -45.0/256.0; - prolongation[2](21,51) = 135.0/256.0; - prolongation[2](22,11) = 1.0/256.0; - prolongation[2](22,15) = 1.0/256.0; - prolongation[2](22,19) = 1.0/256.0; - prolongation[2](22,23) = 1.0/256.0; - prolongation[2](22,34) = -9.0/256.0; - prolongation[2](22,35) = -9.0/256.0; - prolongation[2](22,38) = -9.0/256.0; - prolongation[2](22,39) = -9.0/256.0; - prolongation[2](22,46) = -9.0/256.0; - prolongation[2](22,47) = -9.0/256.0; - prolongation[2](22,54) = -9.0/256.0; - prolongation[2](22,55) = -9.0/256.0; - prolongation[2](22,60) = 81.0/256.0; - prolongation[2](22,61) = 81.0/256.0; - prolongation[2](22,62) = 81.0/256.0; - prolongation[2](22,63) = 81.0/256.0; - prolongation[2](23,0) = 1.0/4096.0; - prolongation[2](23,1) = 1.0/4096.0; - prolongation[2](23,2) = 5.0/4096.0; - prolongation[2](23,3) = 5.0/4096.0; - prolongation[2](23,4) = 1.0/4096.0; - prolongation[2](23,5) = 1.0/4096.0; - prolongation[2](23,6) = 5.0/4096.0; - prolongation[2](23,7) = 5.0/4096.0; - prolongation[2](23,8) = -9.0/4096.0; - prolongation[2](23,9) = -9.0/4096.0; - prolongation[2](23,10) = -5.0/4096.0; - prolongation[2](23,11) = 15.0/4096.0; - prolongation[2](23,12) = -45.0/4096.0; - prolongation[2](23,13) = -45.0/4096.0; - prolongation[2](23,14) = -5.0/4096.0; - prolongation[2](23,15) = 15.0/4096.0; - prolongation[2](23,16) = -9.0/4096.0; - prolongation[2](23,17) = -9.0/4096.0; - prolongation[2](23,18) = -5.0/4096.0; - prolongation[2](23,19) = 15.0/4096.0; - prolongation[2](23,20) = -45.0/4096.0; - prolongation[2](23,21) = -45.0/4096.0; - prolongation[2](23,22) = -5.0/4096.0; - prolongation[2](23,23) = 15.0/4096.0; - prolongation[2](23,24) = -9.0/4096.0; - prolongation[2](23,25) = -9.0/4096.0; - prolongation[2](23,26) = -9.0/4096.0; - prolongation[2](23,27) = -9.0/4096.0; - prolongation[2](23,28) = -45.0/4096.0; - prolongation[2](23,29) = -45.0/4096.0; - prolongation[2](23,30) = -45.0/4096.0; - prolongation[2](23,31) = -45.0/4096.0; - prolongation[2](23,32) = 45.0/4096.0; - prolongation[2](23,33) = 45.0/4096.0; - prolongation[2](23,34) = -135.0/4096.0; - prolongation[2](23,35) = -135.0/4096.0; - prolongation[2](23,36) = 45.0/4096.0; - prolongation[2](23,37) = 45.0/4096.0; - prolongation[2](23,38) = -135.0/4096.0; - prolongation[2](23,39) = -135.0/4096.0; - prolongation[2](23,40) = 81.0/4096.0; - prolongation[2](23,41) = 81.0/4096.0; - prolongation[2](23,42) = 81.0/4096.0; - prolongation[2](23,43) = 81.0/4096.0; - prolongation[2](23,44) = 45.0/4096.0; - prolongation[2](23,45) = 45.0/4096.0; - prolongation[2](23,46) = -135.0/4096.0; - prolongation[2](23,47) = -135.0/4096.0; - prolongation[2](23,48) = 405.0/4096.0; - prolongation[2](23,49) = 405.0/4096.0; - prolongation[2](23,50) = 405.0/4096.0; - prolongation[2](23,51) = 405.0/4096.0; - prolongation[2](23,52) = 45.0/4096.0; - prolongation[2](23,53) = 45.0/4096.0; - prolongation[2](23,54) = -135.0/4096.0; - prolongation[2](23,55) = -135.0/4096.0; - prolongation[2](23,56) = -405.0/4096.0; - prolongation[2](23,57) = -405.0/4096.0; - prolongation[2](23,58) = -405.0/4096.0; - prolongation[2](23,59) = -405.0/4096.0; - prolongation[2](23,60) = 1215.0/4096.0; - prolongation[2](23,61) = 1215.0/4096.0; - prolongation[2](23,62) = 1215.0/4096.0; - prolongation[2](23,63) = 1215.0/4096.0; - prolongation[2](24,0) = 5.0/4096.0; - prolongation[2](24,1) = 5.0/4096.0; - prolongation[2](24,2) = 5.0/4096.0; - prolongation[2](24,3) = 5.0/4096.0; - prolongation[2](24,4) = 1.0/4096.0; - prolongation[2](24,5) = 1.0/4096.0; - prolongation[2](24,6) = 1.0/4096.0; - prolongation[2](24,7) = 1.0/4096.0; - prolongation[2](24,8) = -45.0/4096.0; - prolongation[2](24,9) = -45.0/4096.0; - prolongation[2](24,10) = -45.0/4096.0; - prolongation[2](24,11) = -45.0/4096.0; - prolongation[2](24,12) = -45.0/4096.0; - prolongation[2](24,13) = -45.0/4096.0; - prolongation[2](24,14) = -45.0/4096.0; - prolongation[2](24,15) = -45.0/4096.0; - prolongation[2](24,16) = -9.0/4096.0; - prolongation[2](24,17) = -9.0/4096.0; - prolongation[2](24,18) = -9.0/4096.0; - prolongation[2](24,19) = -9.0/4096.0; - prolongation[2](24,20) = -9.0/4096.0; - prolongation[2](24,21) = -9.0/4096.0; - prolongation[2](24,22) = -9.0/4096.0; - prolongation[2](24,23) = -9.0/4096.0; - prolongation[2](24,24) = 15.0/4096.0; - prolongation[2](24,25) = -5.0/4096.0; - prolongation[2](24,26) = 15.0/4096.0; - prolongation[2](24,27) = -5.0/4096.0; - prolongation[2](24,28) = 15.0/4096.0; - prolongation[2](24,29) = -5.0/4096.0; - prolongation[2](24,30) = 15.0/4096.0; - prolongation[2](24,31) = -5.0/4096.0; - prolongation[2](24,32) = 405.0/4096.0; - prolongation[2](24,33) = 405.0/4096.0; - prolongation[2](24,34) = 405.0/4096.0; - prolongation[2](24,35) = 405.0/4096.0; - prolongation[2](24,36) = 81.0/4096.0; - prolongation[2](24,37) = 81.0/4096.0; - prolongation[2](24,38) = 81.0/4096.0; - prolongation[2](24,39) = 81.0/4096.0; - prolongation[2](24,40) = -135.0/4096.0; - prolongation[2](24,41) = -135.0/4096.0; - prolongation[2](24,42) = 45.0/4096.0; - prolongation[2](24,43) = 45.0/4096.0; - prolongation[2](24,44) = -135.0/4096.0; - prolongation[2](24,45) = 45.0/4096.0; - prolongation[2](24,46) = -135.0/4096.0; - prolongation[2](24,47) = 45.0/4096.0; - prolongation[2](24,48) = -135.0/4096.0; - prolongation[2](24,49) = -135.0/4096.0; - prolongation[2](24,50) = 45.0/4096.0; - prolongation[2](24,51) = 45.0/4096.0; - prolongation[2](24,52) = -135.0/4096.0; - prolongation[2](24,53) = 45.0/4096.0; - prolongation[2](24,54) = -135.0/4096.0; - prolongation[2](24,55) = 45.0/4096.0; - prolongation[2](24,56) = 1215.0/4096.0; - prolongation[2](24,57) = 1215.0/4096.0; - prolongation[2](24,58) = -405.0/4096.0; - prolongation[2](24,59) = -405.0/4096.0; - prolongation[2](24,60) = 1215.0/4096.0; - prolongation[2](24,61) = 1215.0/4096.0; - prolongation[2](24,62) = -405.0/4096.0; - prolongation[2](24,63) = -405.0/4096.0; - prolongation[2](25,24) = 1.0/256.0; - prolongation[2](25,26) = 1.0/256.0; - prolongation[2](25,28) = 1.0/256.0; - prolongation[2](25,30) = 1.0/256.0; - prolongation[2](25,40) = -9.0/256.0; - prolongation[2](25,41) = -9.0/256.0; - prolongation[2](25,44) = -9.0/256.0; - prolongation[2](25,46) = -9.0/256.0; - prolongation[2](25,48) = -9.0/256.0; - prolongation[2](25,49) = -9.0/256.0; - prolongation[2](25,52) = -9.0/256.0; - prolongation[2](25,54) = -9.0/256.0; - prolongation[2](25,56) = 81.0/256.0; - prolongation[2](25,57) = 81.0/256.0; - prolongation[2](25,60) = 81.0/256.0; - prolongation[2](25,61) = 81.0/256.0; - prolongation[2](26,1) = -5.0/256.0; - prolongation[2](26,2) = -5.0/256.0; - prolongation[2](26,5) = -1.0/256.0; - prolongation[2](26,6) = -1.0/256.0; - prolongation[2](26,10) = 45.0/256.0; - prolongation[2](26,11) = 45.0/256.0; - prolongation[2](26,18) = 9.0/256.0; - prolongation[2](26,19) = 9.0/256.0; - prolongation[2](26,26) = -15.0/256.0; - prolongation[2](26,27) = 5.0/256.0; - prolongation[2](26,28) = -15.0/256.0; - prolongation[2](26,29) = 5.0/256.0; - prolongation[2](26,44) = 135.0/256.0; - prolongation[2](26,45) = -45.0/256.0; - prolongation[2](26,46) = 135.0/256.0; - prolongation[2](26,47) = -45.0/256.0; - prolongation[2](27,26) = -1.0/16.0; - prolongation[2](27,28) = -1.0/16.0; - prolongation[2](27,44) = 9.0/16.0; - prolongation[2](27,46) = 9.0/16.0; - prolongation[2](28,2) = 5.0/16.0; - prolongation[2](28,6) = 1.0/16.0; - prolongation[2](28,28) = 15.0/16.0; - prolongation[2](28,29) = -5.0/16.0; - prolongation[2](29,28) = 1.0; - prolongation[2](30,2) = -5.0/256.0; - prolongation[2](30,3) = -5.0/256.0; - prolongation[2](30,6) = -1.0/256.0; - prolongation[2](30,7) = -1.0/256.0; - prolongation[2](30,12) = 45.0/256.0; - prolongation[2](30,13) = 45.0/256.0; - prolongation[2](30,20) = 9.0/256.0; - prolongation[2](30,21) = 9.0/256.0; - prolongation[2](30,28) = -15.0/256.0; - prolongation[2](30,29) = 5.0/256.0; - prolongation[2](30,30) = -15.0/256.0; - prolongation[2](30,31) = 5.0/256.0; - prolongation[2](30,48) = 135.0/256.0; - prolongation[2](30,49) = 135.0/256.0; - prolongation[2](30,50) = -45.0/256.0; - prolongation[2](30,51) = -45.0/256.0; - prolongation[2](31,28) = -1.0/16.0; - prolongation[2](31,30) = -1.0/16.0; - prolongation[2](31,48) = 9.0/16.0; - prolongation[2](31,49) = 9.0/16.0; - prolongation[2](32,35) = 1.0; - prolongation[2](33,11) = 5.0/16.0; - prolongation[2](33,15) = 1.0/16.0; - prolongation[2](33,34) = -5.0/16.0; - prolongation[2](33,35) = 15.0/16.0; - prolongation[2](34,9) = 1.0/16.0; - prolongation[2](34,13) = 5.0/16.0; - prolongation[2](34,33) = -5.0/16.0; - prolongation[2](34,35) = 15.0/16.0; - prolongation[2](35,0) = 1.0/256.0; - prolongation[2](35,1) = 5.0/256.0; - prolongation[2](35,2) = 25.0/256.0; - prolongation[2](35,3) = 5.0/256.0; - prolongation[2](35,8) = -5.0/256.0; - prolongation[2](35,9) = 15.0/256.0; - prolongation[2](35,10) = -25.0/256.0; - prolongation[2](35,11) = 75.0/256.0; - prolongation[2](35,12) = -25.0/256.0; - prolongation[2](35,13) = 75.0/256.0; - prolongation[2](35,14) = -5.0/256.0; - prolongation[2](35,15) = 15.0/256.0; - prolongation[2](35,32) = 25.0/256.0; - prolongation[2](35,33) = -75.0/256.0; - prolongation[2](35,34) = -75.0/256.0; - prolongation[2](35,35) = 225.0/256.0; - prolongation[2](36,35) = -1.0/16.0; - prolongation[2](36,39) = -1.0/16.0; - prolongation[2](36,61) = 9.0/16.0; - prolongation[2](36,63) = 9.0/16.0; - prolongation[2](37,11) = -5.0/256.0; - prolongation[2](37,15) = -1.0/256.0; - prolongation[2](37,19) = -5.0/256.0; - prolongation[2](37,23) = -1.0/256.0; - prolongation[2](37,34) = 5.0/256.0; - prolongation[2](37,35) = -15.0/256.0; - prolongation[2](37,38) = 5.0/256.0; - prolongation[2](37,39) = -15.0/256.0; - prolongation[2](37,46) = 45.0/256.0; - prolongation[2](37,47) = 45.0/256.0; - prolongation[2](37,54) = 9.0/256.0; - prolongation[2](37,55) = 9.0/256.0; - prolongation[2](37,60) = -45.0/256.0; - prolongation[2](37,61) = 135.0/256.0; - prolongation[2](37,62) = -45.0/256.0; - prolongation[2](37,63) = 135.0/256.0; - prolongation[2](38,9) = -1.0/256.0; - prolongation[2](38,13) = -5.0/256.0; - prolongation[2](38,17) = -1.0/256.0; - prolongation[2](38,21) = -5.0/256.0; - prolongation[2](38,33) = 5.0/256.0; - prolongation[2](38,35) = -15.0/256.0; - prolongation[2](38,37) = 5.0/256.0; - prolongation[2](38,39) = -15.0/256.0; - prolongation[2](38,41) = 9.0/256.0; - prolongation[2](38,43) = 9.0/256.0; - prolongation[2](38,49) = 45.0/256.0; - prolongation[2](38,51) = 45.0/256.0; - prolongation[2](38,57) = -45.0/256.0; - prolongation[2](38,59) = -45.0/256.0; - prolongation[2](38,61) = 135.0/256.0; - prolongation[2](38,63) = 135.0/256.0; - prolongation[2](39,0) = -1.0/4096.0; - prolongation[2](39,1) = -5.0/4096.0; - prolongation[2](39,2) = -25.0/4096.0; - prolongation[2](39,3) = -5.0/4096.0; - prolongation[2](39,4) = -1.0/4096.0; - prolongation[2](39,5) = -5.0/4096.0; - prolongation[2](39,6) = -25.0/4096.0; - prolongation[2](39,7) = -5.0/4096.0; - prolongation[2](39,8) = 5.0/4096.0; - prolongation[2](39,9) = -15.0/4096.0; - prolongation[2](39,10) = 25.0/4096.0; - prolongation[2](39,11) = -75.0/4096.0; - prolongation[2](39,12) = 25.0/4096.0; - prolongation[2](39,13) = -75.0/4096.0; - prolongation[2](39,14) = 5.0/4096.0; - prolongation[2](39,15) = -15.0/4096.0; - prolongation[2](39,16) = 5.0/4096.0; - prolongation[2](39,17) = -15.0/4096.0; - prolongation[2](39,18) = 25.0/4096.0; - prolongation[2](39,19) = -75.0/4096.0; - prolongation[2](39,20) = 25.0/4096.0; - prolongation[2](39,21) = -75.0/4096.0; - prolongation[2](39,22) = 5.0/4096.0; - prolongation[2](39,23) = -15.0/4096.0; - prolongation[2](39,24) = 9.0/4096.0; - prolongation[2](39,25) = 9.0/4096.0; - prolongation[2](39,26) = 45.0/4096.0; - prolongation[2](39,27) = 45.0/4096.0; - prolongation[2](39,28) = 225.0/4096.0; - prolongation[2](39,29) = 225.0/4096.0; - prolongation[2](39,30) = 45.0/4096.0; - prolongation[2](39,31) = 45.0/4096.0; - prolongation[2](39,32) = -25.0/4096.0; - prolongation[2](39,33) = 75.0/4096.0; - prolongation[2](39,34) = 75.0/4096.0; - prolongation[2](39,35) = -225.0/4096.0; - prolongation[2](39,36) = -25.0/4096.0; - prolongation[2](39,37) = 75.0/4096.0; - prolongation[2](39,38) = 75.0/4096.0; - prolongation[2](39,39) = -225.0/4096.0; - prolongation[2](39,40) = -45.0/4096.0; - prolongation[2](39,41) = 135.0/4096.0; - prolongation[2](39,42) = -45.0/4096.0; - prolongation[2](39,43) = 135.0/4096.0; - prolongation[2](39,44) = -225.0/4096.0; - prolongation[2](39,45) = -225.0/4096.0; - prolongation[2](39,46) = 675.0/4096.0; - prolongation[2](39,47) = 675.0/4096.0; - prolongation[2](39,48) = -225.0/4096.0; - prolongation[2](39,49) = 675.0/4096.0; - prolongation[2](39,50) = -225.0/4096.0; - prolongation[2](39,51) = 675.0/4096.0; - prolongation[2](39,52) = -45.0/4096.0; - prolongation[2](39,53) = -45.0/4096.0; - prolongation[2](39,54) = 135.0/4096.0; - prolongation[2](39,55) = 135.0/4096.0; - prolongation[2](39,56) = 225.0/4096.0; - prolongation[2](39,57) = -675.0/4096.0; - prolongation[2](39,58) = 225.0/4096.0; - prolongation[2](39,59) = -675.0/4096.0; - prolongation[2](39,60) = -675.0/4096.0; - prolongation[2](39,61) = 2025.0/4096.0; - prolongation[2](39,62) = -675.0/4096.0; - prolongation[2](39,63) = 2025.0/4096.0; - prolongation[2](40,9) = -5.0/256.0; - prolongation[2](40,13) = -5.0/256.0; - prolongation[2](40,17) = -1.0/256.0; - prolongation[2](40,21) = -1.0/256.0; - prolongation[2](40,33) = 45.0/256.0; - prolongation[2](40,35) = 45.0/256.0; - prolongation[2](40,37) = 9.0/256.0; - prolongation[2](40,39) = 9.0/256.0; - prolongation[2](40,41) = -15.0/256.0; - prolongation[2](40,43) = 5.0/256.0; - prolongation[2](40,49) = -15.0/256.0; - prolongation[2](40,51) = 5.0/256.0; - prolongation[2](40,57) = 135.0/256.0; - prolongation[2](40,59) = -45.0/256.0; - prolongation[2](40,61) = 135.0/256.0; - prolongation[2](40,63) = -45.0/256.0; - prolongation[2](41,0) = -5.0/4096.0; - prolongation[2](41,1) = -25.0/4096.0; - prolongation[2](41,2) = -25.0/4096.0; - prolongation[2](41,3) = -5.0/4096.0; - prolongation[2](41,4) = -1.0/4096.0; - prolongation[2](41,5) = -5.0/4096.0; - prolongation[2](41,6) = -5.0/4096.0; - prolongation[2](41,7) = -1.0/4096.0; - prolongation[2](41,8) = 25.0/4096.0; - prolongation[2](41,9) = -75.0/4096.0; - prolongation[2](41,10) = 225.0/4096.0; - prolongation[2](41,11) = 225.0/4096.0; - prolongation[2](41,12) = 25.0/4096.0; - prolongation[2](41,13) = -75.0/4096.0; - prolongation[2](41,14) = 45.0/4096.0; - prolongation[2](41,15) = 45.0/4096.0; - prolongation[2](41,16) = 5.0/4096.0; - prolongation[2](41,17) = -15.0/4096.0; - prolongation[2](41,18) = 45.0/4096.0; - prolongation[2](41,19) = 45.0/4096.0; - prolongation[2](41,20) = 5.0/4096.0; - prolongation[2](41,21) = -15.0/4096.0; - prolongation[2](41,22) = 9.0/4096.0; - prolongation[2](41,23) = 9.0/4096.0; - prolongation[2](41,24) = -15.0/4096.0; - prolongation[2](41,25) = 5.0/4096.0; - prolongation[2](41,26) = -75.0/4096.0; - prolongation[2](41,27) = 25.0/4096.0; - prolongation[2](41,28) = -75.0/4096.0; - prolongation[2](41,29) = 25.0/4096.0; - prolongation[2](41,30) = -15.0/4096.0; - prolongation[2](41,31) = 5.0/4096.0; - prolongation[2](41,32) = -225.0/4096.0; - prolongation[2](41,33) = 675.0/4096.0; - prolongation[2](41,34) = -225.0/4096.0; - prolongation[2](41,35) = 675.0/4096.0; - prolongation[2](41,36) = -45.0/4096.0; - prolongation[2](41,37) = 135.0/4096.0; - prolongation[2](41,38) = -45.0/4096.0; - prolongation[2](41,39) = 135.0/4096.0; - prolongation[2](41,40) = 75.0/4096.0; - prolongation[2](41,41) = -225.0/4096.0; - prolongation[2](41,42) = -25.0/4096.0; - prolongation[2](41,43) = 75.0/4096.0; - prolongation[2](41,44) = 675.0/4096.0; - prolongation[2](41,45) = -225.0/4096.0; - prolongation[2](41,46) = 675.0/4096.0; - prolongation[2](41,47) = -225.0/4096.0; - prolongation[2](41,48) = 75.0/4096.0; - prolongation[2](41,49) = -225.0/4096.0; - prolongation[2](41,50) = -25.0/4096.0; - prolongation[2](41,51) = 75.0/4096.0; - prolongation[2](41,52) = 135.0/4096.0; - prolongation[2](41,53) = -45.0/4096.0; - prolongation[2](41,54) = 135.0/4096.0; - prolongation[2](41,55) = -45.0/4096.0; - prolongation[2](41,56) = -675.0/4096.0; - prolongation[2](41,57) = 2025.0/4096.0; - prolongation[2](41,58) = 225.0/4096.0; - prolongation[2](41,59) = -675.0/4096.0; - prolongation[2](41,60) = -675.0/4096.0; - prolongation[2](41,61) = 2025.0/4096.0; - prolongation[2](41,62) = 225.0/4096.0; - prolongation[2](41,63) = -675.0/4096.0; - prolongation[2](42,41) = -1.0/16.0; - prolongation[2](42,49) = -1.0/16.0; - prolongation[2](42,57) = 9.0/16.0; - prolongation[2](42,61) = 9.0/16.0; - prolongation[2](43,24) = -1.0/256.0; - prolongation[2](43,26) = -5.0/256.0; - prolongation[2](43,28) = -5.0/256.0; - prolongation[2](43,30) = -1.0/256.0; - prolongation[2](43,40) = 5.0/256.0; - prolongation[2](43,41) = -15.0/256.0; - prolongation[2](43,44) = 45.0/256.0; - prolongation[2](43,46) = 45.0/256.0; - prolongation[2](43,48) = 5.0/256.0; - prolongation[2](43,49) = -15.0/256.0; - prolongation[2](43,52) = 9.0/256.0; - prolongation[2](43,54) = 9.0/256.0; - prolongation[2](43,56) = -45.0/256.0; - prolongation[2](43,57) = 135.0/256.0; - prolongation[2](43,60) = -45.0/256.0; - prolongation[2](43,61) = 135.0/256.0; - prolongation[2](44,11) = 5.0/16.0; - prolongation[2](44,19) = 1.0/16.0; - prolongation[2](44,46) = 15.0/16.0; - prolongation[2](44,47) = -5.0/16.0; - prolongation[2](45,46) = 1.0; - prolongation[2](46,1) = 5.0/256.0; - prolongation[2](46,2) = 25.0/256.0; - prolongation[2](46,5) = 1.0/256.0; - prolongation[2](46,6) = 5.0/256.0; - prolongation[2](46,10) = -25.0/256.0; - prolongation[2](46,11) = 75.0/256.0; - prolongation[2](46,18) = -5.0/256.0; - prolongation[2](46,19) = 15.0/256.0; - prolongation[2](46,26) = 15.0/256.0; - prolongation[2](46,27) = -5.0/256.0; - prolongation[2](46,28) = 75.0/256.0; - prolongation[2](46,29) = -25.0/256.0; - prolongation[2](46,44) = -75.0/256.0; - prolongation[2](46,45) = 25.0/256.0; - prolongation[2](46,46) = 225.0/256.0; - prolongation[2](46,47) = -75.0/256.0; - prolongation[2](47,26) = 1.0/16.0; - prolongation[2](47,28) = 5.0/16.0; - prolongation[2](47,44) = -5.0/16.0; - prolongation[2](47,46) = 15.0/16.0; - prolongation[2](48,13) = 5.0/16.0; - prolongation[2](48,21) = 1.0/16.0; - prolongation[2](48,49) = 15.0/16.0; - prolongation[2](48,51) = -5.0/16.0; - prolongation[2](49,2) = 25.0/256.0; - prolongation[2](49,3) = 5.0/256.0; - prolongation[2](49,6) = 5.0/256.0; - prolongation[2](49,7) = 1.0/256.0; - prolongation[2](49,12) = -25.0/256.0; - prolongation[2](49,13) = 75.0/256.0; - prolongation[2](49,20) = -5.0/256.0; - prolongation[2](49,21) = 15.0/256.0; - prolongation[2](49,28) = 75.0/256.0; - prolongation[2](49,29) = -25.0/256.0; - prolongation[2](49,30) = 15.0/256.0; - prolongation[2](49,31) = -5.0/256.0; - prolongation[2](49,48) = -75.0/256.0; - prolongation[2](49,49) = 225.0/256.0; - prolongation[2](49,50) = 25.0/256.0; - prolongation[2](49,51) = -75.0/256.0; - prolongation[2](50,49) = 1.0; - prolongation[2](51,28) = 5.0/16.0; - prolongation[2](51,30) = 1.0/16.0; - prolongation[2](51,48) = -5.0/16.0; - prolongation[2](51,49) = 15.0/16.0; - prolongation[2](52,11) = -5.0/256.0; - prolongation[2](52,15) = -5.0/256.0; - prolongation[2](52,19) = -1.0/256.0; - prolongation[2](52,23) = -1.0/256.0; - prolongation[2](52,34) = 45.0/256.0; - prolongation[2](52,35) = 45.0/256.0; - prolongation[2](52,38) = 9.0/256.0; - prolongation[2](52,39) = 9.0/256.0; - prolongation[2](52,46) = -15.0/256.0; - prolongation[2](52,47) = 5.0/256.0; - prolongation[2](52,54) = -15.0/256.0; - prolongation[2](52,55) = 5.0/256.0; - prolongation[2](52,60) = 135.0/256.0; - prolongation[2](52,61) = 135.0/256.0; - prolongation[2](52,62) = -45.0/256.0; - prolongation[2](52,63) = -45.0/256.0; - prolongation[2](53,46) = -1.0/16.0; - prolongation[2](53,54) = -1.0/16.0; - prolongation[2](53,60) = 9.0/16.0; - prolongation[2](53,61) = 9.0/16.0; - prolongation[2](54,0) = -5.0/4096.0; - prolongation[2](54,1) = -5.0/4096.0; - prolongation[2](54,2) = -25.0/4096.0; - prolongation[2](54,3) = -25.0/4096.0; - prolongation[2](54,4) = -1.0/4096.0; - prolongation[2](54,5) = -1.0/4096.0; - prolongation[2](54,6) = -5.0/4096.0; - prolongation[2](54,7) = -5.0/4096.0; - prolongation[2](54,8) = 45.0/4096.0; - prolongation[2](54,9) = 45.0/4096.0; - prolongation[2](54,10) = 25.0/4096.0; - prolongation[2](54,11) = -75.0/4096.0; - prolongation[2](54,12) = 225.0/4096.0; - prolongation[2](54,13) = 225.0/4096.0; - prolongation[2](54,14) = 25.0/4096.0; - prolongation[2](54,15) = -75.0/4096.0; - prolongation[2](54,16) = 9.0/4096.0; - prolongation[2](54,17) = 9.0/4096.0; - prolongation[2](54,18) = 5.0/4096.0; - prolongation[2](54,19) = -15.0/4096.0; - prolongation[2](54,20) = 45.0/4096.0; - prolongation[2](54,21) = 45.0/4096.0; - prolongation[2](54,22) = 5.0/4096.0; - prolongation[2](54,23) = -15.0/4096.0; - prolongation[2](54,24) = -15.0/4096.0; - prolongation[2](54,25) = 5.0/4096.0; - prolongation[2](54,26) = -15.0/4096.0; - prolongation[2](54,27) = 5.0/4096.0; - prolongation[2](54,28) = -75.0/4096.0; - prolongation[2](54,29) = 25.0/4096.0; - prolongation[2](54,30) = -75.0/4096.0; - prolongation[2](54,31) = 25.0/4096.0; - prolongation[2](54,32) = -225.0/4096.0; - prolongation[2](54,33) = -225.0/4096.0; - prolongation[2](54,34) = 675.0/4096.0; - prolongation[2](54,35) = 675.0/4096.0; - prolongation[2](54,36) = -45.0/4096.0; - prolongation[2](54,37) = -45.0/4096.0; - prolongation[2](54,38) = 135.0/4096.0; - prolongation[2](54,39) = 135.0/4096.0; - prolongation[2](54,40) = 135.0/4096.0; - prolongation[2](54,41) = 135.0/4096.0; - prolongation[2](54,42) = -45.0/4096.0; - prolongation[2](54,43) = -45.0/4096.0; - prolongation[2](54,44) = 75.0/4096.0; - prolongation[2](54,45) = -25.0/4096.0; - prolongation[2](54,46) = -225.0/4096.0; - prolongation[2](54,47) = 75.0/4096.0; - prolongation[2](54,48) = 675.0/4096.0; - prolongation[2](54,49) = 675.0/4096.0; - prolongation[2](54,50) = -225.0/4096.0; - prolongation[2](54,51) = -225.0/4096.0; - prolongation[2](54,52) = 75.0/4096.0; - prolongation[2](54,53) = -25.0/4096.0; - prolongation[2](54,54) = -225.0/4096.0; - prolongation[2](54,55) = 75.0/4096.0; - prolongation[2](54,56) = -675.0/4096.0; - prolongation[2](54,57) = -675.0/4096.0; - prolongation[2](54,58) = 225.0/4096.0; - prolongation[2](54,59) = 225.0/4096.0; - prolongation[2](54,60) = 2025.0/4096.0; - prolongation[2](54,61) = 2025.0/4096.0; - prolongation[2](54,62) = -675.0/4096.0; - prolongation[2](54,63) = -675.0/4096.0; - prolongation[2](55,24) = -1.0/256.0; - prolongation[2](55,26) = -1.0/256.0; - prolongation[2](55,28) = -5.0/256.0; - prolongation[2](55,30) = -5.0/256.0; - prolongation[2](55,40) = 9.0/256.0; - prolongation[2](55,41) = 9.0/256.0; - prolongation[2](55,44) = 5.0/256.0; - prolongation[2](55,46) = -15.0/256.0; - prolongation[2](55,48) = 45.0/256.0; - prolongation[2](55,49) = 45.0/256.0; - prolongation[2](55,52) = 5.0/256.0; - prolongation[2](55,54) = -15.0/256.0; - prolongation[2](55,56) = -45.0/256.0; - prolongation[2](55,57) = -45.0/256.0; - prolongation[2](55,60) = 135.0/256.0; - prolongation[2](55,61) = 135.0/256.0; - prolongation[2](56,35) = 5.0/16.0; - prolongation[2](56,39) = 1.0/16.0; - prolongation[2](56,61) = 15.0/16.0; - prolongation[2](56,63) = -5.0/16.0; - prolongation[2](57,11) = 25.0/256.0; - prolongation[2](57,15) = 5.0/256.0; - prolongation[2](57,19) = 5.0/256.0; - prolongation[2](57,23) = 1.0/256.0; - prolongation[2](57,34) = -25.0/256.0; - prolongation[2](57,35) = 75.0/256.0; - prolongation[2](57,38) = -5.0/256.0; - prolongation[2](57,39) = 15.0/256.0; - prolongation[2](57,46) = 75.0/256.0; - prolongation[2](57,47) = -25.0/256.0; - prolongation[2](57,54) = 15.0/256.0; - prolongation[2](57,55) = -5.0/256.0; - prolongation[2](57,60) = -75.0/256.0; - prolongation[2](57,61) = 225.0/256.0; - prolongation[2](57,62) = 25.0/256.0; - prolongation[2](57,63) = -75.0/256.0; - prolongation[2](58,61) = 1.0; - prolongation[2](59,46) = 5.0/16.0; - prolongation[2](59,54) = 1.0/16.0; - prolongation[2](59,60) = -5.0/16.0; - prolongation[2](59,61) = 15.0/16.0; - prolongation[2](60,9) = 5.0/256.0; - prolongation[2](60,13) = 25.0/256.0; - prolongation[2](60,17) = 1.0/256.0; - prolongation[2](60,21) = 5.0/256.0; - prolongation[2](60,33) = -25.0/256.0; - prolongation[2](60,35) = 75.0/256.0; - prolongation[2](60,37) = -5.0/256.0; - prolongation[2](60,39) = 15.0/256.0; - prolongation[2](60,41) = 15.0/256.0; - prolongation[2](60,43) = -5.0/256.0; - prolongation[2](60,49) = 75.0/256.0; - prolongation[2](60,51) = -25.0/256.0; - prolongation[2](60,57) = -75.0/256.0; - prolongation[2](60,59) = 25.0/256.0; - prolongation[2](60,61) = 225.0/256.0; - prolongation[2](60,63) = -75.0/256.0; - prolongation[2](61,0) = 5.0/4096.0; - prolongation[2](61,1) = 25.0/4096.0; - prolongation[2](61,2) = 125.0/4096.0; - prolongation[2](61,3) = 25.0/4096.0; - prolongation[2](61,4) = 1.0/4096.0; - prolongation[2](61,5) = 5.0/4096.0; - prolongation[2](61,6) = 25.0/4096.0; - prolongation[2](61,7) = 5.0/4096.0; - prolongation[2](61,8) = -25.0/4096.0; - prolongation[2](61,9) = 75.0/4096.0; - prolongation[2](61,10) = -125.0/4096.0; - prolongation[2](61,11) = 375.0/4096.0; - prolongation[2](61,12) = -125.0/4096.0; - prolongation[2](61,13) = 375.0/4096.0; - prolongation[2](61,14) = -25.0/4096.0; - prolongation[2](61,15) = 75.0/4096.0; - prolongation[2](61,16) = -5.0/4096.0; - prolongation[2](61,17) = 15.0/4096.0; - prolongation[2](61,18) = -25.0/4096.0; - prolongation[2](61,19) = 75.0/4096.0; - prolongation[2](61,20) = -25.0/4096.0; - prolongation[2](61,21) = 75.0/4096.0; - prolongation[2](61,22) = -5.0/4096.0; - prolongation[2](61,23) = 15.0/4096.0; - prolongation[2](61,24) = 15.0/4096.0; - prolongation[2](61,25) = -5.0/4096.0; - prolongation[2](61,26) = 75.0/4096.0; - prolongation[2](61,27) = -25.0/4096.0; - prolongation[2](61,28) = 375.0/4096.0; - prolongation[2](61,29) = -125.0/4096.0; - prolongation[2](61,30) = 75.0/4096.0; - prolongation[2](61,31) = -25.0/4096.0; - prolongation[2](61,32) = 125.0/4096.0; - prolongation[2](61,33) = -375.0/4096.0; - prolongation[2](61,34) = -375.0/4096.0; - prolongation[2](61,35) = 1125.0/4096.0; - prolongation[2](61,36) = 25.0/4096.0; - prolongation[2](61,37) = -75.0/4096.0; - prolongation[2](61,38) = -75.0/4096.0; - prolongation[2](61,39) = 225.0/4096.0; - prolongation[2](61,40) = -75.0/4096.0; - prolongation[2](61,41) = 225.0/4096.0; - prolongation[2](61,42) = 25.0/4096.0; - prolongation[2](61,43) = -75.0/4096.0; - prolongation[2](61,44) = -375.0/4096.0; - prolongation[2](61,45) = 125.0/4096.0; - prolongation[2](61,46) = 1125.0/4096.0; - prolongation[2](61,47) = -375.0/4096.0; - prolongation[2](61,48) = -375.0/4096.0; - prolongation[2](61,49) = 1125.0/4096.0; - prolongation[2](61,50) = 125.0/4096.0; - prolongation[2](61,51) = -375.0/4096.0; - prolongation[2](61,52) = -75.0/4096.0; - prolongation[2](61,53) = 25.0/4096.0; - prolongation[2](61,54) = 225.0/4096.0; - prolongation[2](61,55) = -75.0/4096.0; - prolongation[2](61,56) = 375.0/4096.0; - prolongation[2](61,57) = -1125.0/4096.0; - prolongation[2](61,58) = -125.0/4096.0; - prolongation[2](61,59) = 375.0/4096.0; - prolongation[2](61,60) = -1125.0/4096.0; - prolongation[2](61,61) = 3375.0/4096.0; - prolongation[2](61,62) = 375.0/4096.0; - prolongation[2](61,63) = -1125.0/4096.0; - prolongation[2](62,41) = 1.0/16.0; - prolongation[2](62,49) = 5.0/16.0; - prolongation[2](62,57) = -5.0/16.0; - prolongation[2](62,61) = 15.0/16.0; - prolongation[2](63,24) = 1.0/256.0; - prolongation[2](63,26) = 5.0/256.0; - prolongation[2](63,28) = 25.0/256.0; - prolongation[2](63,30) = 5.0/256.0; - prolongation[2](63,40) = -5.0/256.0; - prolongation[2](63,41) = 15.0/256.0; - prolongation[2](63,44) = -25.0/256.0; - prolongation[2](63,46) = 75.0/256.0; - prolongation[2](63,48) = -25.0/256.0; - prolongation[2](63,49) = 75.0/256.0; - prolongation[2](63,52) = -5.0/256.0; - prolongation[2](63,54) = 15.0/256.0; - prolongation[2](63,56) = 25.0/256.0; - prolongation[2](63,57) = -75.0/256.0; - prolongation[2](63,60) = -75.0/256.0; - prolongation[2](63,61) = 225.0/256.0; - prolongation[3](0,0) = -1.0/16.0; - prolongation[3](0,3) = -1.0/16.0; - prolongation[3](0,14) = 9.0/16.0; - prolongation[3](0,15) = 9.0/16.0; - prolongation[3](1,0) = 1.0/256.0; - prolongation[3](1,1) = 1.0/256.0; - prolongation[3](1,2) = 1.0/256.0; - prolongation[3](1,3) = 1.0/256.0; - prolongation[3](1,8) = -9.0/256.0; - prolongation[3](1,9) = -9.0/256.0; - prolongation[3](1,10) = -9.0/256.0; - prolongation[3](1,11) = -9.0/256.0; - prolongation[3](1,12) = -9.0/256.0; - prolongation[3](1,13) = -9.0/256.0; - prolongation[3](1,14) = -9.0/256.0; - prolongation[3](1,15) = -9.0/256.0; - prolongation[3](1,32) = 81.0/256.0; - prolongation[3](1,33) = 81.0/256.0; - prolongation[3](1,34) = 81.0/256.0; - prolongation[3](1,35) = 81.0/256.0; - prolongation[3](2,2) = -1.0/16.0; - prolongation[3](2,3) = -1.0/16.0; - prolongation[3](2,12) = 9.0/16.0; - prolongation[3](2,13) = 9.0/16.0; - prolongation[3](3,3) = 1.0; - prolongation[3](4,0) = 1.0/256.0; - prolongation[3](4,3) = 1.0/256.0; - prolongation[3](4,4) = 1.0/256.0; - prolongation[3](4,7) = 1.0/256.0; - prolongation[3](4,14) = -9.0/256.0; - prolongation[3](4,15) = -9.0/256.0; - prolongation[3](4,22) = -9.0/256.0; - prolongation[3](4,23) = -9.0/256.0; - prolongation[3](4,24) = -9.0/256.0; - prolongation[3](4,25) = -9.0/256.0; - prolongation[3](4,30) = -9.0/256.0; - prolongation[3](4,31) = -9.0/256.0; - prolongation[3](4,52) = 81.0/256.0; - prolongation[3](4,53) = 81.0/256.0; - prolongation[3](4,54) = 81.0/256.0; - prolongation[3](4,55) = 81.0/256.0; - prolongation[3](5,0) = -1.0/4096.0; - prolongation[3](5,1) = -1.0/4096.0; - prolongation[3](5,2) = -1.0/4096.0; - prolongation[3](5,3) = -1.0/4096.0; - prolongation[3](5,4) = -1.0/4096.0; - prolongation[3](5,5) = -1.0/4096.0; - prolongation[3](5,6) = -1.0/4096.0; - prolongation[3](5,7) = -1.0/4096.0; - prolongation[3](5,8) = 9.0/4096.0; - prolongation[3](5,9) = 9.0/4096.0; - prolongation[3](5,10) = 9.0/4096.0; - prolongation[3](5,11) = 9.0/4096.0; - prolongation[3](5,12) = 9.0/4096.0; - prolongation[3](5,13) = 9.0/4096.0; - prolongation[3](5,14) = 9.0/4096.0; - prolongation[3](5,15) = 9.0/4096.0; - prolongation[3](5,16) = 9.0/4096.0; - prolongation[3](5,17) = 9.0/4096.0; - prolongation[3](5,18) = 9.0/4096.0; - prolongation[3](5,19) = 9.0/4096.0; - prolongation[3](5,20) = 9.0/4096.0; - prolongation[3](5,21) = 9.0/4096.0; - prolongation[3](5,22) = 9.0/4096.0; - prolongation[3](5,23) = 9.0/4096.0; - prolongation[3](5,24) = 9.0/4096.0; - prolongation[3](5,25) = 9.0/4096.0; - prolongation[3](5,26) = 9.0/4096.0; - prolongation[3](5,27) = 9.0/4096.0; - prolongation[3](5,28) = 9.0/4096.0; - prolongation[3](5,29) = 9.0/4096.0; - prolongation[3](5,30) = 9.0/4096.0; - prolongation[3](5,31) = 9.0/4096.0; - prolongation[3](5,32) = -81.0/4096.0; - prolongation[3](5,33) = -81.0/4096.0; - prolongation[3](5,34) = -81.0/4096.0; - prolongation[3](5,35) = -81.0/4096.0; - prolongation[3](5,36) = -81.0/4096.0; - prolongation[3](5,37) = -81.0/4096.0; - prolongation[3](5,38) = -81.0/4096.0; - prolongation[3](5,39) = -81.0/4096.0; - prolongation[3](5,40) = -81.0/4096.0; - prolongation[3](5,41) = -81.0/4096.0; - prolongation[3](5,42) = -81.0/4096.0; - prolongation[3](5,43) = -81.0/4096.0; - prolongation[3](5,44) = -81.0/4096.0; - prolongation[3](5,45) = -81.0/4096.0; - prolongation[3](5,46) = -81.0/4096.0; - prolongation[3](5,47) = -81.0/4096.0; - prolongation[3](5,48) = -81.0/4096.0; - prolongation[3](5,49) = -81.0/4096.0; - prolongation[3](5,50) = -81.0/4096.0; - prolongation[3](5,51) = -81.0/4096.0; - prolongation[3](5,52) = -81.0/4096.0; - prolongation[3](5,53) = -81.0/4096.0; - prolongation[3](5,54) = -81.0/4096.0; - prolongation[3](5,55) = -81.0/4096.0; - prolongation[3](5,56) = 729.0/4096.0; - prolongation[3](5,57) = 729.0/4096.0; - prolongation[3](5,58) = 729.0/4096.0; - prolongation[3](5,59) = 729.0/4096.0; - prolongation[3](5,60) = 729.0/4096.0; - prolongation[3](5,61) = 729.0/4096.0; - prolongation[3](5,62) = 729.0/4096.0; - prolongation[3](5,63) = 729.0/4096.0; - prolongation[3](6,2) = 1.0/256.0; - prolongation[3](6,3) = 1.0/256.0; - prolongation[3](6,6) = 1.0/256.0; - prolongation[3](6,7) = 1.0/256.0; - prolongation[3](6,12) = -9.0/256.0; - prolongation[3](6,13) = -9.0/256.0; - prolongation[3](6,20) = -9.0/256.0; - prolongation[3](6,21) = -9.0/256.0; - prolongation[3](6,28) = -9.0/256.0; - prolongation[3](6,29) = -9.0/256.0; - prolongation[3](6,30) = -9.0/256.0; - prolongation[3](6,31) = -9.0/256.0; - prolongation[3](6,48) = 81.0/256.0; - prolongation[3](6,49) = 81.0/256.0; - prolongation[3](6,50) = 81.0/256.0; - prolongation[3](6,51) = 81.0/256.0; - prolongation[3](7,3) = -1.0/16.0; - prolongation[3](7,7) = -1.0/16.0; - prolongation[3](7,30) = 9.0/16.0; - prolongation[3](7,31) = 9.0/16.0; - prolongation[3](8,0) = -5.0/256.0; - prolongation[3](8,1) = -1.0/256.0; - prolongation[3](8,2) = -1.0/256.0; - prolongation[3](8,3) = -5.0/256.0; - prolongation[3](8,8) = -15.0/256.0; - prolongation[3](8,9) = 5.0/256.0; - prolongation[3](8,10) = 9.0/256.0; - prolongation[3](8,11) = 9.0/256.0; - prolongation[3](8,12) = -15.0/256.0; - prolongation[3](8,13) = 5.0/256.0; - prolongation[3](8,14) = 45.0/256.0; - prolongation[3](8,15) = 45.0/256.0; - prolongation[3](8,32) = 135.0/256.0; - prolongation[3](8,33) = -45.0/256.0; - prolongation[3](8,34) = 135.0/256.0; - prolongation[3](8,35) = -45.0/256.0; - prolongation[3](9,8) = -1.0/16.0; - prolongation[3](9,12) = -1.0/16.0; - prolongation[3](9,32) = 9.0/16.0; - prolongation[3](9,34) = 9.0/16.0; - prolongation[3](10,11) = -1.0/16.0; - prolongation[3](10,15) = -1.0/16.0; - prolongation[3](10,34) = 9.0/16.0; - prolongation[3](10,35) = 9.0/16.0; - prolongation[3](11,0) = -1.0/256.0; - prolongation[3](11,1) = -1.0/256.0; - prolongation[3](11,2) = -5.0/256.0; - prolongation[3](11,3) = -5.0/256.0; - prolongation[3](11,8) = 9.0/256.0; - prolongation[3](11,9) = 9.0/256.0; - prolongation[3](11,10) = 5.0/256.0; - prolongation[3](11,11) = -15.0/256.0; - prolongation[3](11,12) = 45.0/256.0; - prolongation[3](11,13) = 45.0/256.0; - prolongation[3](11,14) = 5.0/256.0; - prolongation[3](11,15) = -15.0/256.0; - prolongation[3](11,32) = -45.0/256.0; - prolongation[3](11,33) = -45.0/256.0; - prolongation[3](11,34) = 135.0/256.0; - prolongation[3](11,35) = 135.0/256.0; - prolongation[3](12,2) = 1.0/16.0; - prolongation[3](12,3) = 5.0/16.0; - prolongation[3](12,12) = 15.0/16.0; - prolongation[3](12,13) = -5.0/16.0; - prolongation[3](13,12) = 1.0; - prolongation[3](14,15) = 1.0; - prolongation[3](15,0) = 1.0/16.0; - prolongation[3](15,3) = 5.0/16.0; - prolongation[3](15,14) = -5.0/16.0; - prolongation[3](15,15) = 15.0/16.0; - prolongation[3](16,0) = 5.0/4096.0; - prolongation[3](16,1) = 1.0/4096.0; - prolongation[3](16,2) = 1.0/4096.0; - prolongation[3](16,3) = 5.0/4096.0; - prolongation[3](16,4) = 5.0/4096.0; - prolongation[3](16,5) = 1.0/4096.0; - prolongation[3](16,6) = 1.0/4096.0; - prolongation[3](16,7) = 5.0/4096.0; - prolongation[3](16,8) = 15.0/4096.0; - prolongation[3](16,9) = -5.0/4096.0; - prolongation[3](16,10) = -9.0/4096.0; - prolongation[3](16,11) = -9.0/4096.0; - prolongation[3](16,12) = 15.0/4096.0; - prolongation[3](16,13) = -5.0/4096.0; - prolongation[3](16,14) = -45.0/4096.0; - prolongation[3](16,15) = -45.0/4096.0; - prolongation[3](16,16) = 15.0/4096.0; - prolongation[3](16,17) = -5.0/4096.0; - prolongation[3](16,18) = -9.0/4096.0; - prolongation[3](16,19) = -9.0/4096.0; - prolongation[3](16,20) = 15.0/4096.0; - prolongation[3](16,21) = -5.0/4096.0; - prolongation[3](16,22) = -45.0/4096.0; - prolongation[3](16,23) = -45.0/4096.0; - prolongation[3](16,24) = -45.0/4096.0; - prolongation[3](16,25) = -45.0/4096.0; - prolongation[3](16,26) = -9.0/4096.0; - prolongation[3](16,27) = -9.0/4096.0; - prolongation[3](16,28) = -9.0/4096.0; - prolongation[3](16,29) = -9.0/4096.0; - prolongation[3](16,30) = -45.0/4096.0; - prolongation[3](16,31) = -45.0/4096.0; - prolongation[3](16,32) = -135.0/4096.0; - prolongation[3](16,33) = 45.0/4096.0; - prolongation[3](16,34) = -135.0/4096.0; - prolongation[3](16,35) = 45.0/4096.0; - prolongation[3](16,36) = -135.0/4096.0; - prolongation[3](16,37) = 45.0/4096.0; - prolongation[3](16,38) = -135.0/4096.0; - prolongation[3](16,39) = 45.0/4096.0; - prolongation[3](16,40) = -135.0/4096.0; - prolongation[3](16,41) = 45.0/4096.0; - prolongation[3](16,42) = -135.0/4096.0; - prolongation[3](16,43) = 45.0/4096.0; - prolongation[3](16,44) = 81.0/4096.0; - prolongation[3](16,45) = 81.0/4096.0; - prolongation[3](16,46) = 81.0/4096.0; - prolongation[3](16,47) = 81.0/4096.0; - prolongation[3](16,48) = -135.0/4096.0; - prolongation[3](16,49) = 45.0/4096.0; - prolongation[3](16,50) = -135.0/4096.0; - prolongation[3](16,51) = 45.0/4096.0; - prolongation[3](16,52) = 405.0/4096.0; - prolongation[3](16,53) = 405.0/4096.0; - prolongation[3](16,54) = 405.0/4096.0; - prolongation[3](16,55) = 405.0/4096.0; - prolongation[3](16,56) = 1215.0/4096.0; - prolongation[3](16,57) = -405.0/4096.0; - prolongation[3](16,58) = 1215.0/4096.0; - prolongation[3](16,59) = -405.0/4096.0; - prolongation[3](16,60) = 1215.0/4096.0; - prolongation[3](16,61) = -405.0/4096.0; - prolongation[3](16,62) = 1215.0/4096.0; - prolongation[3](16,63) = -405.0/4096.0; - prolongation[3](17,8) = 1.0/256.0; - prolongation[3](17,12) = 1.0/256.0; - prolongation[3](17,16) = 1.0/256.0; - prolongation[3](17,20) = 1.0/256.0; - prolongation[3](17,32) = -9.0/256.0; - prolongation[3](17,34) = -9.0/256.0; - prolongation[3](17,36) = -9.0/256.0; - prolongation[3](17,38) = -9.0/256.0; - prolongation[3](17,40) = -9.0/256.0; - prolongation[3](17,42) = -9.0/256.0; - prolongation[3](17,48) = -9.0/256.0; - prolongation[3](17,50) = -9.0/256.0; - prolongation[3](17,56) = 81.0/256.0; - prolongation[3](17,58) = 81.0/256.0; - prolongation[3](17,60) = 81.0/256.0; - prolongation[3](17,62) = 81.0/256.0; - prolongation[3](18,11) = 1.0/256.0; - prolongation[3](18,15) = 1.0/256.0; - prolongation[3](18,19) = 1.0/256.0; - prolongation[3](18,23) = 1.0/256.0; - prolongation[3](18,34) = -9.0/256.0; - prolongation[3](18,35) = -9.0/256.0; - prolongation[3](18,38) = -9.0/256.0; - prolongation[3](18,39) = -9.0/256.0; - prolongation[3](18,46) = -9.0/256.0; - prolongation[3](18,47) = -9.0/256.0; - prolongation[3](18,54) = -9.0/256.0; - prolongation[3](18,55) = -9.0/256.0; - prolongation[3](18,60) = 81.0/256.0; - prolongation[3](18,61) = 81.0/256.0; - prolongation[3](18,62) = 81.0/256.0; - prolongation[3](18,63) = 81.0/256.0; - prolongation[3](19,0) = 1.0/4096.0; - prolongation[3](19,1) = 1.0/4096.0; - prolongation[3](19,2) = 5.0/4096.0; - prolongation[3](19,3) = 5.0/4096.0; - prolongation[3](19,4) = 1.0/4096.0; - prolongation[3](19,5) = 1.0/4096.0; - prolongation[3](19,6) = 5.0/4096.0; - prolongation[3](19,7) = 5.0/4096.0; - prolongation[3](19,8) = -9.0/4096.0; - prolongation[3](19,9) = -9.0/4096.0; - prolongation[3](19,10) = -5.0/4096.0; - prolongation[3](19,11) = 15.0/4096.0; - prolongation[3](19,12) = -45.0/4096.0; - prolongation[3](19,13) = -45.0/4096.0; - prolongation[3](19,14) = -5.0/4096.0; - prolongation[3](19,15) = 15.0/4096.0; - prolongation[3](19,16) = -9.0/4096.0; - prolongation[3](19,17) = -9.0/4096.0; - prolongation[3](19,18) = -5.0/4096.0; - prolongation[3](19,19) = 15.0/4096.0; - prolongation[3](19,20) = -45.0/4096.0; - prolongation[3](19,21) = -45.0/4096.0; - prolongation[3](19,22) = -5.0/4096.0; - prolongation[3](19,23) = 15.0/4096.0; - prolongation[3](19,24) = -9.0/4096.0; - prolongation[3](19,25) = -9.0/4096.0; - prolongation[3](19,26) = -9.0/4096.0; - prolongation[3](19,27) = -9.0/4096.0; - prolongation[3](19,28) = -45.0/4096.0; - prolongation[3](19,29) = -45.0/4096.0; - prolongation[3](19,30) = -45.0/4096.0; - prolongation[3](19,31) = -45.0/4096.0; - prolongation[3](19,32) = 45.0/4096.0; - prolongation[3](19,33) = 45.0/4096.0; - prolongation[3](19,34) = -135.0/4096.0; - prolongation[3](19,35) = -135.0/4096.0; - prolongation[3](19,36) = 45.0/4096.0; - prolongation[3](19,37) = 45.0/4096.0; - prolongation[3](19,38) = -135.0/4096.0; - prolongation[3](19,39) = -135.0/4096.0; - prolongation[3](19,40) = 81.0/4096.0; - prolongation[3](19,41) = 81.0/4096.0; - prolongation[3](19,42) = 81.0/4096.0; - prolongation[3](19,43) = 81.0/4096.0; - prolongation[3](19,44) = 45.0/4096.0; - prolongation[3](19,45) = 45.0/4096.0; - prolongation[3](19,46) = -135.0/4096.0; - prolongation[3](19,47) = -135.0/4096.0; - prolongation[3](19,48) = 405.0/4096.0; - prolongation[3](19,49) = 405.0/4096.0; - prolongation[3](19,50) = 405.0/4096.0; - prolongation[3](19,51) = 405.0/4096.0; - prolongation[3](19,52) = 45.0/4096.0; - prolongation[3](19,53) = 45.0/4096.0; - prolongation[3](19,54) = -135.0/4096.0; - prolongation[3](19,55) = -135.0/4096.0; - prolongation[3](19,56) = -405.0/4096.0; - prolongation[3](19,57) = -405.0/4096.0; - prolongation[3](19,58) = -405.0/4096.0; - prolongation[3](19,59) = -405.0/4096.0; - prolongation[3](19,60) = 1215.0/4096.0; - prolongation[3](19,61) = 1215.0/4096.0; - prolongation[3](19,62) = 1215.0/4096.0; - prolongation[3](19,63) = 1215.0/4096.0; - prolongation[3](20,2) = -1.0/256.0; - prolongation[3](20,3) = -5.0/256.0; - prolongation[3](20,6) = -1.0/256.0; - prolongation[3](20,7) = -5.0/256.0; - prolongation[3](20,12) = -15.0/256.0; - prolongation[3](20,13) = 5.0/256.0; - prolongation[3](20,20) = -15.0/256.0; - prolongation[3](20,21) = 5.0/256.0; - prolongation[3](20,28) = 9.0/256.0; - prolongation[3](20,29) = 9.0/256.0; - prolongation[3](20,30) = 45.0/256.0; - prolongation[3](20,31) = 45.0/256.0; - prolongation[3](20,48) = 135.0/256.0; - prolongation[3](20,49) = -45.0/256.0; - prolongation[3](20,50) = 135.0/256.0; - prolongation[3](20,51) = -45.0/256.0; - prolongation[3](21,12) = -1.0/16.0; - prolongation[3](21,20) = -1.0/16.0; - prolongation[3](21,48) = 9.0/16.0; - prolongation[3](21,50) = 9.0/16.0; - prolongation[3](22,15) = -1.0/16.0; - prolongation[3](22,23) = -1.0/16.0; - prolongation[3](22,54) = 9.0/16.0; - prolongation[3](22,55) = 9.0/16.0; - prolongation[3](23,0) = -1.0/256.0; - prolongation[3](23,3) = -5.0/256.0; - prolongation[3](23,4) = -1.0/256.0; - prolongation[3](23,7) = -5.0/256.0; - prolongation[3](23,14) = 5.0/256.0; - prolongation[3](23,15) = -15.0/256.0; - prolongation[3](23,22) = 5.0/256.0; - prolongation[3](23,23) = -15.0/256.0; - prolongation[3](23,24) = 9.0/256.0; - prolongation[3](23,25) = 9.0/256.0; - prolongation[3](23,30) = 45.0/256.0; - prolongation[3](23,31) = 45.0/256.0; - prolongation[3](23,52) = -45.0/256.0; - prolongation[3](23,53) = -45.0/256.0; - prolongation[3](23,54) = 135.0/256.0; - prolongation[3](23,55) = 135.0/256.0; - prolongation[3](24,0) = -5.0/256.0; - prolongation[3](24,3) = -5.0/256.0; - prolongation[3](24,4) = -1.0/256.0; - prolongation[3](24,7) = -1.0/256.0; - prolongation[3](24,14) = 45.0/256.0; - prolongation[3](24,15) = 45.0/256.0; - prolongation[3](24,22) = 9.0/256.0; - prolongation[3](24,23) = 9.0/256.0; - prolongation[3](24,24) = -15.0/256.0; - prolongation[3](24,25) = 5.0/256.0; - prolongation[3](24,30) = -15.0/256.0; - prolongation[3](24,31) = 5.0/256.0; - prolongation[3](24,52) = 135.0/256.0; - prolongation[3](24,53) = -45.0/256.0; - prolongation[3](24,54) = 135.0/256.0; - prolongation[3](24,55) = -45.0/256.0; - prolongation[3](25,24) = -1.0/16.0; - prolongation[3](25,30) = -1.0/16.0; - prolongation[3](25,52) = 9.0/16.0; - prolongation[3](25,54) = 9.0/16.0; - prolongation[3](26,0) = 5.0/4096.0; - prolongation[3](26,1) = 5.0/4096.0; - prolongation[3](26,2) = 5.0/4096.0; - prolongation[3](26,3) = 5.0/4096.0; - prolongation[3](26,4) = 1.0/4096.0; - prolongation[3](26,5) = 1.0/4096.0; - prolongation[3](26,6) = 1.0/4096.0; - prolongation[3](26,7) = 1.0/4096.0; - prolongation[3](26,8) = -45.0/4096.0; - prolongation[3](26,9) = -45.0/4096.0; - prolongation[3](26,10) = -45.0/4096.0; - prolongation[3](26,11) = -45.0/4096.0; - prolongation[3](26,12) = -45.0/4096.0; - prolongation[3](26,13) = -45.0/4096.0; - prolongation[3](26,14) = -45.0/4096.0; - prolongation[3](26,15) = -45.0/4096.0; - prolongation[3](26,16) = -9.0/4096.0; - prolongation[3](26,17) = -9.0/4096.0; - prolongation[3](26,18) = -9.0/4096.0; - prolongation[3](26,19) = -9.0/4096.0; - prolongation[3](26,20) = -9.0/4096.0; - prolongation[3](26,21) = -9.0/4096.0; - prolongation[3](26,22) = -9.0/4096.0; - prolongation[3](26,23) = -9.0/4096.0; - prolongation[3](26,24) = 15.0/4096.0; - prolongation[3](26,25) = -5.0/4096.0; - prolongation[3](26,26) = 15.0/4096.0; - prolongation[3](26,27) = -5.0/4096.0; - prolongation[3](26,28) = 15.0/4096.0; - prolongation[3](26,29) = -5.0/4096.0; - prolongation[3](26,30) = 15.0/4096.0; - prolongation[3](26,31) = -5.0/4096.0; - prolongation[3](26,32) = 405.0/4096.0; - prolongation[3](26,33) = 405.0/4096.0; - prolongation[3](26,34) = 405.0/4096.0; - prolongation[3](26,35) = 405.0/4096.0; - prolongation[3](26,36) = 81.0/4096.0; - prolongation[3](26,37) = 81.0/4096.0; - prolongation[3](26,38) = 81.0/4096.0; - prolongation[3](26,39) = 81.0/4096.0; - prolongation[3](26,40) = -135.0/4096.0; - prolongation[3](26,41) = -135.0/4096.0; - prolongation[3](26,42) = 45.0/4096.0; - prolongation[3](26,43) = 45.0/4096.0; - prolongation[3](26,44) = -135.0/4096.0; - prolongation[3](26,45) = 45.0/4096.0; - prolongation[3](26,46) = -135.0/4096.0; - prolongation[3](26,47) = 45.0/4096.0; - prolongation[3](26,48) = -135.0/4096.0; - prolongation[3](26,49) = -135.0/4096.0; - prolongation[3](26,50) = 45.0/4096.0; - prolongation[3](26,51) = 45.0/4096.0; - prolongation[3](26,52) = -135.0/4096.0; - prolongation[3](26,53) = 45.0/4096.0; - prolongation[3](26,54) = -135.0/4096.0; - prolongation[3](26,55) = 45.0/4096.0; - prolongation[3](26,56) = 1215.0/4096.0; - prolongation[3](26,57) = 1215.0/4096.0; - prolongation[3](26,58) = -405.0/4096.0; - prolongation[3](26,59) = -405.0/4096.0; - prolongation[3](26,60) = 1215.0/4096.0; - prolongation[3](26,61) = 1215.0/4096.0; - prolongation[3](26,62) = -405.0/4096.0; - prolongation[3](26,63) = -405.0/4096.0; - prolongation[3](27,24) = 1.0/256.0; - prolongation[3](27,26) = 1.0/256.0; - prolongation[3](27,28) = 1.0/256.0; - prolongation[3](27,30) = 1.0/256.0; - prolongation[3](27,40) = -9.0/256.0; - prolongation[3](27,41) = -9.0/256.0; - prolongation[3](27,44) = -9.0/256.0; - prolongation[3](27,46) = -9.0/256.0; - prolongation[3](27,48) = -9.0/256.0; - prolongation[3](27,49) = -9.0/256.0; - prolongation[3](27,52) = -9.0/256.0; - prolongation[3](27,54) = -9.0/256.0; - prolongation[3](27,56) = 81.0/256.0; - prolongation[3](27,57) = 81.0/256.0; - prolongation[3](27,60) = 81.0/256.0; - prolongation[3](27,61) = 81.0/256.0; - prolongation[3](28,2) = -5.0/256.0; - prolongation[3](28,3) = -5.0/256.0; - prolongation[3](28,6) = -1.0/256.0; - prolongation[3](28,7) = -1.0/256.0; - prolongation[3](28,12) = 45.0/256.0; - prolongation[3](28,13) = 45.0/256.0; - prolongation[3](28,20) = 9.0/256.0; - prolongation[3](28,21) = 9.0/256.0; - prolongation[3](28,28) = -15.0/256.0; - prolongation[3](28,29) = 5.0/256.0; - prolongation[3](28,30) = -15.0/256.0; - prolongation[3](28,31) = 5.0/256.0; - prolongation[3](28,48) = 135.0/256.0; - prolongation[3](28,49) = 135.0/256.0; - prolongation[3](28,50) = -45.0/256.0; - prolongation[3](28,51) = -45.0/256.0; - prolongation[3](29,28) = -1.0/16.0; - prolongation[3](29,30) = -1.0/16.0; - prolongation[3](29,48) = 9.0/16.0; - prolongation[3](29,49) = 9.0/16.0; - prolongation[3](30,3) = 5.0/16.0; - prolongation[3](30,7) = 1.0/16.0; - prolongation[3](30,30) = 15.0/16.0; - prolongation[3](30,31) = -5.0/16.0; - prolongation[3](31,30) = 1.0; - prolongation[3](32,11) = 1.0/16.0; - prolongation[3](32,15) = 5.0/16.0; - prolongation[3](32,34) = 15.0/16.0; - prolongation[3](32,35) = -5.0/16.0; - prolongation[3](33,34) = 1.0; - prolongation[3](34,0) = 5.0/256.0; - prolongation[3](34,1) = 1.0/256.0; - prolongation[3](34,2) = 5.0/256.0; - prolongation[3](34,3) = 25.0/256.0; - prolongation[3](34,8) = 15.0/256.0; - prolongation[3](34,9) = -5.0/256.0; - prolongation[3](34,10) = -5.0/256.0; - prolongation[3](34,11) = 15.0/256.0; - prolongation[3](34,12) = 75.0/256.0; - prolongation[3](34,13) = -25.0/256.0; - prolongation[3](34,14) = -25.0/256.0; - prolongation[3](34,15) = 75.0/256.0; - prolongation[3](34,32) = -75.0/256.0; - prolongation[3](34,33) = 25.0/256.0; - prolongation[3](34,34) = 225.0/256.0; - prolongation[3](34,35) = -75.0/256.0; - prolongation[3](35,8) = 1.0/16.0; - prolongation[3](35,12) = 5.0/16.0; - prolongation[3](35,32) = -5.0/16.0; - prolongation[3](35,34) = 15.0/16.0; - prolongation[3](36,11) = -1.0/256.0; - prolongation[3](36,15) = -5.0/256.0; - prolongation[3](36,19) = -1.0/256.0; - prolongation[3](36,23) = -5.0/256.0; - prolongation[3](36,34) = -15.0/256.0; - prolongation[3](36,35) = 5.0/256.0; - prolongation[3](36,38) = -15.0/256.0; - prolongation[3](36,39) = 5.0/256.0; - prolongation[3](36,46) = 9.0/256.0; - prolongation[3](36,47) = 9.0/256.0; - prolongation[3](36,54) = 45.0/256.0; - prolongation[3](36,55) = 45.0/256.0; - prolongation[3](36,60) = 135.0/256.0; - prolongation[3](36,61) = -45.0/256.0; - prolongation[3](36,62) = 135.0/256.0; - prolongation[3](36,63) = -45.0/256.0; - prolongation[3](37,34) = -1.0/16.0; - prolongation[3](37,38) = -1.0/16.0; - prolongation[3](37,60) = 9.0/16.0; - prolongation[3](37,62) = 9.0/16.0; - prolongation[3](38,0) = -5.0/4096.0; - prolongation[3](38,1) = -1.0/4096.0; - prolongation[3](38,2) = -5.0/4096.0; - prolongation[3](38,3) = -25.0/4096.0; - prolongation[3](38,4) = -5.0/4096.0; - prolongation[3](38,5) = -1.0/4096.0; - prolongation[3](38,6) = -5.0/4096.0; - prolongation[3](38,7) = -25.0/4096.0; - prolongation[3](38,8) = -15.0/4096.0; - prolongation[3](38,9) = 5.0/4096.0; - prolongation[3](38,10) = 5.0/4096.0; - prolongation[3](38,11) = -15.0/4096.0; - prolongation[3](38,12) = -75.0/4096.0; - prolongation[3](38,13) = 25.0/4096.0; - prolongation[3](38,14) = 25.0/4096.0; - prolongation[3](38,15) = -75.0/4096.0; - prolongation[3](38,16) = -15.0/4096.0; - prolongation[3](38,17) = 5.0/4096.0; - prolongation[3](38,18) = 5.0/4096.0; - prolongation[3](38,19) = -15.0/4096.0; - prolongation[3](38,20) = -75.0/4096.0; - prolongation[3](38,21) = 25.0/4096.0; - prolongation[3](38,22) = 25.0/4096.0; - prolongation[3](38,23) = -75.0/4096.0; - prolongation[3](38,24) = 45.0/4096.0; - prolongation[3](38,25) = 45.0/4096.0; - prolongation[3](38,26) = 9.0/4096.0; - prolongation[3](38,27) = 9.0/4096.0; - prolongation[3](38,28) = 45.0/4096.0; - prolongation[3](38,29) = 45.0/4096.0; - prolongation[3](38,30) = 225.0/4096.0; - prolongation[3](38,31) = 225.0/4096.0; - prolongation[3](38,32) = 75.0/4096.0; - prolongation[3](38,33) = -25.0/4096.0; - prolongation[3](38,34) = -225.0/4096.0; - prolongation[3](38,35) = 75.0/4096.0; - prolongation[3](38,36) = 75.0/4096.0; - prolongation[3](38,37) = -25.0/4096.0; - prolongation[3](38,38) = -225.0/4096.0; - prolongation[3](38,39) = 75.0/4096.0; - prolongation[3](38,40) = 135.0/4096.0; - prolongation[3](38,41) = -45.0/4096.0; - prolongation[3](38,42) = 135.0/4096.0; - prolongation[3](38,43) = -45.0/4096.0; - prolongation[3](38,44) = -45.0/4096.0; - prolongation[3](38,45) = -45.0/4096.0; - prolongation[3](38,46) = 135.0/4096.0; - prolongation[3](38,47) = 135.0/4096.0; - prolongation[3](38,48) = 675.0/4096.0; - prolongation[3](38,49) = -225.0/4096.0; - prolongation[3](38,50) = 675.0/4096.0; - prolongation[3](38,51) = -225.0/4096.0; - prolongation[3](38,52) = -225.0/4096.0; - prolongation[3](38,53) = -225.0/4096.0; - prolongation[3](38,54) = 675.0/4096.0; - prolongation[3](38,55) = 675.0/4096.0; - prolongation[3](38,56) = -675.0/4096.0; - prolongation[3](38,57) = 225.0/4096.0; - prolongation[3](38,58) = -675.0/4096.0; - prolongation[3](38,59) = 225.0/4096.0; - prolongation[3](38,60) = 2025.0/4096.0; - prolongation[3](38,61) = -675.0/4096.0; - prolongation[3](38,62) = 2025.0/4096.0; - prolongation[3](38,63) = -675.0/4096.0; - prolongation[3](39,8) = -1.0/256.0; - prolongation[3](39,12) = -5.0/256.0; - prolongation[3](39,16) = -1.0/256.0; - prolongation[3](39,20) = -5.0/256.0; - prolongation[3](39,32) = 5.0/256.0; - prolongation[3](39,34) = -15.0/256.0; - prolongation[3](39,36) = 5.0/256.0; - prolongation[3](39,38) = -15.0/256.0; - prolongation[3](39,40) = 9.0/256.0; - prolongation[3](39,42) = 9.0/256.0; - prolongation[3](39,48) = 45.0/256.0; - prolongation[3](39,50) = 45.0/256.0; - prolongation[3](39,56) = -45.0/256.0; - prolongation[3](39,58) = -45.0/256.0; - prolongation[3](39,60) = 135.0/256.0; - prolongation[3](39,62) = 135.0/256.0; - prolongation[3](40,0) = -25.0/4096.0; - prolongation[3](40,1) = -5.0/4096.0; - prolongation[3](40,2) = -5.0/4096.0; - prolongation[3](40,3) = -25.0/4096.0; - prolongation[3](40,4) = -5.0/4096.0; - prolongation[3](40,5) = -1.0/4096.0; - prolongation[3](40,6) = -1.0/4096.0; - prolongation[3](40,7) = -5.0/4096.0; - prolongation[3](40,8) = -75.0/4096.0; - prolongation[3](40,9) = 25.0/4096.0; - prolongation[3](40,10) = 45.0/4096.0; - prolongation[3](40,11) = 45.0/4096.0; - prolongation[3](40,12) = -75.0/4096.0; - prolongation[3](40,13) = 25.0/4096.0; - prolongation[3](40,14) = 225.0/4096.0; - prolongation[3](40,15) = 225.0/4096.0; - prolongation[3](40,16) = -15.0/4096.0; - prolongation[3](40,17) = 5.0/4096.0; - prolongation[3](40,18) = 9.0/4096.0; - prolongation[3](40,19) = 9.0/4096.0; - prolongation[3](40,20) = -15.0/4096.0; - prolongation[3](40,21) = 5.0/4096.0; - prolongation[3](40,22) = 45.0/4096.0; - prolongation[3](40,23) = 45.0/4096.0; - prolongation[3](40,24) = -75.0/4096.0; - prolongation[3](40,25) = 25.0/4096.0; - prolongation[3](40,26) = -15.0/4096.0; - prolongation[3](40,27) = 5.0/4096.0; - prolongation[3](40,28) = -15.0/4096.0; - prolongation[3](40,29) = 5.0/4096.0; - prolongation[3](40,30) = -75.0/4096.0; - prolongation[3](40,31) = 25.0/4096.0; - prolongation[3](40,32) = 675.0/4096.0; - prolongation[3](40,33) = -225.0/4096.0; - prolongation[3](40,34) = 675.0/4096.0; - prolongation[3](40,35) = -225.0/4096.0; - prolongation[3](40,36) = 135.0/4096.0; - prolongation[3](40,37) = -45.0/4096.0; - prolongation[3](40,38) = 135.0/4096.0; - prolongation[3](40,39) = -45.0/4096.0; - prolongation[3](40,40) = -225.0/4096.0; - prolongation[3](40,41) = 75.0/4096.0; - prolongation[3](40,42) = 75.0/4096.0; - prolongation[3](40,43) = -25.0/4096.0; - prolongation[3](40,44) = 135.0/4096.0; - prolongation[3](40,45) = -45.0/4096.0; - prolongation[3](40,46) = 135.0/4096.0; - prolongation[3](40,47) = -45.0/4096.0; - prolongation[3](40,48) = -225.0/4096.0; - prolongation[3](40,49) = 75.0/4096.0; - prolongation[3](40,50) = 75.0/4096.0; - prolongation[3](40,51) = -25.0/4096.0; - prolongation[3](40,52) = 675.0/4096.0; - prolongation[3](40,53) = -225.0/4096.0; - prolongation[3](40,54) = 675.0/4096.0; - prolongation[3](40,55) = -225.0/4096.0; - prolongation[3](40,56) = 2025.0/4096.0; - prolongation[3](40,57) = -675.0/4096.0; - prolongation[3](40,58) = -675.0/4096.0; - prolongation[3](40,59) = 225.0/4096.0; - prolongation[3](40,60) = 2025.0/4096.0; - prolongation[3](40,61) = -675.0/4096.0; - prolongation[3](40,62) = -675.0/4096.0; - prolongation[3](40,63) = 225.0/4096.0; - prolongation[3](41,8) = -5.0/256.0; - prolongation[3](41,12) = -5.0/256.0; - prolongation[3](41,16) = -1.0/256.0; - prolongation[3](41,20) = -1.0/256.0; - prolongation[3](41,32) = 45.0/256.0; - prolongation[3](41,34) = 45.0/256.0; - prolongation[3](41,36) = 9.0/256.0; - prolongation[3](41,38) = 9.0/256.0; - prolongation[3](41,40) = -15.0/256.0; - prolongation[3](41,42) = 5.0/256.0; - prolongation[3](41,48) = -15.0/256.0; - prolongation[3](41,50) = 5.0/256.0; - prolongation[3](41,56) = 135.0/256.0; - prolongation[3](41,58) = -45.0/256.0; - prolongation[3](41,60) = 135.0/256.0; - prolongation[3](41,62) = -45.0/256.0; - prolongation[3](42,24) = -5.0/256.0; - prolongation[3](42,26) = -1.0/256.0; - prolongation[3](42,28) = -1.0/256.0; - prolongation[3](42,30) = -5.0/256.0; - prolongation[3](42,40) = -15.0/256.0; - prolongation[3](42,41) = 5.0/256.0; - prolongation[3](42,44) = 9.0/256.0; - prolongation[3](42,46) = 9.0/256.0; - prolongation[3](42,48) = -15.0/256.0; - prolongation[3](42,49) = 5.0/256.0; - prolongation[3](42,52) = 45.0/256.0; - prolongation[3](42,54) = 45.0/256.0; - prolongation[3](42,56) = 135.0/256.0; - prolongation[3](42,57) = -45.0/256.0; - prolongation[3](42,60) = 135.0/256.0; - prolongation[3](42,61) = -45.0/256.0; - prolongation[3](43,40) = -1.0/16.0; - prolongation[3](43,48) = -1.0/16.0; - prolongation[3](43,56) = 9.0/16.0; - prolongation[3](43,60) = 9.0/16.0; - prolongation[3](44,11) = -5.0/256.0; - prolongation[3](44,15) = -5.0/256.0; - prolongation[3](44,19) = -1.0/256.0; - prolongation[3](44,23) = -1.0/256.0; - prolongation[3](44,34) = 45.0/256.0; - prolongation[3](44,35) = 45.0/256.0; - prolongation[3](44,38) = 9.0/256.0; - prolongation[3](44,39) = 9.0/256.0; - prolongation[3](44,46) = -15.0/256.0; - prolongation[3](44,47) = 5.0/256.0; - prolongation[3](44,54) = -15.0/256.0; - prolongation[3](44,55) = 5.0/256.0; - prolongation[3](44,60) = 135.0/256.0; - prolongation[3](44,61) = 135.0/256.0; - prolongation[3](44,62) = -45.0/256.0; - prolongation[3](44,63) = -45.0/256.0; - prolongation[3](45,46) = -1.0/16.0; - prolongation[3](45,54) = -1.0/16.0; - prolongation[3](45,60) = 9.0/16.0; - prolongation[3](45,61) = 9.0/16.0; - prolongation[3](46,0) = -5.0/4096.0; - prolongation[3](46,1) = -5.0/4096.0; - prolongation[3](46,2) = -25.0/4096.0; - prolongation[3](46,3) = -25.0/4096.0; - prolongation[3](46,4) = -1.0/4096.0; - prolongation[3](46,5) = -1.0/4096.0; - prolongation[3](46,6) = -5.0/4096.0; - prolongation[3](46,7) = -5.0/4096.0; - prolongation[3](46,8) = 45.0/4096.0; - prolongation[3](46,9) = 45.0/4096.0; - prolongation[3](46,10) = 25.0/4096.0; - prolongation[3](46,11) = -75.0/4096.0; - prolongation[3](46,12) = 225.0/4096.0; - prolongation[3](46,13) = 225.0/4096.0; - prolongation[3](46,14) = 25.0/4096.0; - prolongation[3](46,15) = -75.0/4096.0; - prolongation[3](46,16) = 9.0/4096.0; - prolongation[3](46,17) = 9.0/4096.0; - prolongation[3](46,18) = 5.0/4096.0; - prolongation[3](46,19) = -15.0/4096.0; - prolongation[3](46,20) = 45.0/4096.0; - prolongation[3](46,21) = 45.0/4096.0; - prolongation[3](46,22) = 5.0/4096.0; - prolongation[3](46,23) = -15.0/4096.0; - prolongation[3](46,24) = -15.0/4096.0; - prolongation[3](46,25) = 5.0/4096.0; - prolongation[3](46,26) = -15.0/4096.0; - prolongation[3](46,27) = 5.0/4096.0; - prolongation[3](46,28) = -75.0/4096.0; - prolongation[3](46,29) = 25.0/4096.0; - prolongation[3](46,30) = -75.0/4096.0; - prolongation[3](46,31) = 25.0/4096.0; - prolongation[3](46,32) = -225.0/4096.0; - prolongation[3](46,33) = -225.0/4096.0; - prolongation[3](46,34) = 675.0/4096.0; - prolongation[3](46,35) = 675.0/4096.0; - prolongation[3](46,36) = -45.0/4096.0; - prolongation[3](46,37) = -45.0/4096.0; - prolongation[3](46,38) = 135.0/4096.0; - prolongation[3](46,39) = 135.0/4096.0; - prolongation[3](46,40) = 135.0/4096.0; - prolongation[3](46,41) = 135.0/4096.0; - prolongation[3](46,42) = -45.0/4096.0; - prolongation[3](46,43) = -45.0/4096.0; - prolongation[3](46,44) = 75.0/4096.0; - prolongation[3](46,45) = -25.0/4096.0; - prolongation[3](46,46) = -225.0/4096.0; - prolongation[3](46,47) = 75.0/4096.0; - prolongation[3](46,48) = 675.0/4096.0; - prolongation[3](46,49) = 675.0/4096.0; - prolongation[3](46,50) = -225.0/4096.0; - prolongation[3](46,51) = -225.0/4096.0; - prolongation[3](46,52) = 75.0/4096.0; - prolongation[3](46,53) = -25.0/4096.0; - prolongation[3](46,54) = -225.0/4096.0; - prolongation[3](46,55) = 75.0/4096.0; - prolongation[3](46,56) = -675.0/4096.0; - prolongation[3](46,57) = -675.0/4096.0; - prolongation[3](46,58) = 225.0/4096.0; - prolongation[3](46,59) = 225.0/4096.0; - prolongation[3](46,60) = 2025.0/4096.0; - prolongation[3](46,61) = 2025.0/4096.0; - prolongation[3](46,62) = -675.0/4096.0; - prolongation[3](46,63) = -675.0/4096.0; - prolongation[3](47,24) = -1.0/256.0; - prolongation[3](47,26) = -1.0/256.0; - prolongation[3](47,28) = -5.0/256.0; - prolongation[3](47,30) = -5.0/256.0; - prolongation[3](47,40) = 9.0/256.0; - prolongation[3](47,41) = 9.0/256.0; - prolongation[3](47,44) = 5.0/256.0; - prolongation[3](47,46) = -15.0/256.0; - prolongation[3](47,48) = 45.0/256.0; - prolongation[3](47,49) = 45.0/256.0; - prolongation[3](47,52) = 5.0/256.0; - prolongation[3](47,54) = -15.0/256.0; - prolongation[3](47,56) = -45.0/256.0; - prolongation[3](47,57) = -45.0/256.0; - prolongation[3](47,60) = 135.0/256.0; - prolongation[3](47,61) = 135.0/256.0; - prolongation[3](48,2) = 5.0/256.0; - prolongation[3](48,3) = 25.0/256.0; - prolongation[3](48,6) = 1.0/256.0; - prolongation[3](48,7) = 5.0/256.0; - prolongation[3](48,12) = 75.0/256.0; - prolongation[3](48,13) = -25.0/256.0; - prolongation[3](48,20) = 15.0/256.0; - prolongation[3](48,21) = -5.0/256.0; - prolongation[3](48,28) = 15.0/256.0; - prolongation[3](48,29) = -5.0/256.0; - prolongation[3](48,30) = 75.0/256.0; - prolongation[3](48,31) = -25.0/256.0; - prolongation[3](48,48) = 225.0/256.0; - prolongation[3](48,49) = -75.0/256.0; - prolongation[3](48,50) = -75.0/256.0; - prolongation[3](48,51) = 25.0/256.0; - prolongation[3](49,12) = 5.0/16.0; - prolongation[3](49,20) = 1.0/16.0; - prolongation[3](49,48) = 15.0/16.0; - prolongation[3](49,50) = -5.0/16.0; - prolongation[3](50,28) = 1.0/16.0; - prolongation[3](50,30) = 5.0/16.0; - prolongation[3](50,48) = 15.0/16.0; - prolongation[3](50,49) = -5.0/16.0; - prolongation[3](51,48) = 1.0; - prolongation[3](52,15) = 5.0/16.0; - prolongation[3](52,23) = 1.0/16.0; - prolongation[3](52,54) = 15.0/16.0; - prolongation[3](52,55) = -5.0/16.0; - prolongation[3](53,54) = 1.0; - prolongation[3](54,0) = 5.0/256.0; - prolongation[3](54,3) = 25.0/256.0; - prolongation[3](54,4) = 1.0/256.0; - prolongation[3](54,7) = 5.0/256.0; - prolongation[3](54,14) = -25.0/256.0; - prolongation[3](54,15) = 75.0/256.0; - prolongation[3](54,22) = -5.0/256.0; - prolongation[3](54,23) = 15.0/256.0; - prolongation[3](54,24) = 15.0/256.0; - prolongation[3](54,25) = -5.0/256.0; - prolongation[3](54,30) = 75.0/256.0; - prolongation[3](54,31) = -25.0/256.0; - prolongation[3](54,52) = -75.0/256.0; - prolongation[3](54,53) = 25.0/256.0; - prolongation[3](54,54) = 225.0/256.0; - prolongation[3](54,55) = -75.0/256.0; - prolongation[3](55,24) = 1.0/16.0; - prolongation[3](55,30) = 5.0/16.0; - prolongation[3](55,52) = -5.0/16.0; - prolongation[3](55,54) = 15.0/16.0; - prolongation[3](56,11) = 5.0/256.0; - prolongation[3](56,15) = 25.0/256.0; - prolongation[3](56,19) = 1.0/256.0; - prolongation[3](56,23) = 5.0/256.0; - prolongation[3](56,34) = 75.0/256.0; - prolongation[3](56,35) = -25.0/256.0; - prolongation[3](56,38) = 15.0/256.0; - prolongation[3](56,39) = -5.0/256.0; - prolongation[3](56,46) = 15.0/256.0; - prolongation[3](56,47) = -5.0/256.0; - prolongation[3](56,54) = 75.0/256.0; - prolongation[3](56,55) = -25.0/256.0; - prolongation[3](56,60) = 225.0/256.0; - prolongation[3](56,61) = -75.0/256.0; - prolongation[3](56,62) = -75.0/256.0; - prolongation[3](56,63) = 25.0/256.0; - prolongation[3](57,34) = 5.0/16.0; - prolongation[3](57,38) = 1.0/16.0; - prolongation[3](57,60) = 15.0/16.0; - prolongation[3](57,62) = -5.0/16.0; - prolongation[3](58,46) = 1.0/16.0; - prolongation[3](58,54) = 5.0/16.0; - prolongation[3](58,60) = 15.0/16.0; - prolongation[3](58,61) = -5.0/16.0; - prolongation[3](59,60) = 1.0; - prolongation[3](60,0) = 25.0/4096.0; - prolongation[3](60,1) = 5.0/4096.0; - prolongation[3](60,2) = 25.0/4096.0; - prolongation[3](60,3) = 125.0/4096.0; - prolongation[3](60,4) = 5.0/4096.0; - prolongation[3](60,5) = 1.0/4096.0; - prolongation[3](60,6) = 5.0/4096.0; - prolongation[3](60,7) = 25.0/4096.0; - prolongation[3](60,8) = 75.0/4096.0; - prolongation[3](60,9) = -25.0/4096.0; - prolongation[3](60,10) = -25.0/4096.0; - prolongation[3](60,11) = 75.0/4096.0; - prolongation[3](60,12) = 375.0/4096.0; - prolongation[3](60,13) = -125.0/4096.0; - prolongation[3](60,14) = -125.0/4096.0; - prolongation[3](60,15) = 375.0/4096.0; - prolongation[3](60,16) = 15.0/4096.0; - prolongation[3](60,17) = -5.0/4096.0; - prolongation[3](60,18) = -5.0/4096.0; - prolongation[3](60,19) = 15.0/4096.0; - prolongation[3](60,20) = 75.0/4096.0; - prolongation[3](60,21) = -25.0/4096.0; - prolongation[3](60,22) = -25.0/4096.0; - prolongation[3](60,23) = 75.0/4096.0; - prolongation[3](60,24) = 75.0/4096.0; - prolongation[3](60,25) = -25.0/4096.0; - prolongation[3](60,26) = 15.0/4096.0; - prolongation[3](60,27) = -5.0/4096.0; - prolongation[3](60,28) = 75.0/4096.0; - prolongation[3](60,29) = -25.0/4096.0; - prolongation[3](60,30) = 375.0/4096.0; - prolongation[3](60,31) = -125.0/4096.0; - prolongation[3](60,32) = -375.0/4096.0; - prolongation[3](60,33) = 125.0/4096.0; - prolongation[3](60,34) = 1125.0/4096.0; - prolongation[3](60,35) = -375.0/4096.0; - prolongation[3](60,36) = -75.0/4096.0; - prolongation[3](60,37) = 25.0/4096.0; - prolongation[3](60,38) = 225.0/4096.0; - prolongation[3](60,39) = -75.0/4096.0; - prolongation[3](60,40) = 225.0/4096.0; - prolongation[3](60,41) = -75.0/4096.0; - prolongation[3](60,42) = -75.0/4096.0; - prolongation[3](60,43) = 25.0/4096.0; - prolongation[3](60,44) = -75.0/4096.0; - prolongation[3](60,45) = 25.0/4096.0; - prolongation[3](60,46) = 225.0/4096.0; - prolongation[3](60,47) = -75.0/4096.0; - prolongation[3](60,48) = 1125.0/4096.0; - prolongation[3](60,49) = -375.0/4096.0; - prolongation[3](60,50) = -375.0/4096.0; - prolongation[3](60,51) = 125.0/4096.0; - prolongation[3](60,52) = -375.0/4096.0; - prolongation[3](60,53) = 125.0/4096.0; - prolongation[3](60,54) = 1125.0/4096.0; - prolongation[3](60,55) = -375.0/4096.0; - prolongation[3](60,56) = -1125.0/4096.0; - prolongation[3](60,57) = 375.0/4096.0; - prolongation[3](60,58) = 375.0/4096.0; - prolongation[3](60,59) = -125.0/4096.0; - prolongation[3](60,60) = 3375.0/4096.0; - prolongation[3](60,61) = -1125.0/4096.0; - prolongation[3](60,62) = -1125.0/4096.0; - prolongation[3](60,63) = 375.0/4096.0; - prolongation[3](61,8) = 5.0/256.0; - prolongation[3](61,12) = 25.0/256.0; - prolongation[3](61,16) = 1.0/256.0; - prolongation[3](61,20) = 5.0/256.0; - prolongation[3](61,32) = -25.0/256.0; - prolongation[3](61,34) = 75.0/256.0; - prolongation[3](61,36) = -5.0/256.0; - prolongation[3](61,38) = 15.0/256.0; - prolongation[3](61,40) = 15.0/256.0; - prolongation[3](61,42) = -5.0/256.0; - prolongation[3](61,48) = 75.0/256.0; - prolongation[3](61,50) = -25.0/256.0; - prolongation[3](61,56) = -75.0/256.0; - prolongation[3](61,58) = 25.0/256.0; - prolongation[3](61,60) = 225.0/256.0; - prolongation[3](61,62) = -75.0/256.0; - prolongation[3](62,24) = 5.0/256.0; - prolongation[3](62,26) = 1.0/256.0; - prolongation[3](62,28) = 5.0/256.0; - prolongation[3](62,30) = 25.0/256.0; - prolongation[3](62,40) = 15.0/256.0; - prolongation[3](62,41) = -5.0/256.0; - prolongation[3](62,44) = -5.0/256.0; - prolongation[3](62,46) = 15.0/256.0; - prolongation[3](62,48) = 75.0/256.0; - prolongation[3](62,49) = -25.0/256.0; - prolongation[3](62,52) = -25.0/256.0; - prolongation[3](62,54) = 75.0/256.0; - prolongation[3](62,56) = -75.0/256.0; - prolongation[3](62,57) = 25.0/256.0; - prolongation[3](62,60) = 225.0/256.0; - prolongation[3](62,61) = -75.0/256.0; - prolongation[3](63,40) = 1.0/16.0; - prolongation[3](63,48) = 5.0/16.0; - prolongation[3](63,56) = -5.0/16.0; - prolongation[3](63,60) = 15.0/16.0; - prolongation[4](0,0) = -1.0/16.0; - prolongation[4](0,4) = -1.0/16.0; - prolongation[4](0,24) = 9.0/16.0; - prolongation[4](0,25) = 9.0/16.0; - prolongation[4](1,0) = 1.0/256.0; - prolongation[4](1,1) = 1.0/256.0; - prolongation[4](1,4) = 1.0/256.0; - prolongation[4](1,5) = 1.0/256.0; - prolongation[4](1,8) = -9.0/256.0; - prolongation[4](1,9) = -9.0/256.0; - prolongation[4](1,16) = -9.0/256.0; - prolongation[4](1,17) = -9.0/256.0; - prolongation[4](1,24) = -9.0/256.0; - prolongation[4](1,25) = -9.0/256.0; - prolongation[4](1,26) = -9.0/256.0; - prolongation[4](1,27) = -9.0/256.0; - prolongation[4](1,40) = 81.0/256.0; - prolongation[4](1,41) = 81.0/256.0; - prolongation[4](1,42) = 81.0/256.0; - prolongation[4](1,43) = 81.0/256.0; - prolongation[4](2,0) = -1.0/4096.0; - prolongation[4](2,1) = -1.0/4096.0; - prolongation[4](2,2) = -1.0/4096.0; - prolongation[4](2,3) = -1.0/4096.0; - prolongation[4](2,4) = -1.0/4096.0; - prolongation[4](2,5) = -1.0/4096.0; - prolongation[4](2,6) = -1.0/4096.0; - prolongation[4](2,7) = -1.0/4096.0; - prolongation[4](2,8) = 9.0/4096.0; - prolongation[4](2,9) = 9.0/4096.0; - prolongation[4](2,10) = 9.0/4096.0; - prolongation[4](2,11) = 9.0/4096.0; - prolongation[4](2,12) = 9.0/4096.0; - prolongation[4](2,13) = 9.0/4096.0; - prolongation[4](2,14) = 9.0/4096.0; - prolongation[4](2,15) = 9.0/4096.0; - prolongation[4](2,16) = 9.0/4096.0; - prolongation[4](2,17) = 9.0/4096.0; - prolongation[4](2,18) = 9.0/4096.0; - prolongation[4](2,19) = 9.0/4096.0; - prolongation[4](2,20) = 9.0/4096.0; - prolongation[4](2,21) = 9.0/4096.0; - prolongation[4](2,22) = 9.0/4096.0; - prolongation[4](2,23) = 9.0/4096.0; - prolongation[4](2,24) = 9.0/4096.0; - prolongation[4](2,25) = 9.0/4096.0; - prolongation[4](2,26) = 9.0/4096.0; - prolongation[4](2,27) = 9.0/4096.0; - prolongation[4](2,28) = 9.0/4096.0; - prolongation[4](2,29) = 9.0/4096.0; - prolongation[4](2,30) = 9.0/4096.0; - prolongation[4](2,31) = 9.0/4096.0; - prolongation[4](2,32) = -81.0/4096.0; - prolongation[4](2,33) = -81.0/4096.0; - prolongation[4](2,34) = -81.0/4096.0; - prolongation[4](2,35) = -81.0/4096.0; - prolongation[4](2,36) = -81.0/4096.0; - prolongation[4](2,37) = -81.0/4096.0; - prolongation[4](2,38) = -81.0/4096.0; - prolongation[4](2,39) = -81.0/4096.0; - prolongation[4](2,40) = -81.0/4096.0; - prolongation[4](2,41) = -81.0/4096.0; - prolongation[4](2,42) = -81.0/4096.0; - prolongation[4](2,43) = -81.0/4096.0; - prolongation[4](2,44) = -81.0/4096.0; - prolongation[4](2,45) = -81.0/4096.0; - prolongation[4](2,46) = -81.0/4096.0; - prolongation[4](2,47) = -81.0/4096.0; - prolongation[4](2,48) = -81.0/4096.0; - prolongation[4](2,49) = -81.0/4096.0; - prolongation[4](2,50) = -81.0/4096.0; - prolongation[4](2,51) = -81.0/4096.0; - prolongation[4](2,52) = -81.0/4096.0; - prolongation[4](2,53) = -81.0/4096.0; - prolongation[4](2,54) = -81.0/4096.0; - prolongation[4](2,55) = -81.0/4096.0; - prolongation[4](2,56) = 729.0/4096.0; - prolongation[4](2,57) = 729.0/4096.0; - prolongation[4](2,58) = 729.0/4096.0; - prolongation[4](2,59) = 729.0/4096.0; - prolongation[4](2,60) = 729.0/4096.0; - prolongation[4](2,61) = 729.0/4096.0; - prolongation[4](2,62) = 729.0/4096.0; - prolongation[4](2,63) = 729.0/4096.0; - prolongation[4](3,0) = 1.0/256.0; - prolongation[4](3,3) = 1.0/256.0; - prolongation[4](3,4) = 1.0/256.0; - prolongation[4](3,7) = 1.0/256.0; - prolongation[4](3,14) = -9.0/256.0; - prolongation[4](3,15) = -9.0/256.0; - prolongation[4](3,22) = -9.0/256.0; - prolongation[4](3,23) = -9.0/256.0; - prolongation[4](3,24) = -9.0/256.0; - prolongation[4](3,25) = -9.0/256.0; - prolongation[4](3,30) = -9.0/256.0; - prolongation[4](3,31) = -9.0/256.0; - prolongation[4](3,52) = 81.0/256.0; - prolongation[4](3,53) = 81.0/256.0; - prolongation[4](3,54) = 81.0/256.0; - prolongation[4](3,55) = 81.0/256.0; - prolongation[4](4,4) = 1.0; - prolongation[4](5,4) = -1.0/16.0; - prolongation[4](5,5) = -1.0/16.0; - prolongation[4](5,16) = 9.0/16.0; - prolongation[4](5,17) = 9.0/16.0; - prolongation[4](6,4) = 1.0/256.0; - prolongation[4](6,5) = 1.0/256.0; - prolongation[4](6,6) = 1.0/256.0; - prolongation[4](6,7) = 1.0/256.0; - prolongation[4](6,16) = -9.0/256.0; - prolongation[4](6,17) = -9.0/256.0; - prolongation[4](6,18) = -9.0/256.0; - prolongation[4](6,19) = -9.0/256.0; - prolongation[4](6,20) = -9.0/256.0; - prolongation[4](6,21) = -9.0/256.0; - prolongation[4](6,22) = -9.0/256.0; - prolongation[4](6,23) = -9.0/256.0; - prolongation[4](6,36) = 81.0/256.0; - prolongation[4](6,37) = 81.0/256.0; - prolongation[4](6,38) = 81.0/256.0; - prolongation[4](6,39) = 81.0/256.0; - prolongation[4](7,4) = -1.0/16.0; - prolongation[4](7,7) = -1.0/16.0; - prolongation[4](7,22) = 9.0/16.0; - prolongation[4](7,23) = 9.0/16.0; - prolongation[4](8,0) = -5.0/256.0; - prolongation[4](8,1) = -1.0/256.0; - prolongation[4](8,4) = -5.0/256.0; - prolongation[4](8,5) = -1.0/256.0; - prolongation[4](8,8) = -15.0/256.0; - prolongation[4](8,9) = 5.0/256.0; - prolongation[4](8,16) = -15.0/256.0; - prolongation[4](8,17) = 5.0/256.0; - prolongation[4](8,24) = 45.0/256.0; - prolongation[4](8,25) = 45.0/256.0; - prolongation[4](8,26) = 9.0/256.0; - prolongation[4](8,27) = 9.0/256.0; - prolongation[4](8,40) = 135.0/256.0; - prolongation[4](8,41) = -45.0/256.0; - prolongation[4](8,42) = 135.0/256.0; - prolongation[4](8,43) = -45.0/256.0; - prolongation[4](9,8) = -1.0/16.0; - prolongation[4](9,16) = -1.0/16.0; - prolongation[4](9,40) = 9.0/16.0; - prolongation[4](9,42) = 9.0/16.0; - prolongation[4](10,0) = 5.0/4096.0; - prolongation[4](10,1) = 5.0/4096.0; - prolongation[4](10,2) = 1.0/4096.0; - prolongation[4](10,3) = 1.0/4096.0; - prolongation[4](10,4) = 5.0/4096.0; - prolongation[4](10,5) = 5.0/4096.0; - prolongation[4](10,6) = 1.0/4096.0; - prolongation[4](10,7) = 1.0/4096.0; - prolongation[4](10,8) = -45.0/4096.0; - prolongation[4](10,9) = -45.0/4096.0; - prolongation[4](10,10) = 15.0/4096.0; - prolongation[4](10,11) = -5.0/4096.0; - prolongation[4](10,12) = -9.0/4096.0; - prolongation[4](10,13) = -9.0/4096.0; - prolongation[4](10,14) = 15.0/4096.0; - prolongation[4](10,15) = -5.0/4096.0; - prolongation[4](10,16) = -45.0/4096.0; - prolongation[4](10,17) = -45.0/4096.0; - prolongation[4](10,18) = 15.0/4096.0; - prolongation[4](10,19) = -5.0/4096.0; - prolongation[4](10,20) = -9.0/4096.0; - prolongation[4](10,21) = -9.0/4096.0; - prolongation[4](10,22) = 15.0/4096.0; - prolongation[4](10,23) = -5.0/4096.0; - prolongation[4](10,24) = -45.0/4096.0; - prolongation[4](10,25) = -45.0/4096.0; - prolongation[4](10,26) = -45.0/4096.0; - prolongation[4](10,27) = -45.0/4096.0; - prolongation[4](10,28) = -9.0/4096.0; - prolongation[4](10,29) = -9.0/4096.0; - prolongation[4](10,30) = -9.0/4096.0; - prolongation[4](10,31) = -9.0/4096.0; - prolongation[4](10,32) = -135.0/4096.0; - prolongation[4](10,33) = -135.0/4096.0; - prolongation[4](10,34) = 45.0/4096.0; - prolongation[4](10,35) = 45.0/4096.0; - prolongation[4](10,36) = -135.0/4096.0; - prolongation[4](10,37) = -135.0/4096.0; - prolongation[4](10,38) = 45.0/4096.0; - prolongation[4](10,39) = 45.0/4096.0; - prolongation[4](10,40) = 405.0/4096.0; - prolongation[4](10,41) = 405.0/4096.0; - prolongation[4](10,42) = 405.0/4096.0; - prolongation[4](10,43) = 405.0/4096.0; - prolongation[4](10,44) = -135.0/4096.0; - prolongation[4](10,45) = -135.0/4096.0; - prolongation[4](10,46) = 45.0/4096.0; - prolongation[4](10,47) = 45.0/4096.0; - prolongation[4](10,48) = 81.0/4096.0; - prolongation[4](10,49) = 81.0/4096.0; - prolongation[4](10,50) = 81.0/4096.0; - prolongation[4](10,51) = 81.0/4096.0; - prolongation[4](10,52) = -135.0/4096.0; - prolongation[4](10,53) = -135.0/4096.0; - prolongation[4](10,54) = 45.0/4096.0; - prolongation[4](10,55) = 45.0/4096.0; - prolongation[4](10,56) = 1215.0/4096.0; - prolongation[4](10,57) = 1215.0/4096.0; - prolongation[4](10,58) = 1215.0/4096.0; - prolongation[4](10,59) = 1215.0/4096.0; - prolongation[4](10,60) = -405.0/4096.0; - prolongation[4](10,61) = -405.0/4096.0; - prolongation[4](10,62) = -405.0/4096.0; - prolongation[4](10,63) = -405.0/4096.0; - prolongation[4](11,10) = 1.0/256.0; - prolongation[4](11,14) = 1.0/256.0; - prolongation[4](11,18) = 1.0/256.0; - prolongation[4](11,22) = 1.0/256.0; - prolongation[4](11,32) = -9.0/256.0; - prolongation[4](11,33) = -9.0/256.0; - prolongation[4](11,36) = -9.0/256.0; - prolongation[4](11,37) = -9.0/256.0; - prolongation[4](11,44) = -9.0/256.0; - prolongation[4](11,45) = -9.0/256.0; - prolongation[4](11,52) = -9.0/256.0; - prolongation[4](11,53) = -9.0/256.0; - prolongation[4](11,56) = 81.0/256.0; - prolongation[4](11,57) = 81.0/256.0; - prolongation[4](11,58) = 81.0/256.0; - prolongation[4](11,59) = 81.0/256.0; - prolongation[4](12,0) = 5.0/4096.0; - prolongation[4](12,1) = 1.0/4096.0; - prolongation[4](12,2) = 1.0/4096.0; - prolongation[4](12,3) = 5.0/4096.0; - prolongation[4](12,4) = 5.0/4096.0; - prolongation[4](12,5) = 1.0/4096.0; - prolongation[4](12,6) = 1.0/4096.0; - prolongation[4](12,7) = 5.0/4096.0; - prolongation[4](12,8) = 15.0/4096.0; - prolongation[4](12,9) = -5.0/4096.0; - prolongation[4](12,10) = -9.0/4096.0; - prolongation[4](12,11) = -9.0/4096.0; - prolongation[4](12,12) = 15.0/4096.0; - prolongation[4](12,13) = -5.0/4096.0; - prolongation[4](12,14) = -45.0/4096.0; - prolongation[4](12,15) = -45.0/4096.0; - prolongation[4](12,16) = 15.0/4096.0; - prolongation[4](12,17) = -5.0/4096.0; - prolongation[4](12,18) = -9.0/4096.0; - prolongation[4](12,19) = -9.0/4096.0; - prolongation[4](12,20) = 15.0/4096.0; - prolongation[4](12,21) = -5.0/4096.0; - prolongation[4](12,22) = -45.0/4096.0; - prolongation[4](12,23) = -45.0/4096.0; - prolongation[4](12,24) = -45.0/4096.0; - prolongation[4](12,25) = -45.0/4096.0; - prolongation[4](12,26) = -9.0/4096.0; - prolongation[4](12,27) = -9.0/4096.0; - prolongation[4](12,28) = -9.0/4096.0; - prolongation[4](12,29) = -9.0/4096.0; - prolongation[4](12,30) = -45.0/4096.0; - prolongation[4](12,31) = -45.0/4096.0; - prolongation[4](12,32) = -135.0/4096.0; - prolongation[4](12,33) = 45.0/4096.0; - prolongation[4](12,34) = -135.0/4096.0; - prolongation[4](12,35) = 45.0/4096.0; - prolongation[4](12,36) = -135.0/4096.0; - prolongation[4](12,37) = 45.0/4096.0; - prolongation[4](12,38) = -135.0/4096.0; - prolongation[4](12,39) = 45.0/4096.0; - prolongation[4](12,40) = -135.0/4096.0; - prolongation[4](12,41) = 45.0/4096.0; - prolongation[4](12,42) = -135.0/4096.0; - prolongation[4](12,43) = 45.0/4096.0; - prolongation[4](12,44) = 81.0/4096.0; - prolongation[4](12,45) = 81.0/4096.0; - prolongation[4](12,46) = 81.0/4096.0; - prolongation[4](12,47) = 81.0/4096.0; - prolongation[4](12,48) = -135.0/4096.0; - prolongation[4](12,49) = 45.0/4096.0; - prolongation[4](12,50) = -135.0/4096.0; - prolongation[4](12,51) = 45.0/4096.0; - prolongation[4](12,52) = 405.0/4096.0; - prolongation[4](12,53) = 405.0/4096.0; - prolongation[4](12,54) = 405.0/4096.0; - prolongation[4](12,55) = 405.0/4096.0; - prolongation[4](12,56) = 1215.0/4096.0; - prolongation[4](12,57) = -405.0/4096.0; - prolongation[4](12,58) = 1215.0/4096.0; - prolongation[4](12,59) = -405.0/4096.0; - prolongation[4](12,60) = 1215.0/4096.0; - prolongation[4](12,61) = -405.0/4096.0; - prolongation[4](12,62) = 1215.0/4096.0; - prolongation[4](12,63) = -405.0/4096.0; - prolongation[4](13,8) = 1.0/256.0; - prolongation[4](13,12) = 1.0/256.0; - prolongation[4](13,16) = 1.0/256.0; - prolongation[4](13,20) = 1.0/256.0; - prolongation[4](13,32) = -9.0/256.0; - prolongation[4](13,34) = -9.0/256.0; - prolongation[4](13,36) = -9.0/256.0; - prolongation[4](13,38) = -9.0/256.0; - prolongation[4](13,40) = -9.0/256.0; - prolongation[4](13,42) = -9.0/256.0; - prolongation[4](13,48) = -9.0/256.0; - prolongation[4](13,50) = -9.0/256.0; - prolongation[4](13,56) = 81.0/256.0; - prolongation[4](13,58) = 81.0/256.0; - prolongation[4](13,60) = 81.0/256.0; - prolongation[4](13,62) = 81.0/256.0; - prolongation[4](14,0) = -5.0/256.0; - prolongation[4](14,3) = -1.0/256.0; - prolongation[4](14,4) = -5.0/256.0; - prolongation[4](14,7) = -1.0/256.0; - prolongation[4](14,14) = -15.0/256.0; - prolongation[4](14,15) = 5.0/256.0; - prolongation[4](14,22) = -15.0/256.0; - prolongation[4](14,23) = 5.0/256.0; - prolongation[4](14,24) = 45.0/256.0; - prolongation[4](14,25) = 45.0/256.0; - prolongation[4](14,30) = 9.0/256.0; - prolongation[4](14,31) = 9.0/256.0; - prolongation[4](14,52) = 135.0/256.0; - prolongation[4](14,53) = 135.0/256.0; - prolongation[4](14,54) = -45.0/256.0; - prolongation[4](14,55) = -45.0/256.0; - prolongation[4](15,14) = -1.0/16.0; - prolongation[4](15,22) = -1.0/16.0; - prolongation[4](15,52) = 9.0/16.0; - prolongation[4](15,53) = 9.0/16.0; - prolongation[4](16,4) = 5.0/16.0; - prolongation[4](16,5) = 1.0/16.0; - prolongation[4](16,16) = 15.0/16.0; - prolongation[4](16,17) = -5.0/16.0; - prolongation[4](17,16) = 1.0; - prolongation[4](18,4) = -5.0/256.0; - prolongation[4](18,5) = -5.0/256.0; - prolongation[4](18,6) = -1.0/256.0; - prolongation[4](18,7) = -1.0/256.0; - prolongation[4](18,16) = 45.0/256.0; - prolongation[4](18,17) = 45.0/256.0; - prolongation[4](18,18) = -15.0/256.0; - prolongation[4](18,19) = 5.0/256.0; - prolongation[4](18,20) = 9.0/256.0; - prolongation[4](18,21) = 9.0/256.0; - prolongation[4](18,22) = -15.0/256.0; - prolongation[4](18,23) = 5.0/256.0; - prolongation[4](18,36) = 135.0/256.0; - prolongation[4](18,37) = 135.0/256.0; - prolongation[4](18,38) = -45.0/256.0; - prolongation[4](18,39) = -45.0/256.0; - prolongation[4](19,18) = -1.0/16.0; - prolongation[4](19,22) = -1.0/16.0; - prolongation[4](19,36) = 9.0/16.0; - prolongation[4](19,37) = 9.0/16.0; - prolongation[4](20,4) = -5.0/256.0; - prolongation[4](20,5) = -1.0/256.0; - prolongation[4](20,6) = -1.0/256.0; - prolongation[4](20,7) = -5.0/256.0; - prolongation[4](20,16) = -15.0/256.0; - prolongation[4](20,17) = 5.0/256.0; - prolongation[4](20,18) = 9.0/256.0; - prolongation[4](20,19) = 9.0/256.0; - prolongation[4](20,20) = -15.0/256.0; - prolongation[4](20,21) = 5.0/256.0; - prolongation[4](20,22) = 45.0/256.0; - prolongation[4](20,23) = 45.0/256.0; - prolongation[4](20,36) = 135.0/256.0; - prolongation[4](20,37) = -45.0/256.0; - prolongation[4](20,38) = 135.0/256.0; - prolongation[4](20,39) = -45.0/256.0; - prolongation[4](21,16) = -1.0/16.0; - prolongation[4](21,20) = -1.0/16.0; - prolongation[4](21,36) = 9.0/16.0; - prolongation[4](21,38) = 9.0/16.0; - prolongation[4](22,4) = 5.0/16.0; - prolongation[4](22,7) = 1.0/16.0; - prolongation[4](22,22) = 15.0/16.0; - prolongation[4](22,23) = -5.0/16.0; - prolongation[4](23,22) = 1.0; - prolongation[4](24,25) = 1.0; - prolongation[4](25,0) = 1.0/16.0; - prolongation[4](25,4) = 5.0/16.0; - prolongation[4](25,24) = -5.0/16.0; - prolongation[4](25,25) = 15.0/16.0; - prolongation[4](26,25) = -1.0/16.0; - prolongation[4](26,27) = -1.0/16.0; - prolongation[4](26,42) = 9.0/16.0; - prolongation[4](26,43) = 9.0/16.0; - prolongation[4](27,0) = -1.0/256.0; - prolongation[4](27,1) = -1.0/256.0; - prolongation[4](27,4) = -5.0/256.0; - prolongation[4](27,5) = -5.0/256.0; - prolongation[4](27,8) = 9.0/256.0; - prolongation[4](27,9) = 9.0/256.0; - prolongation[4](27,16) = 45.0/256.0; - prolongation[4](27,17) = 45.0/256.0; - prolongation[4](27,24) = 5.0/256.0; - prolongation[4](27,25) = -15.0/256.0; - prolongation[4](27,26) = 5.0/256.0; - prolongation[4](27,27) = -15.0/256.0; - prolongation[4](27,40) = -45.0/256.0; - prolongation[4](27,41) = -45.0/256.0; - prolongation[4](27,42) = 135.0/256.0; - prolongation[4](27,43) = 135.0/256.0; - prolongation[4](28,25) = 1.0/256.0; - prolongation[4](28,27) = 1.0/256.0; - prolongation[4](28,29) = 1.0/256.0; - prolongation[4](28,31) = 1.0/256.0; - prolongation[4](28,42) = -9.0/256.0; - prolongation[4](28,43) = -9.0/256.0; - prolongation[4](28,45) = -9.0/256.0; - prolongation[4](28,47) = -9.0/256.0; - prolongation[4](28,50) = -9.0/256.0; - prolongation[4](28,51) = -9.0/256.0; - prolongation[4](28,53) = -9.0/256.0; - prolongation[4](28,55) = -9.0/256.0; - prolongation[4](28,58) = 81.0/256.0; - prolongation[4](28,59) = 81.0/256.0; - prolongation[4](28,62) = 81.0/256.0; - prolongation[4](28,63) = 81.0/256.0; - prolongation[4](29,0) = 1.0/4096.0; - prolongation[4](29,1) = 1.0/4096.0; - prolongation[4](29,2) = 1.0/4096.0; - prolongation[4](29,3) = 1.0/4096.0; - prolongation[4](29,4) = 5.0/4096.0; - prolongation[4](29,5) = 5.0/4096.0; - prolongation[4](29,6) = 5.0/4096.0; - prolongation[4](29,7) = 5.0/4096.0; - prolongation[4](29,8) = -9.0/4096.0; - prolongation[4](29,9) = -9.0/4096.0; - prolongation[4](29,10) = -9.0/4096.0; - prolongation[4](29,11) = -9.0/4096.0; - prolongation[4](29,12) = -9.0/4096.0; - prolongation[4](29,13) = -9.0/4096.0; - prolongation[4](29,14) = -9.0/4096.0; - prolongation[4](29,15) = -9.0/4096.0; - prolongation[4](29,16) = -45.0/4096.0; - prolongation[4](29,17) = -45.0/4096.0; - prolongation[4](29,18) = -45.0/4096.0; - prolongation[4](29,19) = -45.0/4096.0; - prolongation[4](29,20) = -45.0/4096.0; - prolongation[4](29,21) = -45.0/4096.0; - prolongation[4](29,22) = -45.0/4096.0; - prolongation[4](29,23) = -45.0/4096.0; - prolongation[4](29,24) = -5.0/4096.0; - prolongation[4](29,25) = 15.0/4096.0; - prolongation[4](29,26) = -5.0/4096.0; - prolongation[4](29,27) = 15.0/4096.0; - prolongation[4](29,28) = -5.0/4096.0; - prolongation[4](29,29) = 15.0/4096.0; - prolongation[4](29,30) = -5.0/4096.0; - prolongation[4](29,31) = 15.0/4096.0; - prolongation[4](29,32) = 81.0/4096.0; - prolongation[4](29,33) = 81.0/4096.0; - prolongation[4](29,34) = 81.0/4096.0; - prolongation[4](29,35) = 81.0/4096.0; - prolongation[4](29,36) = 405.0/4096.0; - prolongation[4](29,37) = 405.0/4096.0; - prolongation[4](29,38) = 405.0/4096.0; - prolongation[4](29,39) = 405.0/4096.0; - prolongation[4](29,40) = 45.0/4096.0; - prolongation[4](29,41) = 45.0/4096.0; - prolongation[4](29,42) = -135.0/4096.0; - prolongation[4](29,43) = -135.0/4096.0; - prolongation[4](29,44) = 45.0/4096.0; - prolongation[4](29,45) = -135.0/4096.0; - prolongation[4](29,46) = 45.0/4096.0; - prolongation[4](29,47) = -135.0/4096.0; - prolongation[4](29,48) = 45.0/4096.0; - prolongation[4](29,49) = 45.0/4096.0; - prolongation[4](29,50) = -135.0/4096.0; - prolongation[4](29,51) = -135.0/4096.0; - prolongation[4](29,52) = 45.0/4096.0; - prolongation[4](29,53) = -135.0/4096.0; - prolongation[4](29,54) = 45.0/4096.0; - prolongation[4](29,55) = -135.0/4096.0; - prolongation[4](29,56) = -405.0/4096.0; - prolongation[4](29,57) = -405.0/4096.0; - prolongation[4](29,58) = 1215.0/4096.0; - prolongation[4](29,59) = 1215.0/4096.0; - prolongation[4](29,60) = -405.0/4096.0; - prolongation[4](29,61) = -405.0/4096.0; - prolongation[4](29,62) = 1215.0/4096.0; - prolongation[4](29,63) = 1215.0/4096.0; - prolongation[4](30,25) = -1.0/16.0; - prolongation[4](30,31) = -1.0/16.0; - prolongation[4](30,53) = 9.0/16.0; - prolongation[4](30,55) = 9.0/16.0; - prolongation[4](31,0) = -1.0/256.0; - prolongation[4](31,3) = -1.0/256.0; - prolongation[4](31,4) = -5.0/256.0; - prolongation[4](31,7) = -5.0/256.0; - prolongation[4](31,14) = 9.0/256.0; - prolongation[4](31,15) = 9.0/256.0; - prolongation[4](31,22) = 45.0/256.0; - prolongation[4](31,23) = 45.0/256.0; - prolongation[4](31,24) = 5.0/256.0; - prolongation[4](31,25) = -15.0/256.0; - prolongation[4](31,30) = 5.0/256.0; - prolongation[4](31,31) = -15.0/256.0; - prolongation[4](31,52) = -45.0/256.0; - prolongation[4](31,53) = 135.0/256.0; - prolongation[4](31,54) = -45.0/256.0; - prolongation[4](31,55) = 135.0/256.0; - prolongation[4](32,0) = -25.0/4096.0; - prolongation[4](32,1) = -5.0/4096.0; - prolongation[4](32,2) = -1.0/4096.0; - prolongation[4](32,3) = -5.0/4096.0; - prolongation[4](32,4) = -25.0/4096.0; - prolongation[4](32,5) = -5.0/4096.0; - prolongation[4](32,6) = -1.0/4096.0; - prolongation[4](32,7) = -5.0/4096.0; - prolongation[4](32,8) = -75.0/4096.0; - prolongation[4](32,9) = 25.0/4096.0; - prolongation[4](32,10) = -15.0/4096.0; - prolongation[4](32,11) = 5.0/4096.0; - prolongation[4](32,12) = -15.0/4096.0; - prolongation[4](32,13) = 5.0/4096.0; - prolongation[4](32,14) = -75.0/4096.0; - prolongation[4](32,15) = 25.0/4096.0; - prolongation[4](32,16) = -75.0/4096.0; - prolongation[4](32,17) = 25.0/4096.0; - prolongation[4](32,18) = -15.0/4096.0; - prolongation[4](32,19) = 5.0/4096.0; - prolongation[4](32,20) = -15.0/4096.0; - prolongation[4](32,21) = 5.0/4096.0; - prolongation[4](32,22) = -75.0/4096.0; - prolongation[4](32,23) = 25.0/4096.0; - prolongation[4](32,24) = 225.0/4096.0; - prolongation[4](32,25) = 225.0/4096.0; - prolongation[4](32,26) = 45.0/4096.0; - prolongation[4](32,27) = 45.0/4096.0; - prolongation[4](32,28) = 9.0/4096.0; - prolongation[4](32,29) = 9.0/4096.0; - prolongation[4](32,30) = 45.0/4096.0; - prolongation[4](32,31) = 45.0/4096.0; - prolongation[4](32,32) = -225.0/4096.0; - prolongation[4](32,33) = 75.0/4096.0; - prolongation[4](32,34) = 75.0/4096.0; - prolongation[4](32,35) = -25.0/4096.0; - prolongation[4](32,36) = -225.0/4096.0; - prolongation[4](32,37) = 75.0/4096.0; - prolongation[4](32,38) = 75.0/4096.0; - prolongation[4](32,39) = -25.0/4096.0; - prolongation[4](32,40) = 675.0/4096.0; - prolongation[4](32,41) = -225.0/4096.0; - prolongation[4](32,42) = 675.0/4096.0; - prolongation[4](32,43) = -225.0/4096.0; - prolongation[4](32,44) = 135.0/4096.0; - prolongation[4](32,45) = 135.0/4096.0; - prolongation[4](32,46) = -45.0/4096.0; - prolongation[4](32,47) = -45.0/4096.0; - prolongation[4](32,48) = 135.0/4096.0; - prolongation[4](32,49) = -45.0/4096.0; - prolongation[4](32,50) = 135.0/4096.0; - prolongation[4](32,51) = -45.0/4096.0; - prolongation[4](32,52) = 675.0/4096.0; - prolongation[4](32,53) = 675.0/4096.0; - prolongation[4](32,54) = -225.0/4096.0; - prolongation[4](32,55) = -225.0/4096.0; - prolongation[4](32,56) = 2025.0/4096.0; - prolongation[4](32,57) = -675.0/4096.0; - prolongation[4](32,58) = 2025.0/4096.0; - prolongation[4](32,59) = -675.0/4096.0; - prolongation[4](32,60) = -675.0/4096.0; - prolongation[4](32,61) = 225.0/4096.0; - prolongation[4](32,62) = -675.0/4096.0; - prolongation[4](32,63) = 225.0/4096.0; - prolongation[4](33,8) = -5.0/256.0; - prolongation[4](33,12) = -1.0/256.0; - prolongation[4](33,16) = -5.0/256.0; - prolongation[4](33,20) = -1.0/256.0; - prolongation[4](33,32) = -15.0/256.0; - prolongation[4](33,34) = 5.0/256.0; - prolongation[4](33,36) = -15.0/256.0; - prolongation[4](33,38) = 5.0/256.0; - prolongation[4](33,40) = 45.0/256.0; - prolongation[4](33,42) = 45.0/256.0; - prolongation[4](33,48) = 9.0/256.0; - prolongation[4](33,50) = 9.0/256.0; - prolongation[4](33,56) = 135.0/256.0; - prolongation[4](33,58) = 135.0/256.0; - prolongation[4](33,60) = -45.0/256.0; - prolongation[4](33,62) = -45.0/256.0; - prolongation[4](34,10) = -1.0/256.0; - prolongation[4](34,14) = -5.0/256.0; - prolongation[4](34,18) = -1.0/256.0; - prolongation[4](34,22) = -5.0/256.0; - prolongation[4](34,32) = -15.0/256.0; - prolongation[4](34,33) = 5.0/256.0; - prolongation[4](34,36) = -15.0/256.0; - prolongation[4](34,37) = 5.0/256.0; - prolongation[4](34,44) = 9.0/256.0; - prolongation[4](34,45) = 9.0/256.0; - prolongation[4](34,52) = 45.0/256.0; - prolongation[4](34,53) = 45.0/256.0; - prolongation[4](34,56) = 135.0/256.0; - prolongation[4](34,57) = -45.0/256.0; - prolongation[4](34,58) = 135.0/256.0; - prolongation[4](34,59) = -45.0/256.0; - prolongation[4](35,32) = -1.0/16.0; - prolongation[4](35,36) = -1.0/16.0; - prolongation[4](35,56) = 9.0/16.0; - prolongation[4](35,58) = 9.0/16.0; - prolongation[4](36,4) = 25.0/256.0; - prolongation[4](36,5) = 5.0/256.0; - prolongation[4](36,6) = 1.0/256.0; - prolongation[4](36,7) = 5.0/256.0; - prolongation[4](36,16) = 75.0/256.0; - prolongation[4](36,17) = -25.0/256.0; - prolongation[4](36,18) = 15.0/256.0; - prolongation[4](36,19) = -5.0/256.0; - prolongation[4](36,20) = 15.0/256.0; - prolongation[4](36,21) = -5.0/256.0; - prolongation[4](36,22) = 75.0/256.0; - prolongation[4](36,23) = -25.0/256.0; - prolongation[4](36,36) = 225.0/256.0; - prolongation[4](36,37) = -75.0/256.0; - prolongation[4](36,38) = -75.0/256.0; - prolongation[4](36,39) = 25.0/256.0; - prolongation[4](37,16) = 5.0/16.0; - prolongation[4](37,20) = 1.0/16.0; - prolongation[4](37,36) = 15.0/16.0; - prolongation[4](37,38) = -5.0/16.0; - prolongation[4](38,18) = 1.0/16.0; - prolongation[4](38,22) = 5.0/16.0; - prolongation[4](38,36) = 15.0/16.0; - prolongation[4](38,37) = -5.0/16.0; - prolongation[4](39,36) = 1.0; - prolongation[4](40,25) = 5.0/16.0; - prolongation[4](40,27) = 1.0/16.0; - prolongation[4](40,42) = 15.0/16.0; - prolongation[4](40,43) = -5.0/16.0; - prolongation[4](41,42) = 1.0; - prolongation[4](42,0) = 5.0/256.0; - prolongation[4](42,1) = 1.0/256.0; - prolongation[4](42,4) = 25.0/256.0; - prolongation[4](42,5) = 5.0/256.0; - prolongation[4](42,8) = 15.0/256.0; - prolongation[4](42,9) = -5.0/256.0; - prolongation[4](42,16) = 75.0/256.0; - prolongation[4](42,17) = -25.0/256.0; - prolongation[4](42,24) = -25.0/256.0; - prolongation[4](42,25) = 75.0/256.0; - prolongation[4](42,26) = -5.0/256.0; - prolongation[4](42,27) = 15.0/256.0; - prolongation[4](42,40) = -75.0/256.0; - prolongation[4](42,41) = 25.0/256.0; - prolongation[4](42,42) = 225.0/256.0; - prolongation[4](42,43) = -75.0/256.0; - prolongation[4](43,8) = 1.0/16.0; - prolongation[4](43,16) = 5.0/16.0; - prolongation[4](43,40) = -5.0/16.0; - prolongation[4](43,42) = 15.0/16.0; - prolongation[4](44,25) = -5.0/256.0; - prolongation[4](44,27) = -5.0/256.0; - prolongation[4](44,29) = -1.0/256.0; - prolongation[4](44,31) = -1.0/256.0; - prolongation[4](44,42) = 45.0/256.0; - prolongation[4](44,43) = 45.0/256.0; - prolongation[4](44,45) = -15.0/256.0; - prolongation[4](44,47) = 5.0/256.0; - prolongation[4](44,50) = 9.0/256.0; - prolongation[4](44,51) = 9.0/256.0; - prolongation[4](44,53) = -15.0/256.0; - prolongation[4](44,55) = 5.0/256.0; - prolongation[4](44,58) = 135.0/256.0; - prolongation[4](44,59) = 135.0/256.0; - prolongation[4](44,62) = -45.0/256.0; - prolongation[4](44,63) = -45.0/256.0; - prolongation[4](45,0) = -5.0/4096.0; - prolongation[4](45,1) = -5.0/4096.0; - prolongation[4](45,2) = -1.0/4096.0; - prolongation[4](45,3) = -1.0/4096.0; - prolongation[4](45,4) = -25.0/4096.0; - prolongation[4](45,5) = -25.0/4096.0; - prolongation[4](45,6) = -5.0/4096.0; - prolongation[4](45,7) = -5.0/4096.0; - prolongation[4](45,8) = 45.0/4096.0; - prolongation[4](45,9) = 45.0/4096.0; - prolongation[4](45,10) = -15.0/4096.0; - prolongation[4](45,11) = 5.0/4096.0; - prolongation[4](45,12) = 9.0/4096.0; - prolongation[4](45,13) = 9.0/4096.0; - prolongation[4](45,14) = -15.0/4096.0; - prolongation[4](45,15) = 5.0/4096.0; - prolongation[4](45,16) = 225.0/4096.0; - prolongation[4](45,17) = 225.0/4096.0; - prolongation[4](45,18) = -75.0/4096.0; - prolongation[4](45,19) = 25.0/4096.0; - prolongation[4](45,20) = 45.0/4096.0; - prolongation[4](45,21) = 45.0/4096.0; - prolongation[4](45,22) = -75.0/4096.0; - prolongation[4](45,23) = 25.0/4096.0; - prolongation[4](45,24) = 25.0/4096.0; - prolongation[4](45,25) = -75.0/4096.0; - prolongation[4](45,26) = 25.0/4096.0; - prolongation[4](45,27) = -75.0/4096.0; - prolongation[4](45,28) = 5.0/4096.0; - prolongation[4](45,29) = -15.0/4096.0; - prolongation[4](45,30) = 5.0/4096.0; - prolongation[4](45,31) = -15.0/4096.0; - prolongation[4](45,32) = 135.0/4096.0; - prolongation[4](45,33) = 135.0/4096.0; - prolongation[4](45,34) = -45.0/4096.0; - prolongation[4](45,35) = -45.0/4096.0; - prolongation[4](45,36) = 675.0/4096.0; - prolongation[4](45,37) = 675.0/4096.0; - prolongation[4](45,38) = -225.0/4096.0; - prolongation[4](45,39) = -225.0/4096.0; - prolongation[4](45,40) = -225.0/4096.0; - prolongation[4](45,41) = -225.0/4096.0; - prolongation[4](45,42) = 675.0/4096.0; - prolongation[4](45,43) = 675.0/4096.0; - prolongation[4](45,44) = 75.0/4096.0; - prolongation[4](45,45) = -225.0/4096.0; - prolongation[4](45,46) = -25.0/4096.0; - prolongation[4](45,47) = 75.0/4096.0; - prolongation[4](45,48) = -45.0/4096.0; - prolongation[4](45,49) = -45.0/4096.0; - prolongation[4](45,50) = 135.0/4096.0; - prolongation[4](45,51) = 135.0/4096.0; - prolongation[4](45,52) = 75.0/4096.0; - prolongation[4](45,53) = -225.0/4096.0; - prolongation[4](45,54) = -25.0/4096.0; - prolongation[4](45,55) = 75.0/4096.0; - prolongation[4](45,56) = -675.0/4096.0; - prolongation[4](45,57) = -675.0/4096.0; - prolongation[4](45,58) = 2025.0/4096.0; - prolongation[4](45,59) = 2025.0/4096.0; - prolongation[4](45,60) = 225.0/4096.0; - prolongation[4](45,61) = 225.0/4096.0; - prolongation[4](45,62) = -675.0/4096.0; - prolongation[4](45,63) = -675.0/4096.0; - prolongation[4](46,45) = -1.0/16.0; - prolongation[4](46,53) = -1.0/16.0; - prolongation[4](46,58) = 9.0/16.0; - prolongation[4](46,59) = 9.0/16.0; - prolongation[4](47,10) = -1.0/256.0; - prolongation[4](47,14) = -1.0/256.0; - prolongation[4](47,18) = -5.0/256.0; - prolongation[4](47,22) = -5.0/256.0; - prolongation[4](47,32) = 9.0/256.0; - prolongation[4](47,33) = 9.0/256.0; - prolongation[4](47,36) = 45.0/256.0; - prolongation[4](47,37) = 45.0/256.0; - prolongation[4](47,44) = 5.0/256.0; - prolongation[4](47,45) = -15.0/256.0; - prolongation[4](47,52) = 5.0/256.0; - prolongation[4](47,53) = -15.0/256.0; - prolongation[4](47,56) = -45.0/256.0; - prolongation[4](47,57) = -45.0/256.0; - prolongation[4](47,58) = 135.0/256.0; - prolongation[4](47,59) = 135.0/256.0; - prolongation[4](48,25) = -5.0/256.0; - prolongation[4](48,27) = -1.0/256.0; - prolongation[4](48,29) = -1.0/256.0; - prolongation[4](48,31) = -5.0/256.0; - prolongation[4](48,42) = -15.0/256.0; - prolongation[4](48,43) = 5.0/256.0; - prolongation[4](48,45) = 9.0/256.0; - prolongation[4](48,47) = 9.0/256.0; - prolongation[4](48,50) = -15.0/256.0; - prolongation[4](48,51) = 5.0/256.0; - prolongation[4](48,53) = 45.0/256.0; - prolongation[4](48,55) = 45.0/256.0; - prolongation[4](48,58) = 135.0/256.0; - prolongation[4](48,59) = -45.0/256.0; - prolongation[4](48,62) = 135.0/256.0; - prolongation[4](48,63) = -45.0/256.0; - prolongation[4](49,42) = -1.0/16.0; - prolongation[4](49,50) = -1.0/16.0; - prolongation[4](49,58) = 9.0/16.0; - prolongation[4](49,62) = 9.0/16.0; - prolongation[4](50,0) = -5.0/4096.0; - prolongation[4](50,1) = -1.0/4096.0; - prolongation[4](50,2) = -1.0/4096.0; - prolongation[4](50,3) = -5.0/4096.0; - prolongation[4](50,4) = -25.0/4096.0; - prolongation[4](50,5) = -5.0/4096.0; - prolongation[4](50,6) = -5.0/4096.0; - prolongation[4](50,7) = -25.0/4096.0; - prolongation[4](50,8) = -15.0/4096.0; - prolongation[4](50,9) = 5.0/4096.0; - prolongation[4](50,10) = 9.0/4096.0; - prolongation[4](50,11) = 9.0/4096.0; - prolongation[4](50,12) = -15.0/4096.0; - prolongation[4](50,13) = 5.0/4096.0; - prolongation[4](50,14) = 45.0/4096.0; - prolongation[4](50,15) = 45.0/4096.0; - prolongation[4](50,16) = -75.0/4096.0; - prolongation[4](50,17) = 25.0/4096.0; - prolongation[4](50,18) = 45.0/4096.0; - prolongation[4](50,19) = 45.0/4096.0; - prolongation[4](50,20) = -75.0/4096.0; - prolongation[4](50,21) = 25.0/4096.0; - prolongation[4](50,22) = 225.0/4096.0; - prolongation[4](50,23) = 225.0/4096.0; - prolongation[4](50,24) = 25.0/4096.0; - prolongation[4](50,25) = -75.0/4096.0; - prolongation[4](50,26) = 5.0/4096.0; - prolongation[4](50,27) = -15.0/4096.0; - prolongation[4](50,28) = 5.0/4096.0; - prolongation[4](50,29) = -15.0/4096.0; - prolongation[4](50,30) = 25.0/4096.0; - prolongation[4](50,31) = -75.0/4096.0; - prolongation[4](50,32) = 135.0/4096.0; - prolongation[4](50,33) = -45.0/4096.0; - prolongation[4](50,34) = 135.0/4096.0; - prolongation[4](50,35) = -45.0/4096.0; - prolongation[4](50,36) = 675.0/4096.0; - prolongation[4](50,37) = -225.0/4096.0; - prolongation[4](50,38) = 675.0/4096.0; - prolongation[4](50,39) = -225.0/4096.0; - prolongation[4](50,40) = 75.0/4096.0; - prolongation[4](50,41) = -25.0/4096.0; - prolongation[4](50,42) = -225.0/4096.0; - prolongation[4](50,43) = 75.0/4096.0; - prolongation[4](50,44) = -45.0/4096.0; - prolongation[4](50,45) = 135.0/4096.0; - prolongation[4](50,46) = -45.0/4096.0; - prolongation[4](50,47) = 135.0/4096.0; - prolongation[4](50,48) = 75.0/4096.0; - prolongation[4](50,49) = -25.0/4096.0; - prolongation[4](50,50) = -225.0/4096.0; - prolongation[4](50,51) = 75.0/4096.0; - prolongation[4](50,52) = -225.0/4096.0; - prolongation[4](50,53) = 675.0/4096.0; - prolongation[4](50,54) = -225.0/4096.0; - prolongation[4](50,55) = 675.0/4096.0; - prolongation[4](50,56) = -675.0/4096.0; - prolongation[4](50,57) = 225.0/4096.0; - prolongation[4](50,58) = 2025.0/4096.0; - prolongation[4](50,59) = -675.0/4096.0; - prolongation[4](50,60) = -675.0/4096.0; - prolongation[4](50,61) = 225.0/4096.0; - prolongation[4](50,62) = 2025.0/4096.0; - prolongation[4](50,63) = -675.0/4096.0; - prolongation[4](51,8) = -1.0/256.0; - prolongation[4](51,12) = -1.0/256.0; - prolongation[4](51,16) = -5.0/256.0; - prolongation[4](51,20) = -5.0/256.0; - prolongation[4](51,32) = 9.0/256.0; - prolongation[4](51,34) = 9.0/256.0; - prolongation[4](51,36) = 45.0/256.0; - prolongation[4](51,38) = 45.0/256.0; - prolongation[4](51,40) = 5.0/256.0; - prolongation[4](51,42) = -15.0/256.0; - prolongation[4](51,48) = 5.0/256.0; - prolongation[4](51,50) = -15.0/256.0; - prolongation[4](51,56) = -45.0/256.0; - prolongation[4](51,58) = 135.0/256.0; - prolongation[4](51,60) = -45.0/256.0; - prolongation[4](51,62) = 135.0/256.0; - prolongation[4](52,25) = 5.0/16.0; - prolongation[4](52,31) = 1.0/16.0; - prolongation[4](52,53) = 15.0/16.0; - prolongation[4](52,55) = -5.0/16.0; - prolongation[4](53,0) = 5.0/256.0; - prolongation[4](53,3) = 1.0/256.0; - prolongation[4](53,4) = 25.0/256.0; - prolongation[4](53,7) = 5.0/256.0; - prolongation[4](53,14) = 15.0/256.0; - prolongation[4](53,15) = -5.0/256.0; - prolongation[4](53,22) = 75.0/256.0; - prolongation[4](53,23) = -25.0/256.0; - prolongation[4](53,24) = -25.0/256.0; - prolongation[4](53,25) = 75.0/256.0; - prolongation[4](53,30) = -5.0/256.0; - prolongation[4](53,31) = 15.0/256.0; - prolongation[4](53,52) = -75.0/256.0; - prolongation[4](53,53) = 225.0/256.0; - prolongation[4](53,54) = 25.0/256.0; - prolongation[4](53,55) = -75.0/256.0; - prolongation[4](54,53) = 1.0; - prolongation[4](55,14) = 1.0/16.0; - prolongation[4](55,22) = 5.0/16.0; - prolongation[4](55,52) = -5.0/16.0; - prolongation[4](55,53) = 15.0/16.0; - prolongation[4](56,25) = 25.0/256.0; - prolongation[4](56,27) = 5.0/256.0; - prolongation[4](56,29) = 1.0/256.0; - prolongation[4](56,31) = 5.0/256.0; - prolongation[4](56,42) = 75.0/256.0; - prolongation[4](56,43) = -25.0/256.0; - prolongation[4](56,45) = 15.0/256.0; - prolongation[4](56,47) = -5.0/256.0; - prolongation[4](56,50) = 15.0/256.0; - prolongation[4](56,51) = -5.0/256.0; - prolongation[4](56,53) = 75.0/256.0; - prolongation[4](56,55) = -25.0/256.0; - prolongation[4](56,58) = 225.0/256.0; - prolongation[4](56,59) = -75.0/256.0; - prolongation[4](56,62) = -75.0/256.0; - prolongation[4](56,63) = 25.0/256.0; - prolongation[4](57,42) = 5.0/16.0; - prolongation[4](57,50) = 1.0/16.0; - prolongation[4](57,58) = 15.0/16.0; - prolongation[4](57,62) = -5.0/16.0; - prolongation[4](58,0) = 25.0/4096.0; - prolongation[4](58,1) = 5.0/4096.0; - prolongation[4](58,2) = 1.0/4096.0; - prolongation[4](58,3) = 5.0/4096.0; - prolongation[4](58,4) = 125.0/4096.0; - prolongation[4](58,5) = 25.0/4096.0; - prolongation[4](58,6) = 5.0/4096.0; - prolongation[4](58,7) = 25.0/4096.0; - prolongation[4](58,8) = 75.0/4096.0; - prolongation[4](58,9) = -25.0/4096.0; - prolongation[4](58,10) = 15.0/4096.0; - prolongation[4](58,11) = -5.0/4096.0; - prolongation[4](58,12) = 15.0/4096.0; - prolongation[4](58,13) = -5.0/4096.0; - prolongation[4](58,14) = 75.0/4096.0; - prolongation[4](58,15) = -25.0/4096.0; - prolongation[4](58,16) = 375.0/4096.0; - prolongation[4](58,17) = -125.0/4096.0; - prolongation[4](58,18) = 75.0/4096.0; - prolongation[4](58,19) = -25.0/4096.0; - prolongation[4](58,20) = 75.0/4096.0; - prolongation[4](58,21) = -25.0/4096.0; - prolongation[4](58,22) = 375.0/4096.0; - prolongation[4](58,23) = -125.0/4096.0; - prolongation[4](58,24) = -125.0/4096.0; - prolongation[4](58,25) = 375.0/4096.0; - prolongation[4](58,26) = -25.0/4096.0; - prolongation[4](58,27) = 75.0/4096.0; - prolongation[4](58,28) = -5.0/4096.0; - prolongation[4](58,29) = 15.0/4096.0; - prolongation[4](58,30) = -25.0/4096.0; - prolongation[4](58,31) = 75.0/4096.0; - prolongation[4](58,32) = 225.0/4096.0; - prolongation[4](58,33) = -75.0/4096.0; - prolongation[4](58,34) = -75.0/4096.0; - prolongation[4](58,35) = 25.0/4096.0; - prolongation[4](58,36) = 1125.0/4096.0; - prolongation[4](58,37) = -375.0/4096.0; - prolongation[4](58,38) = -375.0/4096.0; - prolongation[4](58,39) = 125.0/4096.0; - prolongation[4](58,40) = -375.0/4096.0; - prolongation[4](58,41) = 125.0/4096.0; - prolongation[4](58,42) = 1125.0/4096.0; - prolongation[4](58,43) = -375.0/4096.0; - prolongation[4](58,44) = -75.0/4096.0; - prolongation[4](58,45) = 225.0/4096.0; - prolongation[4](58,46) = 25.0/4096.0; - prolongation[4](58,47) = -75.0/4096.0; - prolongation[4](58,48) = -75.0/4096.0; - prolongation[4](58,49) = 25.0/4096.0; - prolongation[4](58,50) = 225.0/4096.0; - prolongation[4](58,51) = -75.0/4096.0; - prolongation[4](58,52) = -375.0/4096.0; - prolongation[4](58,53) = 1125.0/4096.0; - prolongation[4](58,54) = 125.0/4096.0; - prolongation[4](58,55) = -375.0/4096.0; - prolongation[4](58,56) = -1125.0/4096.0; - prolongation[4](58,57) = 375.0/4096.0; - prolongation[4](58,58) = 3375.0/4096.0; - prolongation[4](58,59) = -1125.0/4096.0; - prolongation[4](58,60) = 375.0/4096.0; - prolongation[4](58,61) = -125.0/4096.0; - prolongation[4](58,62) = -1125.0/4096.0; - prolongation[4](58,63) = 375.0/4096.0; - prolongation[4](59,8) = 5.0/256.0; - prolongation[4](59,12) = 1.0/256.0; - prolongation[4](59,16) = 25.0/256.0; - prolongation[4](59,20) = 5.0/256.0; - prolongation[4](59,32) = 15.0/256.0; - prolongation[4](59,34) = -5.0/256.0; - prolongation[4](59,36) = 75.0/256.0; - prolongation[4](59,38) = -25.0/256.0; - prolongation[4](59,40) = -25.0/256.0; - prolongation[4](59,42) = 75.0/256.0; - prolongation[4](59,48) = -5.0/256.0; - prolongation[4](59,50) = 15.0/256.0; - prolongation[4](59,56) = -75.0/256.0; - prolongation[4](59,58) = 225.0/256.0; - prolongation[4](59,60) = 25.0/256.0; - prolongation[4](59,62) = -75.0/256.0; - prolongation[4](60,45) = 1.0/16.0; - prolongation[4](60,53) = 5.0/16.0; - prolongation[4](60,58) = 15.0/16.0; - prolongation[4](60,59) = -5.0/16.0; - prolongation[4](61,58) = 1.0; - prolongation[4](62,10) = 1.0/256.0; - prolongation[4](62,14) = 5.0/256.0; - prolongation[4](62,18) = 5.0/256.0; - prolongation[4](62,22) = 25.0/256.0; - prolongation[4](62,32) = 15.0/256.0; - prolongation[4](62,33) = -5.0/256.0; - prolongation[4](62,36) = 75.0/256.0; - prolongation[4](62,37) = -25.0/256.0; - prolongation[4](62,44) = -5.0/256.0; - prolongation[4](62,45) = 15.0/256.0; - prolongation[4](62,52) = -25.0/256.0; - prolongation[4](62,53) = 75.0/256.0; - prolongation[4](62,56) = -75.0/256.0; - prolongation[4](62,57) = 25.0/256.0; - prolongation[4](62,58) = 225.0/256.0; - prolongation[4](62,59) = -75.0/256.0; - prolongation[4](63,32) = 1.0/16.0; - prolongation[4](63,36) = 5.0/16.0; - prolongation[4](63,56) = -5.0/16.0; - prolongation[4](63,58) = 15.0/16.0; - prolongation[5](0,0) = 1.0/256.0; - prolongation[5](0,1) = 1.0/256.0; - prolongation[5](0,4) = 1.0/256.0; - prolongation[5](0,5) = 1.0/256.0; - prolongation[5](0,8) = -9.0/256.0; - prolongation[5](0,9) = -9.0/256.0; - prolongation[5](0,16) = -9.0/256.0; - prolongation[5](0,17) = -9.0/256.0; - prolongation[5](0,24) = -9.0/256.0; - prolongation[5](0,25) = -9.0/256.0; - prolongation[5](0,26) = -9.0/256.0; - prolongation[5](0,27) = -9.0/256.0; - prolongation[5](0,40) = 81.0/256.0; - prolongation[5](0,41) = 81.0/256.0; - prolongation[5](0,42) = 81.0/256.0; - prolongation[5](0,43) = 81.0/256.0; - prolongation[5](1,1) = -1.0/16.0; - prolongation[5](1,5) = -1.0/16.0; - prolongation[5](1,26) = 9.0/16.0; - prolongation[5](1,27) = 9.0/16.0; - prolongation[5](2,1) = 1.0/256.0; - prolongation[5](2,2) = 1.0/256.0; - prolongation[5](2,5) = 1.0/256.0; - prolongation[5](2,6) = 1.0/256.0; - prolongation[5](2,10) = -9.0/256.0; - prolongation[5](2,11) = -9.0/256.0; - prolongation[5](2,18) = -9.0/256.0; - prolongation[5](2,19) = -9.0/256.0; - prolongation[5](2,26) = -9.0/256.0; - prolongation[5](2,27) = -9.0/256.0; - prolongation[5](2,28) = -9.0/256.0; - prolongation[5](2,29) = -9.0/256.0; - prolongation[5](2,44) = 81.0/256.0; - prolongation[5](2,45) = 81.0/256.0; - prolongation[5](2,46) = 81.0/256.0; - prolongation[5](2,47) = 81.0/256.0; - prolongation[5](3,0) = -1.0/4096.0; - prolongation[5](3,1) = -1.0/4096.0; - prolongation[5](3,2) = -1.0/4096.0; - prolongation[5](3,3) = -1.0/4096.0; - prolongation[5](3,4) = -1.0/4096.0; - prolongation[5](3,5) = -1.0/4096.0; - prolongation[5](3,6) = -1.0/4096.0; - prolongation[5](3,7) = -1.0/4096.0; - prolongation[5](3,8) = 9.0/4096.0; - prolongation[5](3,9) = 9.0/4096.0; - prolongation[5](3,10) = 9.0/4096.0; - prolongation[5](3,11) = 9.0/4096.0; - prolongation[5](3,12) = 9.0/4096.0; - prolongation[5](3,13) = 9.0/4096.0; - prolongation[5](3,14) = 9.0/4096.0; - prolongation[5](3,15) = 9.0/4096.0; - prolongation[5](3,16) = 9.0/4096.0; - prolongation[5](3,17) = 9.0/4096.0; - prolongation[5](3,18) = 9.0/4096.0; - prolongation[5](3,19) = 9.0/4096.0; - prolongation[5](3,20) = 9.0/4096.0; - prolongation[5](3,21) = 9.0/4096.0; - prolongation[5](3,22) = 9.0/4096.0; - prolongation[5](3,23) = 9.0/4096.0; - prolongation[5](3,24) = 9.0/4096.0; - prolongation[5](3,25) = 9.0/4096.0; - prolongation[5](3,26) = 9.0/4096.0; - prolongation[5](3,27) = 9.0/4096.0; - prolongation[5](3,28) = 9.0/4096.0; - prolongation[5](3,29) = 9.0/4096.0; - prolongation[5](3,30) = 9.0/4096.0; - prolongation[5](3,31) = 9.0/4096.0; - prolongation[5](3,32) = -81.0/4096.0; - prolongation[5](3,33) = -81.0/4096.0; - prolongation[5](3,34) = -81.0/4096.0; - prolongation[5](3,35) = -81.0/4096.0; - prolongation[5](3,36) = -81.0/4096.0; - prolongation[5](3,37) = -81.0/4096.0; - prolongation[5](3,38) = -81.0/4096.0; - prolongation[5](3,39) = -81.0/4096.0; - prolongation[5](3,40) = -81.0/4096.0; - prolongation[5](3,41) = -81.0/4096.0; - prolongation[5](3,42) = -81.0/4096.0; - prolongation[5](3,43) = -81.0/4096.0; - prolongation[5](3,44) = -81.0/4096.0; - prolongation[5](3,45) = -81.0/4096.0; - prolongation[5](3,46) = -81.0/4096.0; - prolongation[5](3,47) = -81.0/4096.0; - prolongation[5](3,48) = -81.0/4096.0; - prolongation[5](3,49) = -81.0/4096.0; - prolongation[5](3,50) = -81.0/4096.0; - prolongation[5](3,51) = -81.0/4096.0; - prolongation[5](3,52) = -81.0/4096.0; - prolongation[5](3,53) = -81.0/4096.0; - prolongation[5](3,54) = -81.0/4096.0; - prolongation[5](3,55) = -81.0/4096.0; - prolongation[5](3,56) = 729.0/4096.0; - prolongation[5](3,57) = 729.0/4096.0; - prolongation[5](3,58) = 729.0/4096.0; - prolongation[5](3,59) = 729.0/4096.0; - prolongation[5](3,60) = 729.0/4096.0; - prolongation[5](3,61) = 729.0/4096.0; - prolongation[5](3,62) = 729.0/4096.0; - prolongation[5](3,63) = 729.0/4096.0; - prolongation[5](4,4) = -1.0/16.0; - prolongation[5](4,5) = -1.0/16.0; - prolongation[5](4,16) = 9.0/16.0; - prolongation[5](4,17) = 9.0/16.0; - prolongation[5](5,5) = 1.0; - prolongation[5](6,5) = -1.0/16.0; - prolongation[5](6,6) = -1.0/16.0; - prolongation[5](6,18) = 9.0/16.0; - prolongation[5](6,19) = 9.0/16.0; - prolongation[5](7,4) = 1.0/256.0; - prolongation[5](7,5) = 1.0/256.0; - prolongation[5](7,6) = 1.0/256.0; - prolongation[5](7,7) = 1.0/256.0; - prolongation[5](7,16) = -9.0/256.0; - prolongation[5](7,17) = -9.0/256.0; - prolongation[5](7,18) = -9.0/256.0; - prolongation[5](7,19) = -9.0/256.0; - prolongation[5](7,20) = -9.0/256.0; - prolongation[5](7,21) = -9.0/256.0; - prolongation[5](7,22) = -9.0/256.0; - prolongation[5](7,23) = -9.0/256.0; - prolongation[5](7,36) = 81.0/256.0; - prolongation[5](7,37) = 81.0/256.0; - prolongation[5](7,38) = 81.0/256.0; - prolongation[5](7,39) = 81.0/256.0; - prolongation[5](8,9) = -1.0/16.0; - prolongation[5](8,17) = -1.0/16.0; - prolongation[5](8,41) = 9.0/16.0; - prolongation[5](8,43) = 9.0/16.0; - prolongation[5](9,0) = -1.0/256.0; - prolongation[5](9,1) = -5.0/256.0; - prolongation[5](9,4) = -1.0/256.0; - prolongation[5](9,5) = -5.0/256.0; - prolongation[5](9,8) = 5.0/256.0; - prolongation[5](9,9) = -15.0/256.0; - prolongation[5](9,16) = 5.0/256.0; - prolongation[5](9,17) = -15.0/256.0; - prolongation[5](9,24) = 9.0/256.0; - prolongation[5](9,25) = 9.0/256.0; - prolongation[5](9,26) = 45.0/256.0; - prolongation[5](9,27) = 45.0/256.0; - prolongation[5](9,40) = -45.0/256.0; - prolongation[5](9,41) = 135.0/256.0; - prolongation[5](9,42) = -45.0/256.0; - prolongation[5](9,43) = 135.0/256.0; - prolongation[5](10,1) = -5.0/256.0; - prolongation[5](10,2) = -1.0/256.0; - prolongation[5](10,5) = -5.0/256.0; - prolongation[5](10,6) = -1.0/256.0; - prolongation[5](10,10) = -15.0/256.0; - prolongation[5](10,11) = 5.0/256.0; - prolongation[5](10,18) = -15.0/256.0; - prolongation[5](10,19) = 5.0/256.0; - prolongation[5](10,26) = 45.0/256.0; - prolongation[5](10,27) = 45.0/256.0; - prolongation[5](10,28) = 9.0/256.0; - prolongation[5](10,29) = 9.0/256.0; - prolongation[5](10,44) = 135.0/256.0; - prolongation[5](10,45) = 135.0/256.0; - prolongation[5](10,46) = -45.0/256.0; - prolongation[5](10,47) = -45.0/256.0; - prolongation[5](11,10) = -1.0/16.0; - prolongation[5](11,18) = -1.0/16.0; - prolongation[5](11,44) = 9.0/16.0; - prolongation[5](11,45) = 9.0/16.0; - prolongation[5](12,9) = 1.0/256.0; - prolongation[5](12,13) = 1.0/256.0; - prolongation[5](12,17) = 1.0/256.0; - prolongation[5](12,21) = 1.0/256.0; - prolongation[5](12,33) = -9.0/256.0; - prolongation[5](12,35) = -9.0/256.0; - prolongation[5](12,37) = -9.0/256.0; - prolongation[5](12,39) = -9.0/256.0; - prolongation[5](12,41) = -9.0/256.0; - prolongation[5](12,43) = -9.0/256.0; - prolongation[5](12,49) = -9.0/256.0; - prolongation[5](12,51) = -9.0/256.0; - prolongation[5](12,57) = 81.0/256.0; - prolongation[5](12,59) = 81.0/256.0; - prolongation[5](12,61) = 81.0/256.0; - prolongation[5](12,63) = 81.0/256.0; - prolongation[5](13,0) = 1.0/4096.0; - prolongation[5](13,1) = 5.0/4096.0; - prolongation[5](13,2) = 5.0/4096.0; - prolongation[5](13,3) = 1.0/4096.0; - prolongation[5](13,4) = 1.0/4096.0; - prolongation[5](13,5) = 5.0/4096.0; - prolongation[5](13,6) = 5.0/4096.0; - prolongation[5](13,7) = 1.0/4096.0; - prolongation[5](13,8) = -5.0/4096.0; - prolongation[5](13,9) = 15.0/4096.0; - prolongation[5](13,10) = -45.0/4096.0; - prolongation[5](13,11) = -45.0/4096.0; - prolongation[5](13,12) = -5.0/4096.0; - prolongation[5](13,13) = 15.0/4096.0; - prolongation[5](13,14) = -9.0/4096.0; - prolongation[5](13,15) = -9.0/4096.0; - prolongation[5](13,16) = -5.0/4096.0; - prolongation[5](13,17) = 15.0/4096.0; - prolongation[5](13,18) = -45.0/4096.0; - prolongation[5](13,19) = -45.0/4096.0; - prolongation[5](13,20) = -5.0/4096.0; - prolongation[5](13,21) = 15.0/4096.0; - prolongation[5](13,22) = -9.0/4096.0; - prolongation[5](13,23) = -9.0/4096.0; - prolongation[5](13,24) = -9.0/4096.0; - prolongation[5](13,25) = -9.0/4096.0; - prolongation[5](13,26) = -45.0/4096.0; - prolongation[5](13,27) = -45.0/4096.0; - prolongation[5](13,28) = -45.0/4096.0; - prolongation[5](13,29) = -45.0/4096.0; - prolongation[5](13,30) = -9.0/4096.0; - prolongation[5](13,31) = -9.0/4096.0; - prolongation[5](13,32) = 45.0/4096.0; - prolongation[5](13,33) = -135.0/4096.0; - prolongation[5](13,34) = 45.0/4096.0; - prolongation[5](13,35) = -135.0/4096.0; - prolongation[5](13,36) = 45.0/4096.0; - prolongation[5](13,37) = -135.0/4096.0; - prolongation[5](13,38) = 45.0/4096.0; - prolongation[5](13,39) = -135.0/4096.0; - prolongation[5](13,40) = 45.0/4096.0; - prolongation[5](13,41) = -135.0/4096.0; - prolongation[5](13,42) = 45.0/4096.0; - prolongation[5](13,43) = -135.0/4096.0; - prolongation[5](13,44) = 405.0/4096.0; - prolongation[5](13,45) = 405.0/4096.0; - prolongation[5](13,46) = 405.0/4096.0; - prolongation[5](13,47) = 405.0/4096.0; - prolongation[5](13,48) = 45.0/4096.0; - prolongation[5](13,49) = -135.0/4096.0; - prolongation[5](13,50) = 45.0/4096.0; - prolongation[5](13,51) = -135.0/4096.0; - prolongation[5](13,52) = 81.0/4096.0; - prolongation[5](13,53) = 81.0/4096.0; - prolongation[5](13,54) = 81.0/4096.0; - prolongation[5](13,55) = 81.0/4096.0; - prolongation[5](13,56) = -405.0/4096.0; - prolongation[5](13,57) = 1215.0/4096.0; - prolongation[5](13,58) = -405.0/4096.0; - prolongation[5](13,59) = 1215.0/4096.0; - prolongation[5](13,60) = -405.0/4096.0; - prolongation[5](13,61) = 1215.0/4096.0; - prolongation[5](13,62) = -405.0/4096.0; - prolongation[5](13,63) = 1215.0/4096.0; - prolongation[5](14,0) = 5.0/4096.0; - prolongation[5](14,1) = 5.0/4096.0; - prolongation[5](14,2) = 1.0/4096.0; - prolongation[5](14,3) = 1.0/4096.0; - prolongation[5](14,4) = 5.0/4096.0; - prolongation[5](14,5) = 5.0/4096.0; - prolongation[5](14,6) = 1.0/4096.0; - prolongation[5](14,7) = 1.0/4096.0; - prolongation[5](14,8) = -45.0/4096.0; - prolongation[5](14,9) = -45.0/4096.0; - prolongation[5](14,10) = 15.0/4096.0; - prolongation[5](14,11) = -5.0/4096.0; - prolongation[5](14,12) = -9.0/4096.0; - prolongation[5](14,13) = -9.0/4096.0; - prolongation[5](14,14) = 15.0/4096.0; - prolongation[5](14,15) = -5.0/4096.0; - prolongation[5](14,16) = -45.0/4096.0; - prolongation[5](14,17) = -45.0/4096.0; - prolongation[5](14,18) = 15.0/4096.0; - prolongation[5](14,19) = -5.0/4096.0; - prolongation[5](14,20) = -9.0/4096.0; - prolongation[5](14,21) = -9.0/4096.0; - prolongation[5](14,22) = 15.0/4096.0; - prolongation[5](14,23) = -5.0/4096.0; - prolongation[5](14,24) = -45.0/4096.0; - prolongation[5](14,25) = -45.0/4096.0; - prolongation[5](14,26) = -45.0/4096.0; - prolongation[5](14,27) = -45.0/4096.0; - prolongation[5](14,28) = -9.0/4096.0; - prolongation[5](14,29) = -9.0/4096.0; - prolongation[5](14,30) = -9.0/4096.0; - prolongation[5](14,31) = -9.0/4096.0; - prolongation[5](14,32) = -135.0/4096.0; - prolongation[5](14,33) = -135.0/4096.0; - prolongation[5](14,34) = 45.0/4096.0; - prolongation[5](14,35) = 45.0/4096.0; - prolongation[5](14,36) = -135.0/4096.0; - prolongation[5](14,37) = -135.0/4096.0; - prolongation[5](14,38) = 45.0/4096.0; - prolongation[5](14,39) = 45.0/4096.0; - prolongation[5](14,40) = 405.0/4096.0; - prolongation[5](14,41) = 405.0/4096.0; - prolongation[5](14,42) = 405.0/4096.0; - prolongation[5](14,43) = 405.0/4096.0; - prolongation[5](14,44) = -135.0/4096.0; - prolongation[5](14,45) = -135.0/4096.0; - prolongation[5](14,46) = 45.0/4096.0; - prolongation[5](14,47) = 45.0/4096.0; - prolongation[5](14,48) = 81.0/4096.0; - prolongation[5](14,49) = 81.0/4096.0; - prolongation[5](14,50) = 81.0/4096.0; - prolongation[5](14,51) = 81.0/4096.0; - prolongation[5](14,52) = -135.0/4096.0; - prolongation[5](14,53) = -135.0/4096.0; - prolongation[5](14,54) = 45.0/4096.0; - prolongation[5](14,55) = 45.0/4096.0; - prolongation[5](14,56) = 1215.0/4096.0; - prolongation[5](14,57) = 1215.0/4096.0; - prolongation[5](14,58) = 1215.0/4096.0; - prolongation[5](14,59) = 1215.0/4096.0; - prolongation[5](14,60) = -405.0/4096.0; - prolongation[5](14,61) = -405.0/4096.0; - prolongation[5](14,62) = -405.0/4096.0; - prolongation[5](14,63) = -405.0/4096.0; - prolongation[5](15,10) = 1.0/256.0; - prolongation[5](15,14) = 1.0/256.0; - prolongation[5](15,18) = 1.0/256.0; - prolongation[5](15,22) = 1.0/256.0; - prolongation[5](15,32) = -9.0/256.0; - prolongation[5](15,33) = -9.0/256.0; - prolongation[5](15,36) = -9.0/256.0; - prolongation[5](15,37) = -9.0/256.0; - prolongation[5](15,44) = -9.0/256.0; - prolongation[5](15,45) = -9.0/256.0; - prolongation[5](15,52) = -9.0/256.0; - prolongation[5](15,53) = -9.0/256.0; - prolongation[5](15,56) = 81.0/256.0; - prolongation[5](15,57) = 81.0/256.0; - prolongation[5](15,58) = 81.0/256.0; - prolongation[5](15,59) = 81.0/256.0; - prolongation[5](16,17) = 1.0; - prolongation[5](17,4) = 1.0/16.0; - prolongation[5](17,5) = 5.0/16.0; - prolongation[5](17,16) = -5.0/16.0; - prolongation[5](17,17) = 15.0/16.0; - prolongation[5](18,5) = 5.0/16.0; - prolongation[5](18,6) = 1.0/16.0; - prolongation[5](18,18) = 15.0/16.0; - prolongation[5](18,19) = -5.0/16.0; - prolongation[5](19,18) = 1.0; - prolongation[5](20,17) = -1.0/16.0; - prolongation[5](20,21) = -1.0/16.0; - prolongation[5](20,37) = 9.0/16.0; - prolongation[5](20,39) = 9.0/16.0; - prolongation[5](21,4) = -1.0/256.0; - prolongation[5](21,5) = -5.0/256.0; - prolongation[5](21,6) = -5.0/256.0; - prolongation[5](21,7) = -1.0/256.0; - prolongation[5](21,16) = 5.0/256.0; - prolongation[5](21,17) = -15.0/256.0; - prolongation[5](21,18) = 45.0/256.0; - prolongation[5](21,19) = 45.0/256.0; - prolongation[5](21,20) = 5.0/256.0; - prolongation[5](21,21) = -15.0/256.0; - prolongation[5](21,22) = 9.0/256.0; - prolongation[5](21,23) = 9.0/256.0; - prolongation[5](21,36) = -45.0/256.0; - prolongation[5](21,37) = 135.0/256.0; - prolongation[5](21,38) = -45.0/256.0; - prolongation[5](21,39) = 135.0/256.0; - prolongation[5](22,4) = -5.0/256.0; - prolongation[5](22,5) = -5.0/256.0; - prolongation[5](22,6) = -1.0/256.0; - prolongation[5](22,7) = -1.0/256.0; - prolongation[5](22,16) = 45.0/256.0; - prolongation[5](22,17) = 45.0/256.0; - prolongation[5](22,18) = -15.0/256.0; - prolongation[5](22,19) = 5.0/256.0; - prolongation[5](22,20) = 9.0/256.0; - prolongation[5](22,21) = 9.0/256.0; - prolongation[5](22,22) = -15.0/256.0; - prolongation[5](22,23) = 5.0/256.0; - prolongation[5](22,36) = 135.0/256.0; - prolongation[5](22,37) = 135.0/256.0; - prolongation[5](22,38) = -45.0/256.0; - prolongation[5](22,39) = -45.0/256.0; - prolongation[5](23,18) = -1.0/16.0; - prolongation[5](23,22) = -1.0/16.0; - prolongation[5](23,36) = 9.0/16.0; - prolongation[5](23,37) = 9.0/16.0; - prolongation[5](24,25) = -1.0/16.0; - prolongation[5](24,27) = -1.0/16.0; - prolongation[5](24,42) = 9.0/16.0; - prolongation[5](24,43) = 9.0/16.0; - prolongation[5](25,0) = -1.0/256.0; - prolongation[5](25,1) = -1.0/256.0; - prolongation[5](25,4) = -5.0/256.0; - prolongation[5](25,5) = -5.0/256.0; - prolongation[5](25,8) = 9.0/256.0; - prolongation[5](25,9) = 9.0/256.0; - prolongation[5](25,16) = 45.0/256.0; - prolongation[5](25,17) = 45.0/256.0; - prolongation[5](25,24) = 5.0/256.0; - prolongation[5](25,25) = -15.0/256.0; - prolongation[5](25,26) = 5.0/256.0; - prolongation[5](25,27) = -15.0/256.0; - prolongation[5](25,40) = -45.0/256.0; - prolongation[5](25,41) = -45.0/256.0; - prolongation[5](25,42) = 135.0/256.0; - prolongation[5](25,43) = 135.0/256.0; - prolongation[5](26,27) = 1.0; - prolongation[5](27,1) = 1.0/16.0; - prolongation[5](27,5) = 5.0/16.0; - prolongation[5](27,26) = -5.0/16.0; - prolongation[5](27,27) = 15.0/16.0; - prolongation[5](28,27) = -1.0/16.0; - prolongation[5](28,29) = -1.0/16.0; - prolongation[5](28,45) = 9.0/16.0; - prolongation[5](28,47) = 9.0/16.0; - prolongation[5](29,1) = -1.0/256.0; - prolongation[5](29,2) = -1.0/256.0; - prolongation[5](29,5) = -5.0/256.0; - prolongation[5](29,6) = -5.0/256.0; - prolongation[5](29,10) = 9.0/256.0; - prolongation[5](29,11) = 9.0/256.0; - prolongation[5](29,18) = 45.0/256.0; - prolongation[5](29,19) = 45.0/256.0; - prolongation[5](29,26) = 5.0/256.0; - prolongation[5](29,27) = -15.0/256.0; - prolongation[5](29,28) = 5.0/256.0; - prolongation[5](29,29) = -15.0/256.0; - prolongation[5](29,44) = -45.0/256.0; - prolongation[5](29,45) = 135.0/256.0; - prolongation[5](29,46) = -45.0/256.0; - prolongation[5](29,47) = 135.0/256.0; - prolongation[5](30,25) = 1.0/256.0; - prolongation[5](30,27) = 1.0/256.0; - prolongation[5](30,29) = 1.0/256.0; - prolongation[5](30,31) = 1.0/256.0; - prolongation[5](30,42) = -9.0/256.0; - prolongation[5](30,43) = -9.0/256.0; - prolongation[5](30,45) = -9.0/256.0; - prolongation[5](30,47) = -9.0/256.0; - prolongation[5](30,50) = -9.0/256.0; - prolongation[5](30,51) = -9.0/256.0; - prolongation[5](30,53) = -9.0/256.0; - prolongation[5](30,55) = -9.0/256.0; - prolongation[5](30,58) = 81.0/256.0; - prolongation[5](30,59) = 81.0/256.0; - prolongation[5](30,62) = 81.0/256.0; - prolongation[5](30,63) = 81.0/256.0; - prolongation[5](31,0) = 1.0/4096.0; - prolongation[5](31,1) = 1.0/4096.0; - prolongation[5](31,2) = 1.0/4096.0; - prolongation[5](31,3) = 1.0/4096.0; - prolongation[5](31,4) = 5.0/4096.0; - prolongation[5](31,5) = 5.0/4096.0; - prolongation[5](31,6) = 5.0/4096.0; - prolongation[5](31,7) = 5.0/4096.0; - prolongation[5](31,8) = -9.0/4096.0; - prolongation[5](31,9) = -9.0/4096.0; - prolongation[5](31,10) = -9.0/4096.0; - prolongation[5](31,11) = -9.0/4096.0; - prolongation[5](31,12) = -9.0/4096.0; - prolongation[5](31,13) = -9.0/4096.0; - prolongation[5](31,14) = -9.0/4096.0; - prolongation[5](31,15) = -9.0/4096.0; - prolongation[5](31,16) = -45.0/4096.0; - prolongation[5](31,17) = -45.0/4096.0; - prolongation[5](31,18) = -45.0/4096.0; - prolongation[5](31,19) = -45.0/4096.0; - prolongation[5](31,20) = -45.0/4096.0; - prolongation[5](31,21) = -45.0/4096.0; - prolongation[5](31,22) = -45.0/4096.0; - prolongation[5](31,23) = -45.0/4096.0; - prolongation[5](31,24) = -5.0/4096.0; - prolongation[5](31,25) = 15.0/4096.0; - prolongation[5](31,26) = -5.0/4096.0; - prolongation[5](31,27) = 15.0/4096.0; - prolongation[5](31,28) = -5.0/4096.0; - prolongation[5](31,29) = 15.0/4096.0; - prolongation[5](31,30) = -5.0/4096.0; - prolongation[5](31,31) = 15.0/4096.0; - prolongation[5](31,32) = 81.0/4096.0; - prolongation[5](31,33) = 81.0/4096.0; - prolongation[5](31,34) = 81.0/4096.0; - prolongation[5](31,35) = 81.0/4096.0; - prolongation[5](31,36) = 405.0/4096.0; - prolongation[5](31,37) = 405.0/4096.0; - prolongation[5](31,38) = 405.0/4096.0; - prolongation[5](31,39) = 405.0/4096.0; - prolongation[5](31,40) = 45.0/4096.0; - prolongation[5](31,41) = 45.0/4096.0; - prolongation[5](31,42) = -135.0/4096.0; - prolongation[5](31,43) = -135.0/4096.0; - prolongation[5](31,44) = 45.0/4096.0; - prolongation[5](31,45) = -135.0/4096.0; - prolongation[5](31,46) = 45.0/4096.0; - prolongation[5](31,47) = -135.0/4096.0; - prolongation[5](31,48) = 45.0/4096.0; - prolongation[5](31,49) = 45.0/4096.0; - prolongation[5](31,50) = -135.0/4096.0; - prolongation[5](31,51) = -135.0/4096.0; - prolongation[5](31,52) = 45.0/4096.0; - prolongation[5](31,53) = -135.0/4096.0; - prolongation[5](31,54) = 45.0/4096.0; - prolongation[5](31,55) = -135.0/4096.0; - prolongation[5](31,56) = -405.0/4096.0; - prolongation[5](31,57) = -405.0/4096.0; - prolongation[5](31,58) = 1215.0/4096.0; - prolongation[5](31,59) = 1215.0/4096.0; - prolongation[5](31,60) = -405.0/4096.0; - prolongation[5](31,61) = -405.0/4096.0; - prolongation[5](31,62) = 1215.0/4096.0; - prolongation[5](31,63) = 1215.0/4096.0; - prolongation[5](32,9) = -5.0/256.0; - prolongation[5](32,13) = -1.0/256.0; - prolongation[5](32,17) = -5.0/256.0; - prolongation[5](32,21) = -1.0/256.0; - prolongation[5](32,33) = -15.0/256.0; - prolongation[5](32,35) = 5.0/256.0; - prolongation[5](32,37) = -15.0/256.0; - prolongation[5](32,39) = 5.0/256.0; - prolongation[5](32,41) = 45.0/256.0; - prolongation[5](32,43) = 45.0/256.0; - prolongation[5](32,49) = 9.0/256.0; - prolongation[5](32,51) = 9.0/256.0; - prolongation[5](32,57) = 135.0/256.0; - prolongation[5](32,59) = 135.0/256.0; - prolongation[5](32,61) = -45.0/256.0; - prolongation[5](32,63) = -45.0/256.0; - prolongation[5](33,0) = -5.0/4096.0; - prolongation[5](33,1) = -25.0/4096.0; - prolongation[5](33,2) = -5.0/4096.0; - prolongation[5](33,3) = -1.0/4096.0; - prolongation[5](33,4) = -5.0/4096.0; - prolongation[5](33,5) = -25.0/4096.0; - prolongation[5](33,6) = -5.0/4096.0; - prolongation[5](33,7) = -1.0/4096.0; - prolongation[5](33,8) = 25.0/4096.0; - prolongation[5](33,9) = -75.0/4096.0; - prolongation[5](33,10) = -75.0/4096.0; - prolongation[5](33,11) = 25.0/4096.0; - prolongation[5](33,12) = 5.0/4096.0; - prolongation[5](33,13) = -15.0/4096.0; - prolongation[5](33,14) = -15.0/4096.0; - prolongation[5](33,15) = 5.0/4096.0; - prolongation[5](33,16) = 25.0/4096.0; - prolongation[5](33,17) = -75.0/4096.0; - prolongation[5](33,18) = -75.0/4096.0; - prolongation[5](33,19) = 25.0/4096.0; - prolongation[5](33,20) = 5.0/4096.0; - prolongation[5](33,21) = -15.0/4096.0; - prolongation[5](33,22) = -15.0/4096.0; - prolongation[5](33,23) = 5.0/4096.0; - prolongation[5](33,24) = 45.0/4096.0; - prolongation[5](33,25) = 45.0/4096.0; - prolongation[5](33,26) = 225.0/4096.0; - prolongation[5](33,27) = 225.0/4096.0; - prolongation[5](33,28) = 45.0/4096.0; - prolongation[5](33,29) = 45.0/4096.0; - prolongation[5](33,30) = 9.0/4096.0; - prolongation[5](33,31) = 9.0/4096.0; - prolongation[5](33,32) = 75.0/4096.0; - prolongation[5](33,33) = -225.0/4096.0; - prolongation[5](33,34) = -25.0/4096.0; - prolongation[5](33,35) = 75.0/4096.0; - prolongation[5](33,36) = 75.0/4096.0; - prolongation[5](33,37) = -225.0/4096.0; - prolongation[5](33,38) = -25.0/4096.0; - prolongation[5](33,39) = 75.0/4096.0; - prolongation[5](33,40) = -225.0/4096.0; - prolongation[5](33,41) = 675.0/4096.0; - prolongation[5](33,42) = -225.0/4096.0; - prolongation[5](33,43) = 675.0/4096.0; - prolongation[5](33,44) = 675.0/4096.0; - prolongation[5](33,45) = 675.0/4096.0; - prolongation[5](33,46) = -225.0/4096.0; - prolongation[5](33,47) = -225.0/4096.0; - prolongation[5](33,48) = -45.0/4096.0; - prolongation[5](33,49) = 135.0/4096.0; - prolongation[5](33,50) = -45.0/4096.0; - prolongation[5](33,51) = 135.0/4096.0; - prolongation[5](33,52) = 135.0/4096.0; - prolongation[5](33,53) = 135.0/4096.0; - prolongation[5](33,54) = -45.0/4096.0; - prolongation[5](33,55) = -45.0/4096.0; - prolongation[5](33,56) = -675.0/4096.0; - prolongation[5](33,57) = 2025.0/4096.0; - prolongation[5](33,58) = -675.0/4096.0; + prolongation[0](0,0) = 1.0; + prolongation[0](1,0) = -1.0/16.0; + prolongation[0](1,1) = -1.0/16.0; + prolongation[0](1,8) = 9.0/16.0; + prolongation[0](1,9) = 9.0/16.0; + prolongation[0](2,0) = 1.0/256.0; + prolongation[0](2,1) = 1.0/256.0; + prolongation[0](2,2) = 1.0/256.0; + prolongation[0](2,3) = 1.0/256.0; + prolongation[0](2,8) = -9.0/256.0; + prolongation[0](2,9) = -9.0/256.0; + prolongation[0](2,10) = -9.0/256.0; + prolongation[0](2,11) = -9.0/256.0; + prolongation[0](2,12) = -9.0/256.0; + prolongation[0](2,13) = -9.0/256.0; + prolongation[0](2,14) = -9.0/256.0; + prolongation[0](2,15) = -9.0/256.0; + prolongation[0](2,32) = 81.0/256.0; + prolongation[0](2,33) = 81.0/256.0; + prolongation[0](2,34) = 81.0/256.0; + prolongation[0](2,35) = 81.0/256.0; + prolongation[0](3,0) = -1.0/16.0; + prolongation[0](3,3) = -1.0/16.0; + prolongation[0](3,14) = 9.0/16.0; + prolongation[0](3,15) = 9.0/16.0; + prolongation[0](4,0) = -1.0/16.0; + prolongation[0](4,4) = -1.0/16.0; + prolongation[0](4,24) = 9.0/16.0; + prolongation[0](4,25) = 9.0/16.0; + prolongation[0](5,0) = 1.0/256.0; + prolongation[0](5,1) = 1.0/256.0; + prolongation[0](5,4) = 1.0/256.0; + prolongation[0](5,5) = 1.0/256.0; + prolongation[0](5,8) = -9.0/256.0; + prolongation[0](5,9) = -9.0/256.0; + prolongation[0](5,16) = -9.0/256.0; + prolongation[0](5,17) = -9.0/256.0; + prolongation[0](5,24) = -9.0/256.0; + prolongation[0](5,25) = -9.0/256.0; + prolongation[0](5,26) = -9.0/256.0; + prolongation[0](5,27) = -9.0/256.0; + prolongation[0](5,40) = 81.0/256.0; + prolongation[0](5,41) = 81.0/256.0; + prolongation[0](5,42) = 81.0/256.0; + prolongation[0](5,43) = 81.0/256.0; + prolongation[0](6,0) = -1.0/4096.0; + prolongation[0](6,1) = -1.0/4096.0; + prolongation[0](6,2) = -1.0/4096.0; + prolongation[0](6,3) = -1.0/4096.0; + prolongation[0](6,4) = -1.0/4096.0; + prolongation[0](6,5) = -1.0/4096.0; + prolongation[0](6,6) = -1.0/4096.0; + prolongation[0](6,7) = -1.0/4096.0; + prolongation[0](6,8) = 9.0/4096.0; + prolongation[0](6,9) = 9.0/4096.0; + prolongation[0](6,10) = 9.0/4096.0; + prolongation[0](6,11) = 9.0/4096.0; + prolongation[0](6,12) = 9.0/4096.0; + prolongation[0](6,13) = 9.0/4096.0; + prolongation[0](6,14) = 9.0/4096.0; + prolongation[0](6,15) = 9.0/4096.0; + prolongation[0](6,16) = 9.0/4096.0; + prolongation[0](6,17) = 9.0/4096.0; + prolongation[0](6,18) = 9.0/4096.0; + prolongation[0](6,19) = 9.0/4096.0; + prolongation[0](6,20) = 9.0/4096.0; + prolongation[0](6,21) = 9.0/4096.0; + prolongation[0](6,22) = 9.0/4096.0; + prolongation[0](6,23) = 9.0/4096.0; + prolongation[0](6,24) = 9.0/4096.0; + prolongation[0](6,25) = 9.0/4096.0; + prolongation[0](6,26) = 9.0/4096.0; + prolongation[0](6,27) = 9.0/4096.0; + prolongation[0](6,28) = 9.0/4096.0; + prolongation[0](6,29) = 9.0/4096.0; + prolongation[0](6,30) = 9.0/4096.0; + prolongation[0](6,31) = 9.0/4096.0; + prolongation[0](6,32) = -81.0/4096.0; + prolongation[0](6,33) = -81.0/4096.0; + prolongation[0](6,34) = -81.0/4096.0; + prolongation[0](6,35) = -81.0/4096.0; + prolongation[0](6,36) = -81.0/4096.0; + prolongation[0](6,37) = -81.0/4096.0; + prolongation[0](6,38) = -81.0/4096.0; + prolongation[0](6,39) = -81.0/4096.0; + prolongation[0](6,40) = -81.0/4096.0; + prolongation[0](6,41) = -81.0/4096.0; + prolongation[0](6,42) = -81.0/4096.0; + prolongation[0](6,43) = -81.0/4096.0; + prolongation[0](6,44) = -81.0/4096.0; + prolongation[0](6,45) = -81.0/4096.0; + prolongation[0](6,46) = -81.0/4096.0; + prolongation[0](6,47) = -81.0/4096.0; + prolongation[0](6,48) = -81.0/4096.0; + prolongation[0](6,49) = -81.0/4096.0; + prolongation[0](6,50) = -81.0/4096.0; + prolongation[0](6,51) = -81.0/4096.0; + prolongation[0](6,52) = -81.0/4096.0; + prolongation[0](6,53) = -81.0/4096.0; + prolongation[0](6,54) = -81.0/4096.0; + prolongation[0](6,55) = -81.0/4096.0; + prolongation[0](6,56) = 729.0/4096.0; + prolongation[0](6,57) = 729.0/4096.0; + prolongation[0](6,58) = 729.0/4096.0; + prolongation[0](6,59) = 729.0/4096.0; + prolongation[0](6,60) = 729.0/4096.0; + prolongation[0](6,61) = 729.0/4096.0; + prolongation[0](6,62) = 729.0/4096.0; + prolongation[0](6,63) = 729.0/4096.0; + prolongation[0](7,0) = 1.0/256.0; + prolongation[0](7,3) = 1.0/256.0; + prolongation[0](7,4) = 1.0/256.0; + prolongation[0](7,7) = 1.0/256.0; + prolongation[0](7,14) = -9.0/256.0; + prolongation[0](7,15) = -9.0/256.0; + prolongation[0](7,22) = -9.0/256.0; + prolongation[0](7,23) = -9.0/256.0; + prolongation[0](7,24) = -9.0/256.0; + prolongation[0](7,25) = -9.0/256.0; + prolongation[0](7,30) = -9.0/256.0; + prolongation[0](7,31) = -9.0/256.0; + prolongation[0](7,52) = 81.0/256.0; + prolongation[0](7,53) = 81.0/256.0; + prolongation[0](7,54) = 81.0/256.0; + prolongation[0](7,55) = 81.0/256.0; + prolongation[0](8,0) = 5.0/16.0; + prolongation[0](8,1) = 1.0/16.0; + prolongation[0](8,8) = 15.0/16.0; + prolongation[0](8,9) = -5.0/16.0; + prolongation[0](9,8) = 1.0; + prolongation[0](10,0) = -5.0/256.0; + prolongation[0](10,1) = -5.0/256.0; + prolongation[0](10,2) = -1.0/256.0; + prolongation[0](10,3) = -1.0/256.0; + prolongation[0](10,8) = 45.0/256.0; + prolongation[0](10,9) = 45.0/256.0; + prolongation[0](10,10) = -15.0/256.0; + prolongation[0](10,11) = 5.0/256.0; + prolongation[0](10,12) = 9.0/256.0; + prolongation[0](10,13) = 9.0/256.0; + prolongation[0](10,14) = -15.0/256.0; + prolongation[0](10,15) = 5.0/256.0; + prolongation[0](10,32) = 135.0/256.0; + prolongation[0](10,33) = 135.0/256.0; + prolongation[0](10,34) = -45.0/256.0; + prolongation[0](10,35) = -45.0/256.0; + prolongation[0](11,10) = -1.0/16.0; + prolongation[0](11,14) = -1.0/16.0; + prolongation[0](11,32) = 9.0/16.0; + prolongation[0](11,33) = 9.0/16.0; + prolongation[0](12,0) = -5.0/256.0; + prolongation[0](12,1) = -1.0/256.0; + prolongation[0](12,2) = -1.0/256.0; + prolongation[0](12,3) = -5.0/256.0; + prolongation[0](12,8) = -15.0/256.0; + prolongation[0](12,9) = 5.0/256.0; + prolongation[0](12,10) = 9.0/256.0; + prolongation[0](12,11) = 9.0/256.0; + prolongation[0](12,12) = -15.0/256.0; + prolongation[0](12,13) = 5.0/256.0; + prolongation[0](12,14) = 45.0/256.0; + prolongation[0](12,15) = 45.0/256.0; + prolongation[0](12,32) = 135.0/256.0; + prolongation[0](12,33) = -45.0/256.0; + prolongation[0](12,34) = 135.0/256.0; + prolongation[0](12,35) = -45.0/256.0; + prolongation[0](13,8) = -1.0/16.0; + prolongation[0](13,12) = -1.0/16.0; + prolongation[0](13,32) = 9.0/16.0; + prolongation[0](13,34) = 9.0/16.0; + prolongation[0](14,0) = 5.0/16.0; + prolongation[0](14,3) = 1.0/16.0; + prolongation[0](14,14) = 15.0/16.0; + prolongation[0](14,15) = -5.0/16.0; + prolongation[0](15,14) = 1.0; + prolongation[0](16,0) = -5.0/256.0; + prolongation[0](16,1) = -1.0/256.0; + prolongation[0](16,4) = -5.0/256.0; + prolongation[0](16,5) = -1.0/256.0; + prolongation[0](16,8) = -15.0/256.0; + prolongation[0](16,9) = 5.0/256.0; + prolongation[0](16,16) = -15.0/256.0; + prolongation[0](16,17) = 5.0/256.0; + prolongation[0](16,24) = 45.0/256.0; + prolongation[0](16,25) = 45.0/256.0; + prolongation[0](16,26) = 9.0/256.0; + prolongation[0](16,27) = 9.0/256.0; + prolongation[0](16,40) = 135.0/256.0; + prolongation[0](16,41) = -45.0/256.0; + prolongation[0](16,42) = 135.0/256.0; + prolongation[0](16,43) = -45.0/256.0; + prolongation[0](17,8) = -1.0/16.0; + prolongation[0](17,16) = -1.0/16.0; + prolongation[0](17,40) = 9.0/16.0; + prolongation[0](17,42) = 9.0/16.0; + prolongation[0](18,0) = 5.0/4096.0; + prolongation[0](18,1) = 5.0/4096.0; + prolongation[0](18,2) = 1.0/4096.0; + prolongation[0](18,3) = 1.0/4096.0; + prolongation[0](18,4) = 5.0/4096.0; + prolongation[0](18,5) = 5.0/4096.0; + prolongation[0](18,6) = 1.0/4096.0; + prolongation[0](18,7) = 1.0/4096.0; + prolongation[0](18,8) = -45.0/4096.0; + prolongation[0](18,9) = -45.0/4096.0; + prolongation[0](18,10) = 15.0/4096.0; + prolongation[0](18,11) = -5.0/4096.0; + prolongation[0](18,12) = -9.0/4096.0; + prolongation[0](18,13) = -9.0/4096.0; + prolongation[0](18,14) = 15.0/4096.0; + prolongation[0](18,15) = -5.0/4096.0; + prolongation[0](18,16) = -45.0/4096.0; + prolongation[0](18,17) = -45.0/4096.0; + prolongation[0](18,18) = 15.0/4096.0; + prolongation[0](18,19) = -5.0/4096.0; + prolongation[0](18,20) = -9.0/4096.0; + prolongation[0](18,21) = -9.0/4096.0; + prolongation[0](18,22) = 15.0/4096.0; + prolongation[0](18,23) = -5.0/4096.0; + prolongation[0](18,24) = -45.0/4096.0; + prolongation[0](18,25) = -45.0/4096.0; + prolongation[0](18,26) = -45.0/4096.0; + prolongation[0](18,27) = -45.0/4096.0; + prolongation[0](18,28) = -9.0/4096.0; + prolongation[0](18,29) = -9.0/4096.0; + prolongation[0](18,30) = -9.0/4096.0; + prolongation[0](18,31) = -9.0/4096.0; + prolongation[0](18,32) = -135.0/4096.0; + prolongation[0](18,33) = -135.0/4096.0; + prolongation[0](18,34) = 45.0/4096.0; + prolongation[0](18,35) = 45.0/4096.0; + prolongation[0](18,36) = -135.0/4096.0; + prolongation[0](18,37) = -135.0/4096.0; + prolongation[0](18,38) = 45.0/4096.0; + prolongation[0](18,39) = 45.0/4096.0; + prolongation[0](18,40) = 405.0/4096.0; + prolongation[0](18,41) = 405.0/4096.0; + prolongation[0](18,42) = 405.0/4096.0; + prolongation[0](18,43) = 405.0/4096.0; + prolongation[0](18,44) = -135.0/4096.0; + prolongation[0](18,45) = -135.0/4096.0; + prolongation[0](18,46) = 45.0/4096.0; + prolongation[0](18,47) = 45.0/4096.0; + prolongation[0](18,48) = 81.0/4096.0; + prolongation[0](18,49) = 81.0/4096.0; + prolongation[0](18,50) = 81.0/4096.0; + prolongation[0](18,51) = 81.0/4096.0; + prolongation[0](18,52) = -135.0/4096.0; + prolongation[0](18,53) = -135.0/4096.0; + prolongation[0](18,54) = 45.0/4096.0; + prolongation[0](18,55) = 45.0/4096.0; + prolongation[0](18,56) = 1215.0/4096.0; + prolongation[0](18,57) = 1215.0/4096.0; + prolongation[0](18,58) = 1215.0/4096.0; + prolongation[0](18,59) = 1215.0/4096.0; + prolongation[0](18,60) = -405.0/4096.0; + prolongation[0](18,61) = -405.0/4096.0; + prolongation[0](18,62) = -405.0/4096.0; + prolongation[0](18,63) = -405.0/4096.0; + prolongation[0](19,10) = 1.0/256.0; + prolongation[0](19,14) = 1.0/256.0; + prolongation[0](19,18) = 1.0/256.0; + prolongation[0](19,22) = 1.0/256.0; + prolongation[0](19,32) = -9.0/256.0; + prolongation[0](19,33) = -9.0/256.0; + prolongation[0](19,36) = -9.0/256.0; + prolongation[0](19,37) = -9.0/256.0; + prolongation[0](19,44) = -9.0/256.0; + prolongation[0](19,45) = -9.0/256.0; + prolongation[0](19,52) = -9.0/256.0; + prolongation[0](19,53) = -9.0/256.0; + prolongation[0](19,56) = 81.0/256.0; + prolongation[0](19,57) = 81.0/256.0; + prolongation[0](19,58) = 81.0/256.0; + prolongation[0](19,59) = 81.0/256.0; + prolongation[0](20,0) = 5.0/4096.0; + prolongation[0](20,1) = 1.0/4096.0; + prolongation[0](20,2) = 1.0/4096.0; + prolongation[0](20,3) = 5.0/4096.0; + prolongation[0](20,4) = 5.0/4096.0; + prolongation[0](20,5) = 1.0/4096.0; + prolongation[0](20,6) = 1.0/4096.0; + prolongation[0](20,7) = 5.0/4096.0; + prolongation[0](20,8) = 15.0/4096.0; + prolongation[0](20,9) = -5.0/4096.0; + prolongation[0](20,10) = -9.0/4096.0; + prolongation[0](20,11) = -9.0/4096.0; + prolongation[0](20,12) = 15.0/4096.0; + prolongation[0](20,13) = -5.0/4096.0; + prolongation[0](20,14) = -45.0/4096.0; + prolongation[0](20,15) = -45.0/4096.0; + prolongation[0](20,16) = 15.0/4096.0; + prolongation[0](20,17) = -5.0/4096.0; + prolongation[0](20,18) = -9.0/4096.0; + prolongation[0](20,19) = -9.0/4096.0; + prolongation[0](20,20) = 15.0/4096.0; + prolongation[0](20,21) = -5.0/4096.0; + prolongation[0](20,22) = -45.0/4096.0; + prolongation[0](20,23) = -45.0/4096.0; + prolongation[0](20,24) = -45.0/4096.0; + prolongation[0](20,25) = -45.0/4096.0; + prolongation[0](20,26) = -9.0/4096.0; + prolongation[0](20,27) = -9.0/4096.0; + prolongation[0](20,28) = -9.0/4096.0; + prolongation[0](20,29) = -9.0/4096.0; + prolongation[0](20,30) = -45.0/4096.0; + prolongation[0](20,31) = -45.0/4096.0; + prolongation[0](20,32) = -135.0/4096.0; + prolongation[0](20,33) = 45.0/4096.0; + prolongation[0](20,34) = -135.0/4096.0; + prolongation[0](20,35) = 45.0/4096.0; + prolongation[0](20,36) = -135.0/4096.0; + prolongation[0](20,37) = 45.0/4096.0; + prolongation[0](20,38) = -135.0/4096.0; + prolongation[0](20,39) = 45.0/4096.0; + prolongation[0](20,40) = -135.0/4096.0; + prolongation[0](20,41) = 45.0/4096.0; + prolongation[0](20,42) = -135.0/4096.0; + prolongation[0](20,43) = 45.0/4096.0; + prolongation[0](20,44) = 81.0/4096.0; + prolongation[0](20,45) = 81.0/4096.0; + prolongation[0](20,46) = 81.0/4096.0; + prolongation[0](20,47) = 81.0/4096.0; + prolongation[0](20,48) = -135.0/4096.0; + prolongation[0](20,49) = 45.0/4096.0; + prolongation[0](20,50) = -135.0/4096.0; + prolongation[0](20,51) = 45.0/4096.0; + prolongation[0](20,52) = 405.0/4096.0; + prolongation[0](20,53) = 405.0/4096.0; + prolongation[0](20,54) = 405.0/4096.0; + prolongation[0](20,55) = 405.0/4096.0; + prolongation[0](20,56) = 1215.0/4096.0; + prolongation[0](20,57) = -405.0/4096.0; + prolongation[0](20,58) = 1215.0/4096.0; + prolongation[0](20,59) = -405.0/4096.0; + prolongation[0](20,60) = 1215.0/4096.0; + prolongation[0](20,61) = -405.0/4096.0; + prolongation[0](20,62) = 1215.0/4096.0; + prolongation[0](20,63) = -405.0/4096.0; + prolongation[0](21,8) = 1.0/256.0; + prolongation[0](21,12) = 1.0/256.0; + prolongation[0](21,16) = 1.0/256.0; + prolongation[0](21,20) = 1.0/256.0; + prolongation[0](21,32) = -9.0/256.0; + prolongation[0](21,34) = -9.0/256.0; + prolongation[0](21,36) = -9.0/256.0; + prolongation[0](21,38) = -9.0/256.0; + prolongation[0](21,40) = -9.0/256.0; + prolongation[0](21,42) = -9.0/256.0; + prolongation[0](21,48) = -9.0/256.0; + prolongation[0](21,50) = -9.0/256.0; + prolongation[0](21,56) = 81.0/256.0; + prolongation[0](21,58) = 81.0/256.0; + prolongation[0](21,60) = 81.0/256.0; + prolongation[0](21,62) = 81.0/256.0; + prolongation[0](22,0) = -5.0/256.0; + prolongation[0](22,3) = -1.0/256.0; + prolongation[0](22,4) = -5.0/256.0; + prolongation[0](22,7) = -1.0/256.0; + prolongation[0](22,14) = -15.0/256.0; + prolongation[0](22,15) = 5.0/256.0; + prolongation[0](22,22) = -15.0/256.0; + prolongation[0](22,23) = 5.0/256.0; + prolongation[0](22,24) = 45.0/256.0; + prolongation[0](22,25) = 45.0/256.0; + prolongation[0](22,30) = 9.0/256.0; + prolongation[0](22,31) = 9.0/256.0; + prolongation[0](22,52) = 135.0/256.0; + prolongation[0](22,53) = 135.0/256.0; + prolongation[0](22,54) = -45.0/256.0; + prolongation[0](22,55) = -45.0/256.0; + prolongation[0](23,14) = -1.0/16.0; + prolongation[0](23,22) = -1.0/16.0; + prolongation[0](23,52) = 9.0/16.0; + prolongation[0](23,53) = 9.0/16.0; + prolongation[0](24,0) = 5.0/16.0; + prolongation[0](24,4) = 1.0/16.0; + prolongation[0](24,24) = 15.0/16.0; + prolongation[0](24,25) = -5.0/16.0; + prolongation[0](25,24) = 1.0; + prolongation[0](26,0) = -5.0/256.0; + prolongation[0](26,1) = -5.0/256.0; + prolongation[0](26,4) = -1.0/256.0; + prolongation[0](26,5) = -1.0/256.0; + prolongation[0](26,8) = 45.0/256.0; + prolongation[0](26,9) = 45.0/256.0; + prolongation[0](26,16) = 9.0/256.0; + prolongation[0](26,17) = 9.0/256.0; + prolongation[0](26,24) = -15.0/256.0; + prolongation[0](26,25) = 5.0/256.0; + prolongation[0](26,26) = -15.0/256.0; + prolongation[0](26,27) = 5.0/256.0; + prolongation[0](26,40) = 135.0/256.0; + prolongation[0](26,41) = 135.0/256.0; + prolongation[0](26,42) = -45.0/256.0; + prolongation[0](26,43) = -45.0/256.0; + prolongation[0](27,24) = -1.0/16.0; + prolongation[0](27,26) = -1.0/16.0; + prolongation[0](27,40) = 9.0/16.0; + prolongation[0](27,41) = 9.0/16.0; + prolongation[0](28,0) = 5.0/4096.0; + prolongation[0](28,1) = 5.0/4096.0; + prolongation[0](28,2) = 5.0/4096.0; + prolongation[0](28,3) = 5.0/4096.0; + prolongation[0](28,4) = 1.0/4096.0; + prolongation[0](28,5) = 1.0/4096.0; + prolongation[0](28,6) = 1.0/4096.0; + prolongation[0](28,7) = 1.0/4096.0; + prolongation[0](28,8) = -45.0/4096.0; + prolongation[0](28,9) = -45.0/4096.0; + prolongation[0](28,10) = -45.0/4096.0; + prolongation[0](28,11) = -45.0/4096.0; + prolongation[0](28,12) = -45.0/4096.0; + prolongation[0](28,13) = -45.0/4096.0; + prolongation[0](28,14) = -45.0/4096.0; + prolongation[0](28,15) = -45.0/4096.0; + prolongation[0](28,16) = -9.0/4096.0; + prolongation[0](28,17) = -9.0/4096.0; + prolongation[0](28,18) = -9.0/4096.0; + prolongation[0](28,19) = -9.0/4096.0; + prolongation[0](28,20) = -9.0/4096.0; + prolongation[0](28,21) = -9.0/4096.0; + prolongation[0](28,22) = -9.0/4096.0; + prolongation[0](28,23) = -9.0/4096.0; + prolongation[0](28,24) = 15.0/4096.0; + prolongation[0](28,25) = -5.0/4096.0; + prolongation[0](28,26) = 15.0/4096.0; + prolongation[0](28,27) = -5.0/4096.0; + prolongation[0](28,28) = 15.0/4096.0; + prolongation[0](28,29) = -5.0/4096.0; + prolongation[0](28,30) = 15.0/4096.0; + prolongation[0](28,31) = -5.0/4096.0; + prolongation[0](28,32) = 405.0/4096.0; + prolongation[0](28,33) = 405.0/4096.0; + prolongation[0](28,34) = 405.0/4096.0; + prolongation[0](28,35) = 405.0/4096.0; + prolongation[0](28,36) = 81.0/4096.0; + prolongation[0](28,37) = 81.0/4096.0; + prolongation[0](28,38) = 81.0/4096.0; + prolongation[0](28,39) = 81.0/4096.0; + prolongation[0](28,40) = -135.0/4096.0; + prolongation[0](28,41) = -135.0/4096.0; + prolongation[0](28,42) = 45.0/4096.0; + prolongation[0](28,43) = 45.0/4096.0; + prolongation[0](28,44) = -135.0/4096.0; + prolongation[0](28,45) = 45.0/4096.0; + prolongation[0](28,46) = -135.0/4096.0; + prolongation[0](28,47) = 45.0/4096.0; + prolongation[0](28,48) = -135.0/4096.0; + prolongation[0](28,49) = -135.0/4096.0; + prolongation[0](28,50) = 45.0/4096.0; + prolongation[0](28,51) = 45.0/4096.0; + prolongation[0](28,52) = -135.0/4096.0; + prolongation[0](28,53) = 45.0/4096.0; + prolongation[0](28,54) = -135.0/4096.0; + prolongation[0](28,55) = 45.0/4096.0; + prolongation[0](28,56) = 1215.0/4096.0; + prolongation[0](28,57) = 1215.0/4096.0; + prolongation[0](28,58) = -405.0/4096.0; + prolongation[0](28,59) = -405.0/4096.0; + prolongation[0](28,60) = 1215.0/4096.0; + prolongation[0](28,61) = 1215.0/4096.0; + prolongation[0](28,62) = -405.0/4096.0; + prolongation[0](28,63) = -405.0/4096.0; + prolongation[0](29,24) = 1.0/256.0; + prolongation[0](29,26) = 1.0/256.0; + prolongation[0](29,28) = 1.0/256.0; + prolongation[0](29,30) = 1.0/256.0; + prolongation[0](29,40) = -9.0/256.0; + prolongation[0](29,41) = -9.0/256.0; + prolongation[0](29,44) = -9.0/256.0; + prolongation[0](29,46) = -9.0/256.0; + prolongation[0](29,48) = -9.0/256.0; + prolongation[0](29,49) = -9.0/256.0; + prolongation[0](29,52) = -9.0/256.0; + prolongation[0](29,54) = -9.0/256.0; + prolongation[0](29,56) = 81.0/256.0; + prolongation[0](29,57) = 81.0/256.0; + prolongation[0](29,60) = 81.0/256.0; + prolongation[0](29,61) = 81.0/256.0; + prolongation[0](30,0) = -5.0/256.0; + prolongation[0](30,3) = -5.0/256.0; + prolongation[0](30,4) = -1.0/256.0; + prolongation[0](30,7) = -1.0/256.0; + prolongation[0](30,14) = 45.0/256.0; + prolongation[0](30,15) = 45.0/256.0; + prolongation[0](30,22) = 9.0/256.0; + prolongation[0](30,23) = 9.0/256.0; + prolongation[0](30,24) = -15.0/256.0; + prolongation[0](30,25) = 5.0/256.0; + prolongation[0](30,30) = -15.0/256.0; + prolongation[0](30,31) = 5.0/256.0; + prolongation[0](30,52) = 135.0/256.0; + prolongation[0](30,53) = -45.0/256.0; + prolongation[0](30,54) = 135.0/256.0; + prolongation[0](30,55) = -45.0/256.0; + prolongation[0](31,24) = -1.0/16.0; + prolongation[0](31,30) = -1.0/16.0; + prolongation[0](31,52) = 9.0/16.0; + prolongation[0](31,54) = 9.0/16.0; + prolongation[0](32,0) = 25.0/256.0; + prolongation[0](32,1) = 5.0/256.0; + prolongation[0](32,2) = 1.0/256.0; + prolongation[0](32,3) = 5.0/256.0; + prolongation[0](32,8) = 75.0/256.0; + prolongation[0](32,9) = -25.0/256.0; + prolongation[0](32,10) = 15.0/256.0; + prolongation[0](32,11) = -5.0/256.0; + prolongation[0](32,12) = 15.0/256.0; + prolongation[0](32,13) = -5.0/256.0; + prolongation[0](32,14) = 75.0/256.0; + prolongation[0](32,15) = -25.0/256.0; + prolongation[0](32,32) = 225.0/256.0; + prolongation[0](32,33) = -75.0/256.0; + prolongation[0](32,34) = -75.0/256.0; + prolongation[0](32,35) = 25.0/256.0; + prolongation[0](33,8) = 5.0/16.0; + prolongation[0](33,12) = 1.0/16.0; + prolongation[0](33,32) = 15.0/16.0; + prolongation[0](33,34) = -5.0/16.0; + prolongation[0](34,10) = 1.0/16.0; + prolongation[0](34,14) = 5.0/16.0; + prolongation[0](34,32) = 15.0/16.0; + prolongation[0](34,33) = -5.0/16.0; + prolongation[0](35,32) = 1.0; + prolongation[0](36,0) = -25.0/4096.0; + prolongation[0](36,1) = -5.0/4096.0; + prolongation[0](36,2) = -1.0/4096.0; + prolongation[0](36,3) = -5.0/4096.0; + prolongation[0](36,4) = -25.0/4096.0; + prolongation[0](36,5) = -5.0/4096.0; + prolongation[0](36,6) = -1.0/4096.0; + prolongation[0](36,7) = -5.0/4096.0; + prolongation[0](36,8) = -75.0/4096.0; + prolongation[0](36,9) = 25.0/4096.0; + prolongation[0](36,10) = -15.0/4096.0; + prolongation[0](36,11) = 5.0/4096.0; + prolongation[0](36,12) = -15.0/4096.0; + prolongation[0](36,13) = 5.0/4096.0; + prolongation[0](36,14) = -75.0/4096.0; + prolongation[0](36,15) = 25.0/4096.0; + prolongation[0](36,16) = -75.0/4096.0; + prolongation[0](36,17) = 25.0/4096.0; + prolongation[0](36,18) = -15.0/4096.0; + prolongation[0](36,19) = 5.0/4096.0; + prolongation[0](36,20) = -15.0/4096.0; + prolongation[0](36,21) = 5.0/4096.0; + prolongation[0](36,22) = -75.0/4096.0; + prolongation[0](36,23) = 25.0/4096.0; + prolongation[0](36,24) = 225.0/4096.0; + prolongation[0](36,25) = 225.0/4096.0; + prolongation[0](36,26) = 45.0/4096.0; + prolongation[0](36,27) = 45.0/4096.0; + prolongation[0](36,28) = 9.0/4096.0; + prolongation[0](36,29) = 9.0/4096.0; + prolongation[0](36,30) = 45.0/4096.0; + prolongation[0](36,31) = 45.0/4096.0; + prolongation[0](36,32) = -225.0/4096.0; + prolongation[0](36,33) = 75.0/4096.0; + prolongation[0](36,34) = 75.0/4096.0; + prolongation[0](36,35) = -25.0/4096.0; + prolongation[0](36,36) = -225.0/4096.0; + prolongation[0](36,37) = 75.0/4096.0; + prolongation[0](36,38) = 75.0/4096.0; + prolongation[0](36,39) = -25.0/4096.0; + prolongation[0](36,40) = 675.0/4096.0; + prolongation[0](36,41) = -225.0/4096.0; + prolongation[0](36,42) = 675.0/4096.0; + prolongation[0](36,43) = -225.0/4096.0; + prolongation[0](36,44) = 135.0/4096.0; + prolongation[0](36,45) = 135.0/4096.0; + prolongation[0](36,46) = -45.0/4096.0; + prolongation[0](36,47) = -45.0/4096.0; + prolongation[0](36,48) = 135.0/4096.0; + prolongation[0](36,49) = -45.0/4096.0; + prolongation[0](36,50) = 135.0/4096.0; + prolongation[0](36,51) = -45.0/4096.0; + prolongation[0](36,52) = 675.0/4096.0; + prolongation[0](36,53) = 675.0/4096.0; + prolongation[0](36,54) = -225.0/4096.0; + prolongation[0](36,55) = -225.0/4096.0; + prolongation[0](36,56) = 2025.0/4096.0; + prolongation[0](36,57) = -675.0/4096.0; + prolongation[0](36,58) = 2025.0/4096.0; + prolongation[0](36,59) = -675.0/4096.0; + prolongation[0](36,60) = -675.0/4096.0; + prolongation[0](36,61) = 225.0/4096.0; + prolongation[0](36,62) = -675.0/4096.0; + prolongation[0](36,63) = 225.0/4096.0; + prolongation[0](37,8) = -5.0/256.0; + prolongation[0](37,12) = -1.0/256.0; + prolongation[0](37,16) = -5.0/256.0; + prolongation[0](37,20) = -1.0/256.0; + prolongation[0](37,32) = -15.0/256.0; + prolongation[0](37,34) = 5.0/256.0; + prolongation[0](37,36) = -15.0/256.0; + prolongation[0](37,38) = 5.0/256.0; + prolongation[0](37,40) = 45.0/256.0; + prolongation[0](37,42) = 45.0/256.0; + prolongation[0](37,48) = 9.0/256.0; + prolongation[0](37,50) = 9.0/256.0; + prolongation[0](37,56) = 135.0/256.0; + prolongation[0](37,58) = 135.0/256.0; + prolongation[0](37,60) = -45.0/256.0; + prolongation[0](37,62) = -45.0/256.0; + prolongation[0](38,10) = -1.0/256.0; + prolongation[0](38,14) = -5.0/256.0; + prolongation[0](38,18) = -1.0/256.0; + prolongation[0](38,22) = -5.0/256.0; + prolongation[0](38,32) = -15.0/256.0; + prolongation[0](38,33) = 5.0/256.0; + prolongation[0](38,36) = -15.0/256.0; + prolongation[0](38,37) = 5.0/256.0; + prolongation[0](38,44) = 9.0/256.0; + prolongation[0](38,45) = 9.0/256.0; + prolongation[0](38,52) = 45.0/256.0; + prolongation[0](38,53) = 45.0/256.0; + prolongation[0](38,56) = 135.0/256.0; + prolongation[0](38,57) = -45.0/256.0; + prolongation[0](38,58) = 135.0/256.0; + prolongation[0](38,59) = -45.0/256.0; + prolongation[0](39,32) = -1.0/16.0; + prolongation[0](39,36) = -1.0/16.0; + prolongation[0](39,56) = 9.0/16.0; + prolongation[0](39,58) = 9.0/16.0; + prolongation[0](40,0) = 25.0/256.0; + prolongation[0](40,1) = 5.0/256.0; + prolongation[0](40,4) = 5.0/256.0; + prolongation[0](40,5) = 1.0/256.0; + prolongation[0](40,8) = 75.0/256.0; + prolongation[0](40,9) = -25.0/256.0; + prolongation[0](40,16) = 15.0/256.0; + prolongation[0](40,17) = -5.0/256.0; + prolongation[0](40,24) = 75.0/256.0; + prolongation[0](40,25) = -25.0/256.0; + prolongation[0](40,26) = 15.0/256.0; + prolongation[0](40,27) = -5.0/256.0; + prolongation[0](40,40) = 225.0/256.0; + prolongation[0](40,41) = -75.0/256.0; + prolongation[0](40,42) = -75.0/256.0; + prolongation[0](40,43) = 25.0/256.0; + prolongation[0](41,8) = 5.0/16.0; + prolongation[0](41,16) = 1.0/16.0; + prolongation[0](41,40) = 15.0/16.0; + prolongation[0](41,42) = -5.0/16.0; + prolongation[0](42,24) = 5.0/16.0; + prolongation[0](42,26) = 1.0/16.0; + prolongation[0](42,40) = 15.0/16.0; + prolongation[0](42,41) = -5.0/16.0; + prolongation[0](43,40) = 1.0; + prolongation[0](44,0) = -25.0/4096.0; + prolongation[0](44,1) = -25.0/4096.0; + prolongation[0](44,2) = -5.0/4096.0; + prolongation[0](44,3) = -5.0/4096.0; + prolongation[0](44,4) = -5.0/4096.0; + prolongation[0](44,5) = -5.0/4096.0; + prolongation[0](44,6) = -1.0/4096.0; + prolongation[0](44,7) = -1.0/4096.0; + prolongation[0](44,8) = 225.0/4096.0; + prolongation[0](44,9) = 225.0/4096.0; + prolongation[0](44,10) = -75.0/4096.0; + prolongation[0](44,11) = 25.0/4096.0; + prolongation[0](44,12) = 45.0/4096.0; + prolongation[0](44,13) = 45.0/4096.0; + prolongation[0](44,14) = -75.0/4096.0; + prolongation[0](44,15) = 25.0/4096.0; + prolongation[0](44,16) = 45.0/4096.0; + prolongation[0](44,17) = 45.0/4096.0; + prolongation[0](44,18) = -15.0/4096.0; + prolongation[0](44,19) = 5.0/4096.0; + prolongation[0](44,20) = 9.0/4096.0; + prolongation[0](44,21) = 9.0/4096.0; + prolongation[0](44,22) = -15.0/4096.0; + prolongation[0](44,23) = 5.0/4096.0; + prolongation[0](44,24) = -75.0/4096.0; + prolongation[0](44,25) = 25.0/4096.0; + prolongation[0](44,26) = -75.0/4096.0; + prolongation[0](44,27) = 25.0/4096.0; + prolongation[0](44,28) = -15.0/4096.0; + prolongation[0](44,29) = 5.0/4096.0; + prolongation[0](44,30) = -15.0/4096.0; + prolongation[0](44,31) = 5.0/4096.0; + prolongation[0](44,32) = 675.0/4096.0; + prolongation[0](44,33) = 675.0/4096.0; + prolongation[0](44,34) = -225.0/4096.0; + prolongation[0](44,35) = -225.0/4096.0; + prolongation[0](44,36) = 135.0/4096.0; + prolongation[0](44,37) = 135.0/4096.0; + prolongation[0](44,38) = -45.0/4096.0; + prolongation[0](44,39) = -45.0/4096.0; + prolongation[0](44,40) = 675.0/4096.0; + prolongation[0](44,41) = 675.0/4096.0; + prolongation[0](44,42) = -225.0/4096.0; + prolongation[0](44,43) = -225.0/4096.0; + prolongation[0](44,44) = -225.0/4096.0; + prolongation[0](44,45) = 75.0/4096.0; + prolongation[0](44,46) = 75.0/4096.0; + prolongation[0](44,47) = -25.0/4096.0; + prolongation[0](44,48) = 135.0/4096.0; + prolongation[0](44,49) = 135.0/4096.0; + prolongation[0](44,50) = -45.0/4096.0; + prolongation[0](44,51) = -45.0/4096.0; + prolongation[0](44,52) = -225.0/4096.0; + prolongation[0](44,53) = 75.0/4096.0; + prolongation[0](44,54) = 75.0/4096.0; + prolongation[0](44,55) = -25.0/4096.0; + prolongation[0](44,56) = 2025.0/4096.0; + prolongation[0](44,57) = 2025.0/4096.0; + prolongation[0](44,58) = -675.0/4096.0; + prolongation[0](44,59) = -675.0/4096.0; + prolongation[0](44,60) = -675.0/4096.0; + prolongation[0](44,61) = -675.0/4096.0; + prolongation[0](44,62) = 225.0/4096.0; + prolongation[0](44,63) = 225.0/4096.0; + prolongation[0](45,24) = -5.0/256.0; + prolongation[0](45,26) = -5.0/256.0; + prolongation[0](45,28) = -1.0/256.0; + prolongation[0](45,30) = -1.0/256.0; + prolongation[0](45,40) = 45.0/256.0; + prolongation[0](45,41) = 45.0/256.0; + prolongation[0](45,44) = -15.0/256.0; + prolongation[0](45,46) = 5.0/256.0; + prolongation[0](45,48) = 9.0/256.0; + prolongation[0](45,49) = 9.0/256.0; + prolongation[0](45,52) = -15.0/256.0; + prolongation[0](45,54) = 5.0/256.0; + prolongation[0](45,56) = 135.0/256.0; + prolongation[0](45,57) = 135.0/256.0; + prolongation[0](45,60) = -45.0/256.0; + prolongation[0](45,61) = -45.0/256.0; + prolongation[0](46,10) = -5.0/256.0; + prolongation[0](46,14) = -5.0/256.0; + prolongation[0](46,18) = -1.0/256.0; + prolongation[0](46,22) = -1.0/256.0; + prolongation[0](46,32) = 45.0/256.0; + prolongation[0](46,33) = 45.0/256.0; + prolongation[0](46,36) = 9.0/256.0; + prolongation[0](46,37) = 9.0/256.0; + prolongation[0](46,44) = -15.0/256.0; + prolongation[0](46,45) = 5.0/256.0; + prolongation[0](46,52) = -15.0/256.0; + prolongation[0](46,53) = 5.0/256.0; + prolongation[0](46,56) = 135.0/256.0; + prolongation[0](46,57) = 135.0/256.0; + prolongation[0](46,58) = -45.0/256.0; + prolongation[0](46,59) = -45.0/256.0; + prolongation[0](47,44) = -1.0/16.0; + prolongation[0](47,52) = -1.0/16.0; + prolongation[0](47,56) = 9.0/16.0; + prolongation[0](47,57) = 9.0/16.0; + prolongation[0](48,0) = -25.0/4096.0; + prolongation[0](48,1) = -5.0/4096.0; + prolongation[0](48,2) = -5.0/4096.0; + prolongation[0](48,3) = -25.0/4096.0; + prolongation[0](48,4) = -5.0/4096.0; + prolongation[0](48,5) = -1.0/4096.0; + prolongation[0](48,6) = -1.0/4096.0; + prolongation[0](48,7) = -5.0/4096.0; + prolongation[0](48,8) = -75.0/4096.0; + prolongation[0](48,9) = 25.0/4096.0; + prolongation[0](48,10) = 45.0/4096.0; + prolongation[0](48,11) = 45.0/4096.0; + prolongation[0](48,12) = -75.0/4096.0; + prolongation[0](48,13) = 25.0/4096.0; + prolongation[0](48,14) = 225.0/4096.0; + prolongation[0](48,15) = 225.0/4096.0; + prolongation[0](48,16) = -15.0/4096.0; + prolongation[0](48,17) = 5.0/4096.0; + prolongation[0](48,18) = 9.0/4096.0; + prolongation[0](48,19) = 9.0/4096.0; + prolongation[0](48,20) = -15.0/4096.0; + prolongation[0](48,21) = 5.0/4096.0; + prolongation[0](48,22) = 45.0/4096.0; + prolongation[0](48,23) = 45.0/4096.0; + prolongation[0](48,24) = -75.0/4096.0; + prolongation[0](48,25) = 25.0/4096.0; + prolongation[0](48,26) = -15.0/4096.0; + prolongation[0](48,27) = 5.0/4096.0; + prolongation[0](48,28) = -15.0/4096.0; + prolongation[0](48,29) = 5.0/4096.0; + prolongation[0](48,30) = -75.0/4096.0; + prolongation[0](48,31) = 25.0/4096.0; + prolongation[0](48,32) = 675.0/4096.0; + prolongation[0](48,33) = -225.0/4096.0; + prolongation[0](48,34) = 675.0/4096.0; + prolongation[0](48,35) = -225.0/4096.0; + prolongation[0](48,36) = 135.0/4096.0; + prolongation[0](48,37) = -45.0/4096.0; + prolongation[0](48,38) = 135.0/4096.0; + prolongation[0](48,39) = -45.0/4096.0; + prolongation[0](48,40) = -225.0/4096.0; + prolongation[0](48,41) = 75.0/4096.0; + prolongation[0](48,42) = 75.0/4096.0; + prolongation[0](48,43) = -25.0/4096.0; + prolongation[0](48,44) = 135.0/4096.0; + prolongation[0](48,45) = -45.0/4096.0; + prolongation[0](48,46) = 135.0/4096.0; + prolongation[0](48,47) = -45.0/4096.0; + prolongation[0](48,48) = -225.0/4096.0; + prolongation[0](48,49) = 75.0/4096.0; + prolongation[0](48,50) = 75.0/4096.0; + prolongation[0](48,51) = -25.0/4096.0; + prolongation[0](48,52) = 675.0/4096.0; + prolongation[0](48,53) = -225.0/4096.0; + prolongation[0](48,54) = 675.0/4096.0; + prolongation[0](48,55) = -225.0/4096.0; + prolongation[0](48,56) = 2025.0/4096.0; + prolongation[0](48,57) = -675.0/4096.0; + prolongation[0](48,58) = -675.0/4096.0; + prolongation[0](48,59) = 225.0/4096.0; + prolongation[0](48,60) = 2025.0/4096.0; + prolongation[0](48,61) = -675.0/4096.0; + prolongation[0](48,62) = -675.0/4096.0; + prolongation[0](48,63) = 225.0/4096.0; + prolongation[0](49,8) = -5.0/256.0; + prolongation[0](49,12) = -5.0/256.0; + prolongation[0](49,16) = -1.0/256.0; + prolongation[0](49,20) = -1.0/256.0; + prolongation[0](49,32) = 45.0/256.0; + prolongation[0](49,34) = 45.0/256.0; + prolongation[0](49,36) = 9.0/256.0; + prolongation[0](49,38) = 9.0/256.0; + prolongation[0](49,40) = -15.0/256.0; + prolongation[0](49,42) = 5.0/256.0; + prolongation[0](49,48) = -15.0/256.0; + prolongation[0](49,50) = 5.0/256.0; + prolongation[0](49,56) = 135.0/256.0; + prolongation[0](49,58) = -45.0/256.0; + prolongation[0](49,60) = 135.0/256.0; + prolongation[0](49,62) = -45.0/256.0; + prolongation[0](50,24) = -5.0/256.0; + prolongation[0](50,26) = -1.0/256.0; + prolongation[0](50,28) = -1.0/256.0; + prolongation[0](50,30) = -5.0/256.0; + prolongation[0](50,40) = -15.0/256.0; + prolongation[0](50,41) = 5.0/256.0; + prolongation[0](50,44) = 9.0/256.0; + prolongation[0](50,46) = 9.0/256.0; + prolongation[0](50,48) = -15.0/256.0; + prolongation[0](50,49) = 5.0/256.0; + prolongation[0](50,52) = 45.0/256.0; + prolongation[0](50,54) = 45.0/256.0; + prolongation[0](50,56) = 135.0/256.0; + prolongation[0](50,57) = -45.0/256.0; + prolongation[0](50,60) = 135.0/256.0; + prolongation[0](50,61) = -45.0/256.0; + prolongation[0](51,40) = -1.0/16.0; + prolongation[0](51,48) = -1.0/16.0; + prolongation[0](51,56) = 9.0/16.0; + prolongation[0](51,60) = 9.0/16.0; + prolongation[0](52,0) = 25.0/256.0; + prolongation[0](52,3) = 5.0/256.0; + prolongation[0](52,4) = 5.0/256.0; + prolongation[0](52,7) = 1.0/256.0; + prolongation[0](52,14) = 75.0/256.0; + prolongation[0](52,15) = -25.0/256.0; + prolongation[0](52,22) = 15.0/256.0; + prolongation[0](52,23) = -5.0/256.0; + prolongation[0](52,24) = 75.0/256.0; + prolongation[0](52,25) = -25.0/256.0; + prolongation[0](52,30) = 15.0/256.0; + prolongation[0](52,31) = -5.0/256.0; + prolongation[0](52,52) = 225.0/256.0; + prolongation[0](52,53) = -75.0/256.0; + prolongation[0](52,54) = -75.0/256.0; + prolongation[0](52,55) = 25.0/256.0; + prolongation[0](53,24) = 5.0/16.0; + prolongation[0](53,30) = 1.0/16.0; + prolongation[0](53,52) = 15.0/16.0; + prolongation[0](53,54) = -5.0/16.0; + prolongation[0](54,14) = 5.0/16.0; + prolongation[0](54,22) = 1.0/16.0; + prolongation[0](54,52) = 15.0/16.0; + prolongation[0](54,53) = -5.0/16.0; + prolongation[0](55,52) = 1.0; + prolongation[0](56,0) = 125.0/4096.0; + prolongation[0](56,1) = 25.0/4096.0; + prolongation[0](56,2) = 5.0/4096.0; + prolongation[0](56,3) = 25.0/4096.0; + prolongation[0](56,4) = 25.0/4096.0; + prolongation[0](56,5) = 5.0/4096.0; + prolongation[0](56,6) = 1.0/4096.0; + prolongation[0](56,7) = 5.0/4096.0; + prolongation[0](56,8) = 375.0/4096.0; + prolongation[0](56,9) = -125.0/4096.0; + prolongation[0](56,10) = 75.0/4096.0; + prolongation[0](56,11) = -25.0/4096.0; + prolongation[0](56,12) = 75.0/4096.0; + prolongation[0](56,13) = -25.0/4096.0; + prolongation[0](56,14) = 375.0/4096.0; + prolongation[0](56,15) = -125.0/4096.0; + prolongation[0](56,16) = 75.0/4096.0; + prolongation[0](56,17) = -25.0/4096.0; + prolongation[0](56,18) = 15.0/4096.0; + prolongation[0](56,19) = -5.0/4096.0; + prolongation[0](56,20) = 15.0/4096.0; + prolongation[0](56,21) = -5.0/4096.0; + prolongation[0](56,22) = 75.0/4096.0; + prolongation[0](56,23) = -25.0/4096.0; + prolongation[0](56,24) = 375.0/4096.0; + prolongation[0](56,25) = -125.0/4096.0; + prolongation[0](56,26) = 75.0/4096.0; + prolongation[0](56,27) = -25.0/4096.0; + prolongation[0](56,28) = 15.0/4096.0; + prolongation[0](56,29) = -5.0/4096.0; + prolongation[0](56,30) = 75.0/4096.0; + prolongation[0](56,31) = -25.0/4096.0; + prolongation[0](56,32) = 1125.0/4096.0; + prolongation[0](56,33) = -375.0/4096.0; + prolongation[0](56,34) = -375.0/4096.0; + prolongation[0](56,35) = 125.0/4096.0; + prolongation[0](56,36) = 225.0/4096.0; + prolongation[0](56,37) = -75.0/4096.0; + prolongation[0](56,38) = -75.0/4096.0; + prolongation[0](56,39) = 25.0/4096.0; + prolongation[0](56,40) = 1125.0/4096.0; + prolongation[0](56,41) = -375.0/4096.0; + prolongation[0](56,42) = -375.0/4096.0; + prolongation[0](56,43) = 125.0/4096.0; + prolongation[0](56,44) = 225.0/4096.0; + prolongation[0](56,45) = -75.0/4096.0; + prolongation[0](56,46) = -75.0/4096.0; + prolongation[0](56,47) = 25.0/4096.0; + prolongation[0](56,48) = 225.0/4096.0; + prolongation[0](56,49) = -75.0/4096.0; + prolongation[0](56,50) = -75.0/4096.0; + prolongation[0](56,51) = 25.0/4096.0; + prolongation[0](56,52) = 1125.0/4096.0; + prolongation[0](56,53) = -375.0/4096.0; + prolongation[0](56,54) = -375.0/4096.0; + prolongation[0](56,55) = 125.0/4096.0; + prolongation[0](56,56) = 3375.0/4096.0; + prolongation[0](56,57) = -1125.0/4096.0; + prolongation[0](56,58) = -1125.0/4096.0; + prolongation[0](56,59) = 375.0/4096.0; + prolongation[0](56,60) = -1125.0/4096.0; + prolongation[0](56,61) = 375.0/4096.0; + prolongation[0](56,62) = 375.0/4096.0; + prolongation[0](56,63) = -125.0/4096.0; + prolongation[0](57,8) = 25.0/256.0; + prolongation[0](57,12) = 5.0/256.0; + prolongation[0](57,16) = 5.0/256.0; + prolongation[0](57,20) = 1.0/256.0; + prolongation[0](57,32) = 75.0/256.0; + prolongation[0](57,34) = -25.0/256.0; + prolongation[0](57,36) = 15.0/256.0; + prolongation[0](57,38) = -5.0/256.0; + prolongation[0](57,40) = 75.0/256.0; + prolongation[0](57,42) = -25.0/256.0; + prolongation[0](57,48) = 15.0/256.0; + prolongation[0](57,50) = -5.0/256.0; + prolongation[0](57,56) = 225.0/256.0; + prolongation[0](57,58) = -75.0/256.0; + prolongation[0](57,60) = -75.0/256.0; + prolongation[0](57,62) = 25.0/256.0; + prolongation[0](58,24) = 25.0/256.0; + prolongation[0](58,26) = 5.0/256.0; + prolongation[0](58,28) = 1.0/256.0; + prolongation[0](58,30) = 5.0/256.0; + prolongation[0](58,40) = 75.0/256.0; + prolongation[0](58,41) = -25.0/256.0; + prolongation[0](58,44) = 15.0/256.0; + prolongation[0](58,46) = -5.0/256.0; + prolongation[0](58,48) = 15.0/256.0; + prolongation[0](58,49) = -5.0/256.0; + prolongation[0](58,52) = 75.0/256.0; + prolongation[0](58,54) = -25.0/256.0; + prolongation[0](58,56) = 225.0/256.0; + prolongation[0](58,57) = -75.0/256.0; + prolongation[0](58,60) = -75.0/256.0; + prolongation[0](58,61) = 25.0/256.0; + prolongation[0](59,40) = 5.0/16.0; + prolongation[0](59,48) = 1.0/16.0; + prolongation[0](59,56) = 15.0/16.0; + prolongation[0](59,60) = -5.0/16.0; + prolongation[0](60,10) = 5.0/256.0; + prolongation[0](60,14) = 25.0/256.0; + prolongation[0](60,18) = 1.0/256.0; + prolongation[0](60,22) = 5.0/256.0; + prolongation[0](60,32) = 75.0/256.0; + prolongation[0](60,33) = -25.0/256.0; + prolongation[0](60,36) = 15.0/256.0; + prolongation[0](60,37) = -5.0/256.0; + prolongation[0](60,44) = 15.0/256.0; + prolongation[0](60,45) = -5.0/256.0; + prolongation[0](60,52) = 75.0/256.0; + prolongation[0](60,53) = -25.0/256.0; + prolongation[0](60,56) = 225.0/256.0; + prolongation[0](60,57) = -75.0/256.0; + prolongation[0](60,58) = -75.0/256.0; + prolongation[0](60,59) = 25.0/256.0; + prolongation[0](61,32) = 5.0/16.0; + prolongation[0](61,36) = 1.0/16.0; + prolongation[0](61,56) = 15.0/16.0; + prolongation[0](61,58) = -5.0/16.0; + prolongation[0](62,44) = 1.0/16.0; + prolongation[0](62,52) = 5.0/16.0; + prolongation[0](62,56) = 15.0/16.0; + prolongation[0](62,57) = -5.0/16.0; + prolongation[0](63,56) = 1.0; + prolongation[1](0,0) = -1.0/16.0; + prolongation[1](0,1) = -1.0/16.0; + prolongation[1](0,8) = 9.0/16.0; + prolongation[1](0,9) = 9.0/16.0; + prolongation[1](1,1) = 1.0; + prolongation[1](2,1) = -1.0/16.0; + prolongation[1](2,2) = -1.0/16.0; + prolongation[1](2,10) = 9.0/16.0; + prolongation[1](2,11) = 9.0/16.0; + prolongation[1](3,0) = 1.0/256.0; + prolongation[1](3,1) = 1.0/256.0; + prolongation[1](3,2) = 1.0/256.0; + prolongation[1](3,3) = 1.0/256.0; + prolongation[1](3,8) = -9.0/256.0; + prolongation[1](3,9) = -9.0/256.0; + prolongation[1](3,10) = -9.0/256.0; + prolongation[1](3,11) = -9.0/256.0; + prolongation[1](3,12) = -9.0/256.0; + prolongation[1](3,13) = -9.0/256.0; + prolongation[1](3,14) = -9.0/256.0; + prolongation[1](3,15) = -9.0/256.0; + prolongation[1](3,32) = 81.0/256.0; + prolongation[1](3,33) = 81.0/256.0; + prolongation[1](3,34) = 81.0/256.0; + prolongation[1](3,35) = 81.0/256.0; + prolongation[1](4,0) = 1.0/256.0; + prolongation[1](4,1) = 1.0/256.0; + prolongation[1](4,4) = 1.0/256.0; + prolongation[1](4,5) = 1.0/256.0; + prolongation[1](4,8) = -9.0/256.0; + prolongation[1](4,9) = -9.0/256.0; + prolongation[1](4,16) = -9.0/256.0; + prolongation[1](4,17) = -9.0/256.0; + prolongation[1](4,24) = -9.0/256.0; + prolongation[1](4,25) = -9.0/256.0; + prolongation[1](4,26) = -9.0/256.0; + prolongation[1](4,27) = -9.0/256.0; + prolongation[1](4,40) = 81.0/256.0; + prolongation[1](4,41) = 81.0/256.0; + prolongation[1](4,42) = 81.0/256.0; + prolongation[1](4,43) = 81.0/256.0; + prolongation[1](5,1) = -1.0/16.0; + prolongation[1](5,5) = -1.0/16.0; + prolongation[1](5,26) = 9.0/16.0; + prolongation[1](5,27) = 9.0/16.0; + prolongation[1](6,1) = 1.0/256.0; + prolongation[1](6,2) = 1.0/256.0; + prolongation[1](6,5) = 1.0/256.0; + prolongation[1](6,6) = 1.0/256.0; + prolongation[1](6,10) = -9.0/256.0; + prolongation[1](6,11) = -9.0/256.0; + prolongation[1](6,18) = -9.0/256.0; + prolongation[1](6,19) = -9.0/256.0; + prolongation[1](6,26) = -9.0/256.0; + prolongation[1](6,27) = -9.0/256.0; + prolongation[1](6,28) = -9.0/256.0; + prolongation[1](6,29) = -9.0/256.0; + prolongation[1](6,44) = 81.0/256.0; + prolongation[1](6,45) = 81.0/256.0; + prolongation[1](6,46) = 81.0/256.0; + prolongation[1](6,47) = 81.0/256.0; + prolongation[1](7,0) = -1.0/4096.0; + prolongation[1](7,1) = -1.0/4096.0; + prolongation[1](7,2) = -1.0/4096.0; + prolongation[1](7,3) = -1.0/4096.0; + prolongation[1](7,4) = -1.0/4096.0; + prolongation[1](7,5) = -1.0/4096.0; + prolongation[1](7,6) = -1.0/4096.0; + prolongation[1](7,7) = -1.0/4096.0; + prolongation[1](7,8) = 9.0/4096.0; + prolongation[1](7,9) = 9.0/4096.0; + prolongation[1](7,10) = 9.0/4096.0; + prolongation[1](7,11) = 9.0/4096.0; + prolongation[1](7,12) = 9.0/4096.0; + prolongation[1](7,13) = 9.0/4096.0; + prolongation[1](7,14) = 9.0/4096.0; + prolongation[1](7,15) = 9.0/4096.0; + prolongation[1](7,16) = 9.0/4096.0; + prolongation[1](7,17) = 9.0/4096.0; + prolongation[1](7,18) = 9.0/4096.0; + prolongation[1](7,19) = 9.0/4096.0; + prolongation[1](7,20) = 9.0/4096.0; + prolongation[1](7,21) = 9.0/4096.0; + prolongation[1](7,22) = 9.0/4096.0; + prolongation[1](7,23) = 9.0/4096.0; + prolongation[1](7,24) = 9.0/4096.0; + prolongation[1](7,25) = 9.0/4096.0; + prolongation[1](7,26) = 9.0/4096.0; + prolongation[1](7,27) = 9.0/4096.0; + prolongation[1](7,28) = 9.0/4096.0; + prolongation[1](7,29) = 9.0/4096.0; + prolongation[1](7,30) = 9.0/4096.0; + prolongation[1](7,31) = 9.0/4096.0; + prolongation[1](7,32) = -81.0/4096.0; + prolongation[1](7,33) = -81.0/4096.0; + prolongation[1](7,34) = -81.0/4096.0; + prolongation[1](7,35) = -81.0/4096.0; + prolongation[1](7,36) = -81.0/4096.0; + prolongation[1](7,37) = -81.0/4096.0; + prolongation[1](7,38) = -81.0/4096.0; + prolongation[1](7,39) = -81.0/4096.0; + prolongation[1](7,40) = -81.0/4096.0; + prolongation[1](7,41) = -81.0/4096.0; + prolongation[1](7,42) = -81.0/4096.0; + prolongation[1](7,43) = -81.0/4096.0; + prolongation[1](7,44) = -81.0/4096.0; + prolongation[1](7,45) = -81.0/4096.0; + prolongation[1](7,46) = -81.0/4096.0; + prolongation[1](7,47) = -81.0/4096.0; + prolongation[1](7,48) = -81.0/4096.0; + prolongation[1](7,49) = -81.0/4096.0; + prolongation[1](7,50) = -81.0/4096.0; + prolongation[1](7,51) = -81.0/4096.0; + prolongation[1](7,52) = -81.0/4096.0; + prolongation[1](7,53) = -81.0/4096.0; + prolongation[1](7,54) = -81.0/4096.0; + prolongation[1](7,55) = -81.0/4096.0; + prolongation[1](7,56) = 729.0/4096.0; + prolongation[1](7,57) = 729.0/4096.0; + prolongation[1](7,58) = 729.0/4096.0; + prolongation[1](7,59) = 729.0/4096.0; + prolongation[1](7,60) = 729.0/4096.0; + prolongation[1](7,61) = 729.0/4096.0; + prolongation[1](7,62) = 729.0/4096.0; + prolongation[1](7,63) = 729.0/4096.0; + prolongation[1](8,9) = 1.0; + prolongation[1](9,0) = 1.0/16.0; + prolongation[1](9,1) = 5.0/16.0; + prolongation[1](9,8) = -5.0/16.0; + prolongation[1](9,9) = 15.0/16.0; + prolongation[1](10,1) = 5.0/16.0; + prolongation[1](10,2) = 1.0/16.0; + prolongation[1](10,10) = 15.0/16.0; + prolongation[1](10,11) = -5.0/16.0; + prolongation[1](11,10) = 1.0; + prolongation[1](12,9) = -1.0/16.0; + prolongation[1](12,13) = -1.0/16.0; + prolongation[1](12,33) = 9.0/16.0; + prolongation[1](12,35) = 9.0/16.0; + prolongation[1](13,0) = -1.0/256.0; + prolongation[1](13,1) = -5.0/256.0; + prolongation[1](13,2) = -5.0/256.0; + prolongation[1](13,3) = -1.0/256.0; + prolongation[1](13,8) = 5.0/256.0; + prolongation[1](13,9) = -15.0/256.0; + prolongation[1](13,10) = 45.0/256.0; + prolongation[1](13,11) = 45.0/256.0; + prolongation[1](13,12) = 5.0/256.0; + prolongation[1](13,13) = -15.0/256.0; + prolongation[1](13,14) = 9.0/256.0; + prolongation[1](13,15) = 9.0/256.0; + prolongation[1](13,32) = -45.0/256.0; + prolongation[1](13,33) = 135.0/256.0; + prolongation[1](13,34) = -45.0/256.0; + prolongation[1](13,35) = 135.0/256.0; + prolongation[1](14,0) = -5.0/256.0; + prolongation[1](14,1) = -5.0/256.0; + prolongation[1](14,2) = -1.0/256.0; + prolongation[1](14,3) = -1.0/256.0; + prolongation[1](14,8) = 45.0/256.0; + prolongation[1](14,9) = 45.0/256.0; + prolongation[1](14,10) = -15.0/256.0; + prolongation[1](14,11) = 5.0/256.0; + prolongation[1](14,12) = 9.0/256.0; + prolongation[1](14,13) = 9.0/256.0; + prolongation[1](14,14) = -15.0/256.0; + prolongation[1](14,15) = 5.0/256.0; + prolongation[1](14,32) = 135.0/256.0; + prolongation[1](14,33) = 135.0/256.0; + prolongation[1](14,34) = -45.0/256.0; + prolongation[1](14,35) = -45.0/256.0; + prolongation[1](15,10) = -1.0/16.0; + prolongation[1](15,14) = -1.0/16.0; + prolongation[1](15,32) = 9.0/16.0; + prolongation[1](15,33) = 9.0/16.0; + prolongation[1](16,9) = -1.0/16.0; + prolongation[1](16,17) = -1.0/16.0; + prolongation[1](16,41) = 9.0/16.0; + prolongation[1](16,43) = 9.0/16.0; + prolongation[1](17,0) = -1.0/256.0; + prolongation[1](17,1) = -5.0/256.0; + prolongation[1](17,4) = -1.0/256.0; + prolongation[1](17,5) = -5.0/256.0; + prolongation[1](17,8) = 5.0/256.0; + prolongation[1](17,9) = -15.0/256.0; + prolongation[1](17,16) = 5.0/256.0; + prolongation[1](17,17) = -15.0/256.0; + prolongation[1](17,24) = 9.0/256.0; + prolongation[1](17,25) = 9.0/256.0; + prolongation[1](17,26) = 45.0/256.0; + prolongation[1](17,27) = 45.0/256.0; + prolongation[1](17,40) = -45.0/256.0; + prolongation[1](17,41) = 135.0/256.0; + prolongation[1](17,42) = -45.0/256.0; + prolongation[1](17,43) = 135.0/256.0; + prolongation[1](18,1) = -5.0/256.0; + prolongation[1](18,2) = -1.0/256.0; + prolongation[1](18,5) = -5.0/256.0; + prolongation[1](18,6) = -1.0/256.0; + prolongation[1](18,10) = -15.0/256.0; + prolongation[1](18,11) = 5.0/256.0; + prolongation[1](18,18) = -15.0/256.0; + prolongation[1](18,19) = 5.0/256.0; + prolongation[1](18,26) = 45.0/256.0; + prolongation[1](18,27) = 45.0/256.0; + prolongation[1](18,28) = 9.0/256.0; + prolongation[1](18,29) = 9.0/256.0; + prolongation[1](18,44) = 135.0/256.0; + prolongation[1](18,45) = 135.0/256.0; + prolongation[1](18,46) = -45.0/256.0; + prolongation[1](18,47) = -45.0/256.0; + prolongation[1](19,10) = -1.0/16.0; + prolongation[1](19,18) = -1.0/16.0; + prolongation[1](19,44) = 9.0/16.0; + prolongation[1](19,45) = 9.0/16.0; + prolongation[1](20,9) = 1.0/256.0; + prolongation[1](20,13) = 1.0/256.0; + prolongation[1](20,17) = 1.0/256.0; + prolongation[1](20,21) = 1.0/256.0; + prolongation[1](20,33) = -9.0/256.0; + prolongation[1](20,35) = -9.0/256.0; + prolongation[1](20,37) = -9.0/256.0; + prolongation[1](20,39) = -9.0/256.0; + prolongation[1](20,41) = -9.0/256.0; + prolongation[1](20,43) = -9.0/256.0; + prolongation[1](20,49) = -9.0/256.0; + prolongation[1](20,51) = -9.0/256.0; + prolongation[1](20,57) = 81.0/256.0; + prolongation[1](20,59) = 81.0/256.0; + prolongation[1](20,61) = 81.0/256.0; + prolongation[1](20,63) = 81.0/256.0; + prolongation[1](21,0) = 1.0/4096.0; + prolongation[1](21,1) = 5.0/4096.0; + prolongation[1](21,2) = 5.0/4096.0; + prolongation[1](21,3) = 1.0/4096.0; + prolongation[1](21,4) = 1.0/4096.0; + prolongation[1](21,5) = 5.0/4096.0; + prolongation[1](21,6) = 5.0/4096.0; + prolongation[1](21,7) = 1.0/4096.0; + prolongation[1](21,8) = -5.0/4096.0; + prolongation[1](21,9) = 15.0/4096.0; + prolongation[1](21,10) = -45.0/4096.0; + prolongation[1](21,11) = -45.0/4096.0; + prolongation[1](21,12) = -5.0/4096.0; + prolongation[1](21,13) = 15.0/4096.0; + prolongation[1](21,14) = -9.0/4096.0; + prolongation[1](21,15) = -9.0/4096.0; + prolongation[1](21,16) = -5.0/4096.0; + prolongation[1](21,17) = 15.0/4096.0; + prolongation[1](21,18) = -45.0/4096.0; + prolongation[1](21,19) = -45.0/4096.0; + prolongation[1](21,20) = -5.0/4096.0; + prolongation[1](21,21) = 15.0/4096.0; + prolongation[1](21,22) = -9.0/4096.0; + prolongation[1](21,23) = -9.0/4096.0; + prolongation[1](21,24) = -9.0/4096.0; + prolongation[1](21,25) = -9.0/4096.0; + prolongation[1](21,26) = -45.0/4096.0; + prolongation[1](21,27) = -45.0/4096.0; + prolongation[1](21,28) = -45.0/4096.0; + prolongation[1](21,29) = -45.0/4096.0; + prolongation[1](21,30) = -9.0/4096.0; + prolongation[1](21,31) = -9.0/4096.0; + prolongation[1](21,32) = 45.0/4096.0; + prolongation[1](21,33) = -135.0/4096.0; + prolongation[1](21,34) = 45.0/4096.0; + prolongation[1](21,35) = -135.0/4096.0; + prolongation[1](21,36) = 45.0/4096.0; + prolongation[1](21,37) = -135.0/4096.0; + prolongation[1](21,38) = 45.0/4096.0; + prolongation[1](21,39) = -135.0/4096.0; + prolongation[1](21,40) = 45.0/4096.0; + prolongation[1](21,41) = -135.0/4096.0; + prolongation[1](21,42) = 45.0/4096.0; + prolongation[1](21,43) = -135.0/4096.0; + prolongation[1](21,44) = 405.0/4096.0; + prolongation[1](21,45) = 405.0/4096.0; + prolongation[1](21,46) = 405.0/4096.0; + prolongation[1](21,47) = 405.0/4096.0; + prolongation[1](21,48) = 45.0/4096.0; + prolongation[1](21,49) = -135.0/4096.0; + prolongation[1](21,50) = 45.0/4096.0; + prolongation[1](21,51) = -135.0/4096.0; + prolongation[1](21,52) = 81.0/4096.0; + prolongation[1](21,53) = 81.0/4096.0; + prolongation[1](21,54) = 81.0/4096.0; + prolongation[1](21,55) = 81.0/4096.0; + prolongation[1](21,56) = -405.0/4096.0; + prolongation[1](21,57) = 1215.0/4096.0; + prolongation[1](21,58) = -405.0/4096.0; + prolongation[1](21,59) = 1215.0/4096.0; + prolongation[1](21,60) = -405.0/4096.0; + prolongation[1](21,61) = 1215.0/4096.0; + prolongation[1](21,62) = -405.0/4096.0; + prolongation[1](21,63) = 1215.0/4096.0; + prolongation[1](22,0) = 5.0/4096.0; + prolongation[1](22,1) = 5.0/4096.0; + prolongation[1](22,2) = 1.0/4096.0; + prolongation[1](22,3) = 1.0/4096.0; + prolongation[1](22,4) = 5.0/4096.0; + prolongation[1](22,5) = 5.0/4096.0; + prolongation[1](22,6) = 1.0/4096.0; + prolongation[1](22,7) = 1.0/4096.0; + prolongation[1](22,8) = -45.0/4096.0; + prolongation[1](22,9) = -45.0/4096.0; + prolongation[1](22,10) = 15.0/4096.0; + prolongation[1](22,11) = -5.0/4096.0; + prolongation[1](22,12) = -9.0/4096.0; + prolongation[1](22,13) = -9.0/4096.0; + prolongation[1](22,14) = 15.0/4096.0; + prolongation[1](22,15) = -5.0/4096.0; + prolongation[1](22,16) = -45.0/4096.0; + prolongation[1](22,17) = -45.0/4096.0; + prolongation[1](22,18) = 15.0/4096.0; + prolongation[1](22,19) = -5.0/4096.0; + prolongation[1](22,20) = -9.0/4096.0; + prolongation[1](22,21) = -9.0/4096.0; + prolongation[1](22,22) = 15.0/4096.0; + prolongation[1](22,23) = -5.0/4096.0; + prolongation[1](22,24) = -45.0/4096.0; + prolongation[1](22,25) = -45.0/4096.0; + prolongation[1](22,26) = -45.0/4096.0; + prolongation[1](22,27) = -45.0/4096.0; + prolongation[1](22,28) = -9.0/4096.0; + prolongation[1](22,29) = -9.0/4096.0; + prolongation[1](22,30) = -9.0/4096.0; + prolongation[1](22,31) = -9.0/4096.0; + prolongation[1](22,32) = -135.0/4096.0; + prolongation[1](22,33) = -135.0/4096.0; + prolongation[1](22,34) = 45.0/4096.0; + prolongation[1](22,35) = 45.0/4096.0; + prolongation[1](22,36) = -135.0/4096.0; + prolongation[1](22,37) = -135.0/4096.0; + prolongation[1](22,38) = 45.0/4096.0; + prolongation[1](22,39) = 45.0/4096.0; + prolongation[1](22,40) = 405.0/4096.0; + prolongation[1](22,41) = 405.0/4096.0; + prolongation[1](22,42) = 405.0/4096.0; + prolongation[1](22,43) = 405.0/4096.0; + prolongation[1](22,44) = -135.0/4096.0; + prolongation[1](22,45) = -135.0/4096.0; + prolongation[1](22,46) = 45.0/4096.0; + prolongation[1](22,47) = 45.0/4096.0; + prolongation[1](22,48) = 81.0/4096.0; + prolongation[1](22,49) = 81.0/4096.0; + prolongation[1](22,50) = 81.0/4096.0; + prolongation[1](22,51) = 81.0/4096.0; + prolongation[1](22,52) = -135.0/4096.0; + prolongation[1](22,53) = -135.0/4096.0; + prolongation[1](22,54) = 45.0/4096.0; + prolongation[1](22,55) = 45.0/4096.0; + prolongation[1](22,56) = 1215.0/4096.0; + prolongation[1](22,57) = 1215.0/4096.0; + prolongation[1](22,58) = 1215.0/4096.0; + prolongation[1](22,59) = 1215.0/4096.0; + prolongation[1](22,60) = -405.0/4096.0; + prolongation[1](22,61) = -405.0/4096.0; + prolongation[1](22,62) = -405.0/4096.0; + prolongation[1](22,63) = -405.0/4096.0; + prolongation[1](23,10) = 1.0/256.0; + prolongation[1](23,14) = 1.0/256.0; + prolongation[1](23,18) = 1.0/256.0; + prolongation[1](23,22) = 1.0/256.0; + prolongation[1](23,32) = -9.0/256.0; + prolongation[1](23,33) = -9.0/256.0; + prolongation[1](23,36) = -9.0/256.0; + prolongation[1](23,37) = -9.0/256.0; + prolongation[1](23,44) = -9.0/256.0; + prolongation[1](23,45) = -9.0/256.0; + prolongation[1](23,52) = -9.0/256.0; + prolongation[1](23,53) = -9.0/256.0; + prolongation[1](23,56) = 81.0/256.0; + prolongation[1](23,57) = 81.0/256.0; + prolongation[1](23,58) = 81.0/256.0; + prolongation[1](23,59) = 81.0/256.0; + prolongation[1](24,0) = -5.0/256.0; + prolongation[1](24,1) = -5.0/256.0; + prolongation[1](24,4) = -1.0/256.0; + prolongation[1](24,5) = -1.0/256.0; + prolongation[1](24,8) = 45.0/256.0; + prolongation[1](24,9) = 45.0/256.0; + prolongation[1](24,16) = 9.0/256.0; + prolongation[1](24,17) = 9.0/256.0; + prolongation[1](24,24) = -15.0/256.0; + prolongation[1](24,25) = 5.0/256.0; + prolongation[1](24,26) = -15.0/256.0; + prolongation[1](24,27) = 5.0/256.0; + prolongation[1](24,40) = 135.0/256.0; + prolongation[1](24,41) = 135.0/256.0; + prolongation[1](24,42) = -45.0/256.0; + prolongation[1](24,43) = -45.0/256.0; + prolongation[1](25,24) = -1.0/16.0; + prolongation[1](25,26) = -1.0/16.0; + prolongation[1](25,40) = 9.0/16.0; + prolongation[1](25,41) = 9.0/16.0; + prolongation[1](26,1) = 5.0/16.0; + prolongation[1](26,5) = 1.0/16.0; + prolongation[1](26,26) = 15.0/16.0; + prolongation[1](26,27) = -5.0/16.0; + prolongation[1](27,26) = 1.0; + prolongation[1](28,1) = -5.0/256.0; + prolongation[1](28,2) = -5.0/256.0; + prolongation[1](28,5) = -1.0/256.0; + prolongation[1](28,6) = -1.0/256.0; + prolongation[1](28,10) = 45.0/256.0; + prolongation[1](28,11) = 45.0/256.0; + prolongation[1](28,18) = 9.0/256.0; + prolongation[1](28,19) = 9.0/256.0; + prolongation[1](28,26) = -15.0/256.0; + prolongation[1](28,27) = 5.0/256.0; + prolongation[1](28,28) = -15.0/256.0; + prolongation[1](28,29) = 5.0/256.0; + prolongation[1](28,44) = 135.0/256.0; + prolongation[1](28,45) = -45.0/256.0; + prolongation[1](28,46) = 135.0/256.0; + prolongation[1](28,47) = -45.0/256.0; + prolongation[1](29,26) = -1.0/16.0; + prolongation[1](29,28) = -1.0/16.0; + prolongation[1](29,44) = 9.0/16.0; + prolongation[1](29,46) = 9.0/16.0; + prolongation[1](30,0) = 5.0/4096.0; + prolongation[1](30,1) = 5.0/4096.0; + prolongation[1](30,2) = 5.0/4096.0; + prolongation[1](30,3) = 5.0/4096.0; + prolongation[1](30,4) = 1.0/4096.0; + prolongation[1](30,5) = 1.0/4096.0; + prolongation[1](30,6) = 1.0/4096.0; + prolongation[1](30,7) = 1.0/4096.0; + prolongation[1](30,8) = -45.0/4096.0; + prolongation[1](30,9) = -45.0/4096.0; + prolongation[1](30,10) = -45.0/4096.0; + prolongation[1](30,11) = -45.0/4096.0; + prolongation[1](30,12) = -45.0/4096.0; + prolongation[1](30,13) = -45.0/4096.0; + prolongation[1](30,14) = -45.0/4096.0; + prolongation[1](30,15) = -45.0/4096.0; + prolongation[1](30,16) = -9.0/4096.0; + prolongation[1](30,17) = -9.0/4096.0; + prolongation[1](30,18) = -9.0/4096.0; + prolongation[1](30,19) = -9.0/4096.0; + prolongation[1](30,20) = -9.0/4096.0; + prolongation[1](30,21) = -9.0/4096.0; + prolongation[1](30,22) = -9.0/4096.0; + prolongation[1](30,23) = -9.0/4096.0; + prolongation[1](30,24) = 15.0/4096.0; + prolongation[1](30,25) = -5.0/4096.0; + prolongation[1](30,26) = 15.0/4096.0; + prolongation[1](30,27) = -5.0/4096.0; + prolongation[1](30,28) = 15.0/4096.0; + prolongation[1](30,29) = -5.0/4096.0; + prolongation[1](30,30) = 15.0/4096.0; + prolongation[1](30,31) = -5.0/4096.0; + prolongation[1](30,32) = 405.0/4096.0; + prolongation[1](30,33) = 405.0/4096.0; + prolongation[1](30,34) = 405.0/4096.0; + prolongation[1](30,35) = 405.0/4096.0; + prolongation[1](30,36) = 81.0/4096.0; + prolongation[1](30,37) = 81.0/4096.0; + prolongation[1](30,38) = 81.0/4096.0; + prolongation[1](30,39) = 81.0/4096.0; + prolongation[1](30,40) = -135.0/4096.0; + prolongation[1](30,41) = -135.0/4096.0; + prolongation[1](30,42) = 45.0/4096.0; + prolongation[1](30,43) = 45.0/4096.0; + prolongation[1](30,44) = -135.0/4096.0; + prolongation[1](30,45) = 45.0/4096.0; + prolongation[1](30,46) = -135.0/4096.0; + prolongation[1](30,47) = 45.0/4096.0; + prolongation[1](30,48) = -135.0/4096.0; + prolongation[1](30,49) = -135.0/4096.0; + prolongation[1](30,50) = 45.0/4096.0; + prolongation[1](30,51) = 45.0/4096.0; + prolongation[1](30,52) = -135.0/4096.0; + prolongation[1](30,53) = 45.0/4096.0; + prolongation[1](30,54) = -135.0/4096.0; + prolongation[1](30,55) = 45.0/4096.0; + prolongation[1](30,56) = 1215.0/4096.0; + prolongation[1](30,57) = 1215.0/4096.0; + prolongation[1](30,58) = -405.0/4096.0; + prolongation[1](30,59) = -405.0/4096.0; + prolongation[1](30,60) = 1215.0/4096.0; + prolongation[1](30,61) = 1215.0/4096.0; + prolongation[1](30,62) = -405.0/4096.0; + prolongation[1](30,63) = -405.0/4096.0; + prolongation[1](31,24) = 1.0/256.0; + prolongation[1](31,26) = 1.0/256.0; + prolongation[1](31,28) = 1.0/256.0; + prolongation[1](31,30) = 1.0/256.0; + prolongation[1](31,40) = -9.0/256.0; + prolongation[1](31,41) = -9.0/256.0; + prolongation[1](31,44) = -9.0/256.0; + prolongation[1](31,46) = -9.0/256.0; + prolongation[1](31,48) = -9.0/256.0; + prolongation[1](31,49) = -9.0/256.0; + prolongation[1](31,52) = -9.0/256.0; + prolongation[1](31,54) = -9.0/256.0; + prolongation[1](31,56) = 81.0/256.0; + prolongation[1](31,57) = 81.0/256.0; + prolongation[1](31,60) = 81.0/256.0; + prolongation[1](31,61) = 81.0/256.0; + prolongation[1](32,9) = 5.0/16.0; + prolongation[1](32,13) = 1.0/16.0; + prolongation[1](32,33) = 15.0/16.0; + prolongation[1](32,35) = -5.0/16.0; + prolongation[1](33,0) = 5.0/256.0; + prolongation[1](33,1) = 25.0/256.0; + prolongation[1](33,2) = 5.0/256.0; + prolongation[1](33,3) = 1.0/256.0; + prolongation[1](33,8) = -25.0/256.0; + prolongation[1](33,9) = 75.0/256.0; + prolongation[1](33,10) = 75.0/256.0; + prolongation[1](33,11) = -25.0/256.0; + prolongation[1](33,12) = -5.0/256.0; + prolongation[1](33,13) = 15.0/256.0; + prolongation[1](33,14) = 15.0/256.0; + prolongation[1](33,15) = -5.0/256.0; + prolongation[1](33,32) = -75.0/256.0; + prolongation[1](33,33) = 225.0/256.0; + prolongation[1](33,34) = 25.0/256.0; + prolongation[1](33,35) = -75.0/256.0; + prolongation[1](34,33) = 1.0; + prolongation[1](35,10) = 5.0/16.0; + prolongation[1](35,14) = 1.0/16.0; + prolongation[1](35,32) = -5.0/16.0; + prolongation[1](35,33) = 15.0/16.0; + prolongation[1](36,9) = -5.0/256.0; + prolongation[1](36,13) = -1.0/256.0; + prolongation[1](36,17) = -5.0/256.0; + prolongation[1](36,21) = -1.0/256.0; + prolongation[1](36,33) = -15.0/256.0; + prolongation[1](36,35) = 5.0/256.0; + prolongation[1](36,37) = -15.0/256.0; + prolongation[1](36,39) = 5.0/256.0; + prolongation[1](36,41) = 45.0/256.0; + prolongation[1](36,43) = 45.0/256.0; + prolongation[1](36,49) = 9.0/256.0; + prolongation[1](36,51) = 9.0/256.0; + prolongation[1](36,57) = 135.0/256.0; + prolongation[1](36,59) = 135.0/256.0; + prolongation[1](36,61) = -45.0/256.0; + prolongation[1](36,63) = -45.0/256.0; + prolongation[1](37,0) = -5.0/4096.0; + prolongation[1](37,1) = -25.0/4096.0; + prolongation[1](37,2) = -5.0/4096.0; + prolongation[1](37,3) = -1.0/4096.0; + prolongation[1](37,4) = -5.0/4096.0; + prolongation[1](37,5) = -25.0/4096.0; + prolongation[1](37,6) = -5.0/4096.0; + prolongation[1](37,7) = -1.0/4096.0; + prolongation[1](37,8) = 25.0/4096.0; + prolongation[1](37,9) = -75.0/4096.0; + prolongation[1](37,10) = -75.0/4096.0; + prolongation[1](37,11) = 25.0/4096.0; + prolongation[1](37,12) = 5.0/4096.0; + prolongation[1](37,13) = -15.0/4096.0; + prolongation[1](37,14) = -15.0/4096.0; + prolongation[1](37,15) = 5.0/4096.0; + prolongation[1](37,16) = 25.0/4096.0; + prolongation[1](37,17) = -75.0/4096.0; + prolongation[1](37,18) = -75.0/4096.0; + prolongation[1](37,19) = 25.0/4096.0; + prolongation[1](37,20) = 5.0/4096.0; + prolongation[1](37,21) = -15.0/4096.0; + prolongation[1](37,22) = -15.0/4096.0; + prolongation[1](37,23) = 5.0/4096.0; + prolongation[1](37,24) = 45.0/4096.0; + prolongation[1](37,25) = 45.0/4096.0; + prolongation[1](37,26) = 225.0/4096.0; + prolongation[1](37,27) = 225.0/4096.0; + prolongation[1](37,28) = 45.0/4096.0; + prolongation[1](37,29) = 45.0/4096.0; + prolongation[1](37,30) = 9.0/4096.0; + prolongation[1](37,31) = 9.0/4096.0; + prolongation[1](37,32) = 75.0/4096.0; + prolongation[1](37,33) = -225.0/4096.0; + prolongation[1](37,34) = -25.0/4096.0; + prolongation[1](37,35) = 75.0/4096.0; + prolongation[1](37,36) = 75.0/4096.0; + prolongation[1](37,37) = -225.0/4096.0; + prolongation[1](37,38) = -25.0/4096.0; + prolongation[1](37,39) = 75.0/4096.0; + prolongation[1](37,40) = -225.0/4096.0; + prolongation[1](37,41) = 675.0/4096.0; + prolongation[1](37,42) = -225.0/4096.0; + prolongation[1](37,43) = 675.0/4096.0; + prolongation[1](37,44) = 675.0/4096.0; + prolongation[1](37,45) = 675.0/4096.0; + prolongation[1](37,46) = -225.0/4096.0; + prolongation[1](37,47) = -225.0/4096.0; + prolongation[1](37,48) = -45.0/4096.0; + prolongation[1](37,49) = 135.0/4096.0; + prolongation[1](37,50) = -45.0/4096.0; + prolongation[1](37,51) = 135.0/4096.0; + prolongation[1](37,52) = 135.0/4096.0; + prolongation[1](37,53) = 135.0/4096.0; + prolongation[1](37,54) = -45.0/4096.0; + prolongation[1](37,55) = -45.0/4096.0; + prolongation[1](37,56) = -675.0/4096.0; + prolongation[1](37,57) = 2025.0/4096.0; + prolongation[1](37,58) = -675.0/4096.0; + prolongation[1](37,59) = 2025.0/4096.0; + prolongation[1](37,60) = 225.0/4096.0; + prolongation[1](37,61) = -675.0/4096.0; + prolongation[1](37,62) = 225.0/4096.0; + prolongation[1](37,63) = -675.0/4096.0; + prolongation[1](38,33) = -1.0/16.0; + prolongation[1](38,37) = -1.0/16.0; + prolongation[1](38,57) = 9.0/16.0; + prolongation[1](38,59) = 9.0/16.0; + prolongation[1](39,10) = -5.0/256.0; + prolongation[1](39,14) = -1.0/256.0; + prolongation[1](39,18) = -5.0/256.0; + prolongation[1](39,22) = -1.0/256.0; + prolongation[1](39,32) = 5.0/256.0; + prolongation[1](39,33) = -15.0/256.0; + prolongation[1](39,36) = 5.0/256.0; + prolongation[1](39,37) = -15.0/256.0; + prolongation[1](39,44) = 45.0/256.0; + prolongation[1](39,45) = 45.0/256.0; + prolongation[1](39,52) = 9.0/256.0; + prolongation[1](39,53) = 9.0/256.0; + prolongation[1](39,56) = -45.0/256.0; + prolongation[1](39,57) = 135.0/256.0; + prolongation[1](39,58) = -45.0/256.0; + prolongation[1](39,59) = 135.0/256.0; + prolongation[1](40,9) = 5.0/16.0; + prolongation[1](40,17) = 1.0/16.0; + prolongation[1](40,41) = 15.0/16.0; + prolongation[1](40,43) = -5.0/16.0; + prolongation[1](41,0) = 5.0/256.0; + prolongation[1](41,1) = 25.0/256.0; + prolongation[1](41,4) = 1.0/256.0; + prolongation[1](41,5) = 5.0/256.0; + prolongation[1](41,8) = -25.0/256.0; + prolongation[1](41,9) = 75.0/256.0; + prolongation[1](41,16) = -5.0/256.0; + prolongation[1](41,17) = 15.0/256.0; + prolongation[1](41,24) = 15.0/256.0; + prolongation[1](41,25) = -5.0/256.0; + prolongation[1](41,26) = 75.0/256.0; + prolongation[1](41,27) = -25.0/256.0; + prolongation[1](41,40) = -75.0/256.0; + prolongation[1](41,41) = 225.0/256.0; + prolongation[1](41,42) = 25.0/256.0; + prolongation[1](41,43) = -75.0/256.0; + prolongation[1](42,41) = 1.0; + prolongation[1](43,24) = 1.0/16.0; + prolongation[1](43,26) = 5.0/16.0; + prolongation[1](43,40) = -5.0/16.0; + prolongation[1](43,41) = 15.0/16.0; + prolongation[1](44,1) = 25.0/256.0; + prolongation[1](44,2) = 5.0/256.0; + prolongation[1](44,5) = 5.0/256.0; + prolongation[1](44,6) = 1.0/256.0; + prolongation[1](44,10) = 75.0/256.0; + prolongation[1](44,11) = -25.0/256.0; + prolongation[1](44,18) = 15.0/256.0; + prolongation[1](44,19) = -5.0/256.0; + prolongation[1](44,26) = 75.0/256.0; + prolongation[1](44,27) = -25.0/256.0; + prolongation[1](44,28) = 15.0/256.0; + prolongation[1](44,29) = -5.0/256.0; + prolongation[1](44,44) = 225.0/256.0; + prolongation[1](44,45) = -75.0/256.0; + prolongation[1](44,46) = -75.0/256.0; + prolongation[1](44,47) = 25.0/256.0; + prolongation[1](45,26) = 5.0/16.0; + prolongation[1](45,28) = 1.0/16.0; + prolongation[1](45,44) = 15.0/16.0; + prolongation[1](45,46) = -5.0/16.0; + prolongation[1](46,10) = 5.0/16.0; + prolongation[1](46,18) = 1.0/16.0; + prolongation[1](46,44) = 15.0/16.0; + prolongation[1](46,45) = -5.0/16.0; + prolongation[1](47,44) = 1.0; + prolongation[1](48,9) = -5.0/256.0; + prolongation[1](48,13) = -5.0/256.0; + prolongation[1](48,17) = -1.0/256.0; + prolongation[1](48,21) = -1.0/256.0; + prolongation[1](48,33) = 45.0/256.0; + prolongation[1](48,35) = 45.0/256.0; + prolongation[1](48,37) = 9.0/256.0; + prolongation[1](48,39) = 9.0/256.0; + prolongation[1](48,41) = -15.0/256.0; + prolongation[1](48,43) = 5.0/256.0; + prolongation[1](48,49) = -15.0/256.0; + prolongation[1](48,51) = 5.0/256.0; + prolongation[1](48,57) = 135.0/256.0; + prolongation[1](48,59) = -45.0/256.0; + prolongation[1](48,61) = 135.0/256.0; + prolongation[1](48,63) = -45.0/256.0; + prolongation[1](49,0) = -5.0/4096.0; + prolongation[1](49,1) = -25.0/4096.0; + prolongation[1](49,2) = -25.0/4096.0; + prolongation[1](49,3) = -5.0/4096.0; + prolongation[1](49,4) = -1.0/4096.0; + prolongation[1](49,5) = -5.0/4096.0; + prolongation[1](49,6) = -5.0/4096.0; + prolongation[1](49,7) = -1.0/4096.0; + prolongation[1](49,8) = 25.0/4096.0; + prolongation[1](49,9) = -75.0/4096.0; + prolongation[1](49,10) = 225.0/4096.0; + prolongation[1](49,11) = 225.0/4096.0; + prolongation[1](49,12) = 25.0/4096.0; + prolongation[1](49,13) = -75.0/4096.0; + prolongation[1](49,14) = 45.0/4096.0; + prolongation[1](49,15) = 45.0/4096.0; + prolongation[1](49,16) = 5.0/4096.0; + prolongation[1](49,17) = -15.0/4096.0; + prolongation[1](49,18) = 45.0/4096.0; + prolongation[1](49,19) = 45.0/4096.0; + prolongation[1](49,20) = 5.0/4096.0; + prolongation[1](49,21) = -15.0/4096.0; + prolongation[1](49,22) = 9.0/4096.0; + prolongation[1](49,23) = 9.0/4096.0; + prolongation[1](49,24) = -15.0/4096.0; + prolongation[1](49,25) = 5.0/4096.0; + prolongation[1](49,26) = -75.0/4096.0; + prolongation[1](49,27) = 25.0/4096.0; + prolongation[1](49,28) = -75.0/4096.0; + prolongation[1](49,29) = 25.0/4096.0; + prolongation[1](49,30) = -15.0/4096.0; + prolongation[1](49,31) = 5.0/4096.0; + prolongation[1](49,32) = -225.0/4096.0; + prolongation[1](49,33) = 675.0/4096.0; + prolongation[1](49,34) = -225.0/4096.0; + prolongation[1](49,35) = 675.0/4096.0; + prolongation[1](49,36) = -45.0/4096.0; + prolongation[1](49,37) = 135.0/4096.0; + prolongation[1](49,38) = -45.0/4096.0; + prolongation[1](49,39) = 135.0/4096.0; + prolongation[1](49,40) = 75.0/4096.0; + prolongation[1](49,41) = -225.0/4096.0; + prolongation[1](49,42) = -25.0/4096.0; + prolongation[1](49,43) = 75.0/4096.0; + prolongation[1](49,44) = 675.0/4096.0; + prolongation[1](49,45) = -225.0/4096.0; + prolongation[1](49,46) = 675.0/4096.0; + prolongation[1](49,47) = -225.0/4096.0; + prolongation[1](49,48) = 75.0/4096.0; + prolongation[1](49,49) = -225.0/4096.0; + prolongation[1](49,50) = -25.0/4096.0; + prolongation[1](49,51) = 75.0/4096.0; + prolongation[1](49,52) = 135.0/4096.0; + prolongation[1](49,53) = -45.0/4096.0; + prolongation[1](49,54) = 135.0/4096.0; + prolongation[1](49,55) = -45.0/4096.0; + prolongation[1](49,56) = -675.0/4096.0; + prolongation[1](49,57) = 2025.0/4096.0; + prolongation[1](49,58) = 225.0/4096.0; + prolongation[1](49,59) = -675.0/4096.0; + prolongation[1](49,60) = -675.0/4096.0; + prolongation[1](49,61) = 2025.0/4096.0; + prolongation[1](49,62) = 225.0/4096.0; + prolongation[1](49,63) = -675.0/4096.0; + prolongation[1](50,41) = -1.0/16.0; + prolongation[1](50,49) = -1.0/16.0; + prolongation[1](50,57) = 9.0/16.0; + prolongation[1](50,61) = 9.0/16.0; + prolongation[1](51,24) = -1.0/256.0; + prolongation[1](51,26) = -5.0/256.0; + prolongation[1](51,28) = -5.0/256.0; + prolongation[1](51,30) = -1.0/256.0; + prolongation[1](51,40) = 5.0/256.0; + prolongation[1](51,41) = -15.0/256.0; + prolongation[1](51,44) = 45.0/256.0; + prolongation[1](51,46) = 45.0/256.0; + prolongation[1](51,48) = 5.0/256.0; + prolongation[1](51,49) = -15.0/256.0; + prolongation[1](51,52) = 9.0/256.0; + prolongation[1](51,54) = 9.0/256.0; + prolongation[1](51,56) = -45.0/256.0; + prolongation[1](51,57) = 135.0/256.0; + prolongation[1](51,60) = -45.0/256.0; + prolongation[1](51,61) = 135.0/256.0; + prolongation[1](52,0) = -25.0/4096.0; + prolongation[1](52,1) = -25.0/4096.0; + prolongation[1](52,2) = -5.0/4096.0; + prolongation[1](52,3) = -5.0/4096.0; + prolongation[1](52,4) = -5.0/4096.0; + prolongation[1](52,5) = -5.0/4096.0; + prolongation[1](52,6) = -1.0/4096.0; + prolongation[1](52,7) = -1.0/4096.0; + prolongation[1](52,8) = 225.0/4096.0; + prolongation[1](52,9) = 225.0/4096.0; + prolongation[1](52,10) = -75.0/4096.0; + prolongation[1](52,11) = 25.0/4096.0; + prolongation[1](52,12) = 45.0/4096.0; + prolongation[1](52,13) = 45.0/4096.0; + prolongation[1](52,14) = -75.0/4096.0; + prolongation[1](52,15) = 25.0/4096.0; + prolongation[1](52,16) = 45.0/4096.0; + prolongation[1](52,17) = 45.0/4096.0; + prolongation[1](52,18) = -15.0/4096.0; + prolongation[1](52,19) = 5.0/4096.0; + prolongation[1](52,20) = 9.0/4096.0; + prolongation[1](52,21) = 9.0/4096.0; + prolongation[1](52,22) = -15.0/4096.0; + prolongation[1](52,23) = 5.0/4096.0; + prolongation[1](52,24) = -75.0/4096.0; + prolongation[1](52,25) = 25.0/4096.0; + prolongation[1](52,26) = -75.0/4096.0; + prolongation[1](52,27) = 25.0/4096.0; + prolongation[1](52,28) = -15.0/4096.0; + prolongation[1](52,29) = 5.0/4096.0; + prolongation[1](52,30) = -15.0/4096.0; + prolongation[1](52,31) = 5.0/4096.0; + prolongation[1](52,32) = 675.0/4096.0; + prolongation[1](52,33) = 675.0/4096.0; + prolongation[1](52,34) = -225.0/4096.0; + prolongation[1](52,35) = -225.0/4096.0; + prolongation[1](52,36) = 135.0/4096.0; + prolongation[1](52,37) = 135.0/4096.0; + prolongation[1](52,38) = -45.0/4096.0; + prolongation[1](52,39) = -45.0/4096.0; + prolongation[1](52,40) = 675.0/4096.0; + prolongation[1](52,41) = 675.0/4096.0; + prolongation[1](52,42) = -225.0/4096.0; + prolongation[1](52,43) = -225.0/4096.0; + prolongation[1](52,44) = -225.0/4096.0; + prolongation[1](52,45) = 75.0/4096.0; + prolongation[1](52,46) = 75.0/4096.0; + prolongation[1](52,47) = -25.0/4096.0; + prolongation[1](52,48) = 135.0/4096.0; + prolongation[1](52,49) = 135.0/4096.0; + prolongation[1](52,50) = -45.0/4096.0; + prolongation[1](52,51) = -45.0/4096.0; + prolongation[1](52,52) = -225.0/4096.0; + prolongation[1](52,53) = 75.0/4096.0; + prolongation[1](52,54) = 75.0/4096.0; + prolongation[1](52,55) = -25.0/4096.0; + prolongation[1](52,56) = 2025.0/4096.0; + prolongation[1](52,57) = 2025.0/4096.0; + prolongation[1](52,58) = -675.0/4096.0; + prolongation[1](52,59) = -675.0/4096.0; + prolongation[1](52,60) = -675.0/4096.0; + prolongation[1](52,61) = -675.0/4096.0; + prolongation[1](52,62) = 225.0/4096.0; + prolongation[1](52,63) = 225.0/4096.0; + prolongation[1](53,24) = -5.0/256.0; + prolongation[1](53,26) = -5.0/256.0; + prolongation[1](53,28) = -1.0/256.0; + prolongation[1](53,30) = -1.0/256.0; + prolongation[1](53,40) = 45.0/256.0; + prolongation[1](53,41) = 45.0/256.0; + prolongation[1](53,44) = -15.0/256.0; + prolongation[1](53,46) = 5.0/256.0; + prolongation[1](53,48) = 9.0/256.0; + prolongation[1](53,49) = 9.0/256.0; + prolongation[1](53,52) = -15.0/256.0; + prolongation[1](53,54) = 5.0/256.0; + prolongation[1](53,56) = 135.0/256.0; + prolongation[1](53,57) = 135.0/256.0; + prolongation[1](53,60) = -45.0/256.0; + prolongation[1](53,61) = -45.0/256.0; + prolongation[1](54,10) = -5.0/256.0; + prolongation[1](54,14) = -5.0/256.0; + prolongation[1](54,18) = -1.0/256.0; + prolongation[1](54,22) = -1.0/256.0; + prolongation[1](54,32) = 45.0/256.0; + prolongation[1](54,33) = 45.0/256.0; + prolongation[1](54,36) = 9.0/256.0; + prolongation[1](54,37) = 9.0/256.0; + prolongation[1](54,44) = -15.0/256.0; + prolongation[1](54,45) = 5.0/256.0; + prolongation[1](54,52) = -15.0/256.0; + prolongation[1](54,53) = 5.0/256.0; + prolongation[1](54,56) = 135.0/256.0; + prolongation[1](54,57) = 135.0/256.0; + prolongation[1](54,58) = -45.0/256.0; + prolongation[1](54,59) = -45.0/256.0; + prolongation[1](55,44) = -1.0/16.0; + prolongation[1](55,52) = -1.0/16.0; + prolongation[1](55,56) = 9.0/16.0; + prolongation[1](55,57) = 9.0/16.0; + prolongation[1](56,9) = 25.0/256.0; + prolongation[1](56,13) = 5.0/256.0; + prolongation[1](56,17) = 5.0/256.0; + prolongation[1](56,21) = 1.0/256.0; + prolongation[1](56,33) = 75.0/256.0; + prolongation[1](56,35) = -25.0/256.0; + prolongation[1](56,37) = 15.0/256.0; + prolongation[1](56,39) = -5.0/256.0; + prolongation[1](56,41) = 75.0/256.0; + prolongation[1](56,43) = -25.0/256.0; + prolongation[1](56,49) = 15.0/256.0; + prolongation[1](56,51) = -5.0/256.0; + prolongation[1](56,57) = 225.0/256.0; + prolongation[1](56,59) = -75.0/256.0; + prolongation[1](56,61) = -75.0/256.0; + prolongation[1](56,63) = 25.0/256.0; + prolongation[1](57,0) = 25.0/4096.0; + prolongation[1](57,1) = 125.0/4096.0; + prolongation[1](57,2) = 25.0/4096.0; + prolongation[1](57,3) = 5.0/4096.0; + prolongation[1](57,4) = 5.0/4096.0; + prolongation[1](57,5) = 25.0/4096.0; + prolongation[1](57,6) = 5.0/4096.0; + prolongation[1](57,7) = 1.0/4096.0; + prolongation[1](57,8) = -125.0/4096.0; + prolongation[1](57,9) = 375.0/4096.0; + prolongation[1](57,10) = 375.0/4096.0; + prolongation[1](57,11) = -125.0/4096.0; + prolongation[1](57,12) = -25.0/4096.0; + prolongation[1](57,13) = 75.0/4096.0; + prolongation[1](57,14) = 75.0/4096.0; + prolongation[1](57,15) = -25.0/4096.0; + prolongation[1](57,16) = -25.0/4096.0; + prolongation[1](57,17) = 75.0/4096.0; + prolongation[1](57,18) = 75.0/4096.0; + prolongation[1](57,19) = -25.0/4096.0; + prolongation[1](57,20) = -5.0/4096.0; + prolongation[1](57,21) = 15.0/4096.0; + prolongation[1](57,22) = 15.0/4096.0; + prolongation[1](57,23) = -5.0/4096.0; + prolongation[1](57,24) = 75.0/4096.0; + prolongation[1](57,25) = -25.0/4096.0; + prolongation[1](57,26) = 375.0/4096.0; + prolongation[1](57,27) = -125.0/4096.0; + prolongation[1](57,28) = 75.0/4096.0; + prolongation[1](57,29) = -25.0/4096.0; + prolongation[1](57,30) = 15.0/4096.0; + prolongation[1](57,31) = -5.0/4096.0; + prolongation[1](57,32) = -375.0/4096.0; + prolongation[1](57,33) = 1125.0/4096.0; + prolongation[1](57,34) = 125.0/4096.0; + prolongation[1](57,35) = -375.0/4096.0; + prolongation[1](57,36) = -75.0/4096.0; + prolongation[1](57,37) = 225.0/4096.0; + prolongation[1](57,38) = 25.0/4096.0; + prolongation[1](57,39) = -75.0/4096.0; + prolongation[1](57,40) = -375.0/4096.0; + prolongation[1](57,41) = 1125.0/4096.0; + prolongation[1](57,42) = 125.0/4096.0; + prolongation[1](57,43) = -375.0/4096.0; + prolongation[1](57,44) = 1125.0/4096.0; + prolongation[1](57,45) = -375.0/4096.0; + prolongation[1](57,46) = -375.0/4096.0; + prolongation[1](57,47) = 125.0/4096.0; + prolongation[1](57,48) = -75.0/4096.0; + prolongation[1](57,49) = 225.0/4096.0; + prolongation[1](57,50) = 25.0/4096.0; + prolongation[1](57,51) = -75.0/4096.0; + prolongation[1](57,52) = 225.0/4096.0; + prolongation[1](57,53) = -75.0/4096.0; + prolongation[1](57,54) = -75.0/4096.0; + prolongation[1](57,55) = 25.0/4096.0; + prolongation[1](57,56) = -1125.0/4096.0; + prolongation[1](57,57) = 3375.0/4096.0; + prolongation[1](57,58) = 375.0/4096.0; + prolongation[1](57,59) = -1125.0/4096.0; + prolongation[1](57,60) = 375.0/4096.0; + prolongation[1](57,61) = -1125.0/4096.0; + prolongation[1](57,62) = -125.0/4096.0; + prolongation[1](57,63) = 375.0/4096.0; + prolongation[1](58,41) = 5.0/16.0; + prolongation[1](58,49) = 1.0/16.0; + prolongation[1](58,57) = 15.0/16.0; + prolongation[1](58,61) = -5.0/16.0; + prolongation[1](59,24) = 5.0/256.0; + prolongation[1](59,26) = 25.0/256.0; + prolongation[1](59,28) = 5.0/256.0; + prolongation[1](59,30) = 1.0/256.0; + prolongation[1](59,40) = -25.0/256.0; + prolongation[1](59,41) = 75.0/256.0; + prolongation[1](59,44) = 75.0/256.0; + prolongation[1](59,46) = -25.0/256.0; + prolongation[1](59,48) = -5.0/256.0; + prolongation[1](59,49) = 15.0/256.0; + prolongation[1](59,52) = 15.0/256.0; + prolongation[1](59,54) = -5.0/256.0; + prolongation[1](59,56) = -75.0/256.0; + prolongation[1](59,57) = 225.0/256.0; + prolongation[1](59,60) = 25.0/256.0; + prolongation[1](59,61) = -75.0/256.0; + prolongation[1](60,33) = 5.0/16.0; + prolongation[1](60,37) = 1.0/16.0; + prolongation[1](60,57) = 15.0/16.0; + prolongation[1](60,59) = -5.0/16.0; + prolongation[1](61,10) = 25.0/256.0; + prolongation[1](61,14) = 5.0/256.0; + prolongation[1](61,18) = 5.0/256.0; + prolongation[1](61,22) = 1.0/256.0; + prolongation[1](61,32) = -25.0/256.0; + prolongation[1](61,33) = 75.0/256.0; + prolongation[1](61,36) = -5.0/256.0; + prolongation[1](61,37) = 15.0/256.0; + prolongation[1](61,44) = 75.0/256.0; + prolongation[1](61,45) = -25.0/256.0; + prolongation[1](61,52) = 15.0/256.0; + prolongation[1](61,53) = -5.0/256.0; + prolongation[1](61,56) = -75.0/256.0; + prolongation[1](61,57) = 225.0/256.0; + prolongation[1](61,58) = 25.0/256.0; + prolongation[1](61,59) = -75.0/256.0; + prolongation[1](62,57) = 1.0; + prolongation[1](63,44) = 5.0/16.0; + prolongation[1](63,52) = 1.0/16.0; + prolongation[1](63,56) = -5.0/16.0; + prolongation[1](63,57) = 15.0/16.0; + prolongation[2](0,0) = 1.0/256.0; + prolongation[2](0,1) = 1.0/256.0; + prolongation[2](0,2) = 1.0/256.0; + prolongation[2](0,3) = 1.0/256.0; + prolongation[2](0,8) = -9.0/256.0; + prolongation[2](0,9) = -9.0/256.0; + prolongation[2](0,10) = -9.0/256.0; + prolongation[2](0,11) = -9.0/256.0; + prolongation[2](0,12) = -9.0/256.0; + prolongation[2](0,13) = -9.0/256.0; + prolongation[2](0,14) = -9.0/256.0; + prolongation[2](0,15) = -9.0/256.0; + prolongation[2](0,32) = 81.0/256.0; + prolongation[2](0,33) = 81.0/256.0; + prolongation[2](0,34) = 81.0/256.0; + prolongation[2](0,35) = 81.0/256.0; + prolongation[2](1,1) = -1.0/16.0; + prolongation[2](1,2) = -1.0/16.0; + prolongation[2](1,10) = 9.0/16.0; + prolongation[2](1,11) = 9.0/16.0; + prolongation[2](2,2) = 1.0; + prolongation[2](3,2) = -1.0/16.0; + prolongation[2](3,3) = -1.0/16.0; + prolongation[2](3,12) = 9.0/16.0; + prolongation[2](3,13) = 9.0/16.0; + prolongation[2](4,0) = -1.0/4096.0; + prolongation[2](4,1) = -1.0/4096.0; + prolongation[2](4,2) = -1.0/4096.0; + prolongation[2](4,3) = -1.0/4096.0; + prolongation[2](4,4) = -1.0/4096.0; + prolongation[2](4,5) = -1.0/4096.0; + prolongation[2](4,6) = -1.0/4096.0; + prolongation[2](4,7) = -1.0/4096.0; + prolongation[2](4,8) = 9.0/4096.0; + prolongation[2](4,9) = 9.0/4096.0; + prolongation[2](4,10) = 9.0/4096.0; + prolongation[2](4,11) = 9.0/4096.0; + prolongation[2](4,12) = 9.0/4096.0; + prolongation[2](4,13) = 9.0/4096.0; + prolongation[2](4,14) = 9.0/4096.0; + prolongation[2](4,15) = 9.0/4096.0; + prolongation[2](4,16) = 9.0/4096.0; + prolongation[2](4,17) = 9.0/4096.0; + prolongation[2](4,18) = 9.0/4096.0; + prolongation[2](4,19) = 9.0/4096.0; + prolongation[2](4,20) = 9.0/4096.0; + prolongation[2](4,21) = 9.0/4096.0; + prolongation[2](4,22) = 9.0/4096.0; + prolongation[2](4,23) = 9.0/4096.0; + prolongation[2](4,24) = 9.0/4096.0; + prolongation[2](4,25) = 9.0/4096.0; + prolongation[2](4,26) = 9.0/4096.0; + prolongation[2](4,27) = 9.0/4096.0; + prolongation[2](4,28) = 9.0/4096.0; + prolongation[2](4,29) = 9.0/4096.0; + prolongation[2](4,30) = 9.0/4096.0; + prolongation[2](4,31) = 9.0/4096.0; + prolongation[2](4,32) = -81.0/4096.0; + prolongation[2](4,33) = -81.0/4096.0; + prolongation[2](4,34) = -81.0/4096.0; + prolongation[2](4,35) = -81.0/4096.0; + prolongation[2](4,36) = -81.0/4096.0; + prolongation[2](4,37) = -81.0/4096.0; + prolongation[2](4,38) = -81.0/4096.0; + prolongation[2](4,39) = -81.0/4096.0; + prolongation[2](4,40) = -81.0/4096.0; + prolongation[2](4,41) = -81.0/4096.0; + prolongation[2](4,42) = -81.0/4096.0; + prolongation[2](4,43) = -81.0/4096.0; + prolongation[2](4,44) = -81.0/4096.0; + prolongation[2](4,45) = -81.0/4096.0; + prolongation[2](4,46) = -81.0/4096.0; + prolongation[2](4,47) = -81.0/4096.0; + prolongation[2](4,48) = -81.0/4096.0; + prolongation[2](4,49) = -81.0/4096.0; + prolongation[2](4,50) = -81.0/4096.0; + prolongation[2](4,51) = -81.0/4096.0; + prolongation[2](4,52) = -81.0/4096.0; + prolongation[2](4,53) = -81.0/4096.0; + prolongation[2](4,54) = -81.0/4096.0; + prolongation[2](4,55) = -81.0/4096.0; + prolongation[2](4,56) = 729.0/4096.0; + prolongation[2](4,57) = 729.0/4096.0; + prolongation[2](4,58) = 729.0/4096.0; + prolongation[2](4,59) = 729.0/4096.0; + prolongation[2](4,60) = 729.0/4096.0; + prolongation[2](4,61) = 729.0/4096.0; + prolongation[2](4,62) = 729.0/4096.0; + prolongation[2](4,63) = 729.0/4096.0; + prolongation[2](5,1) = 1.0/256.0; + prolongation[2](5,2) = 1.0/256.0; + prolongation[2](5,5) = 1.0/256.0; + prolongation[2](5,6) = 1.0/256.0; + prolongation[2](5,10) = -9.0/256.0; + prolongation[2](5,11) = -9.0/256.0; + prolongation[2](5,18) = -9.0/256.0; + prolongation[2](5,19) = -9.0/256.0; + prolongation[2](5,26) = -9.0/256.0; + prolongation[2](5,27) = -9.0/256.0; + prolongation[2](5,28) = -9.0/256.0; + prolongation[2](5,29) = -9.0/256.0; + prolongation[2](5,44) = 81.0/256.0; + prolongation[2](5,45) = 81.0/256.0; + prolongation[2](5,46) = 81.0/256.0; + prolongation[2](5,47) = 81.0/256.0; + prolongation[2](6,2) = -1.0/16.0; + prolongation[2](6,6) = -1.0/16.0; + prolongation[2](6,28) = 9.0/16.0; + prolongation[2](6,29) = 9.0/16.0; + prolongation[2](7,2) = 1.0/256.0; + prolongation[2](7,3) = 1.0/256.0; + prolongation[2](7,6) = 1.0/256.0; + prolongation[2](7,7) = 1.0/256.0; + prolongation[2](7,12) = -9.0/256.0; + prolongation[2](7,13) = -9.0/256.0; + prolongation[2](7,20) = -9.0/256.0; + prolongation[2](7,21) = -9.0/256.0; + prolongation[2](7,28) = -9.0/256.0; + prolongation[2](7,29) = -9.0/256.0; + prolongation[2](7,30) = -9.0/256.0; + prolongation[2](7,31) = -9.0/256.0; + prolongation[2](7,48) = 81.0/256.0; + prolongation[2](7,49) = 81.0/256.0; + prolongation[2](7,50) = 81.0/256.0; + prolongation[2](7,51) = 81.0/256.0; + prolongation[2](8,9) = -1.0/16.0; + prolongation[2](8,13) = -1.0/16.0; + prolongation[2](8,33) = 9.0/16.0; + prolongation[2](8,35) = 9.0/16.0; + prolongation[2](9,0) = -1.0/256.0; + prolongation[2](9,1) = -5.0/256.0; + prolongation[2](9,2) = -5.0/256.0; + prolongation[2](9,3) = -1.0/256.0; + prolongation[2](9,8) = 5.0/256.0; + prolongation[2](9,9) = -15.0/256.0; + prolongation[2](9,10) = 45.0/256.0; + prolongation[2](9,11) = 45.0/256.0; + prolongation[2](9,12) = 5.0/256.0; + prolongation[2](9,13) = -15.0/256.0; + prolongation[2](9,14) = 9.0/256.0; + prolongation[2](9,15) = 9.0/256.0; + prolongation[2](9,32) = -45.0/256.0; + prolongation[2](9,33) = 135.0/256.0; + prolongation[2](9,34) = -45.0/256.0; + prolongation[2](9,35) = 135.0/256.0; + prolongation[2](10,11) = 1.0; + prolongation[2](11,1) = 1.0/16.0; + prolongation[2](11,2) = 5.0/16.0; + prolongation[2](11,10) = -5.0/16.0; + prolongation[2](11,11) = 15.0/16.0; + prolongation[2](12,13) = 1.0; + prolongation[2](13,2) = 5.0/16.0; + prolongation[2](13,3) = 1.0/16.0; + prolongation[2](13,12) = -5.0/16.0; + prolongation[2](13,13) = 15.0/16.0; + prolongation[2](14,11) = -1.0/16.0; + prolongation[2](14,15) = -1.0/16.0; + prolongation[2](14,34) = 9.0/16.0; + prolongation[2](14,35) = 9.0/16.0; + prolongation[2](15,0) = -1.0/256.0; + prolongation[2](15,1) = -1.0/256.0; + prolongation[2](15,2) = -5.0/256.0; + prolongation[2](15,3) = -5.0/256.0; + prolongation[2](15,8) = 9.0/256.0; + prolongation[2](15,9) = 9.0/256.0; + prolongation[2](15,10) = 5.0/256.0; + prolongation[2](15,11) = -15.0/256.0; + prolongation[2](15,12) = 45.0/256.0; + prolongation[2](15,13) = 45.0/256.0; + prolongation[2](15,14) = 5.0/256.0; + prolongation[2](15,15) = -15.0/256.0; + prolongation[2](15,32) = -45.0/256.0; + prolongation[2](15,33) = -45.0/256.0; + prolongation[2](15,34) = 135.0/256.0; + prolongation[2](15,35) = 135.0/256.0; + prolongation[2](16,9) = 1.0/256.0; + prolongation[2](16,13) = 1.0/256.0; + prolongation[2](16,17) = 1.0/256.0; + prolongation[2](16,21) = 1.0/256.0; + prolongation[2](16,33) = -9.0/256.0; + prolongation[2](16,35) = -9.0/256.0; + prolongation[2](16,37) = -9.0/256.0; + prolongation[2](16,39) = -9.0/256.0; + prolongation[2](16,41) = -9.0/256.0; + prolongation[2](16,43) = -9.0/256.0; + prolongation[2](16,49) = -9.0/256.0; + prolongation[2](16,51) = -9.0/256.0; + prolongation[2](16,57) = 81.0/256.0; + prolongation[2](16,59) = 81.0/256.0; + prolongation[2](16,61) = 81.0/256.0; + prolongation[2](16,63) = 81.0/256.0; + prolongation[2](17,0) = 1.0/4096.0; + prolongation[2](17,1) = 5.0/4096.0; + prolongation[2](17,2) = 5.0/4096.0; + prolongation[2](17,3) = 1.0/4096.0; + prolongation[2](17,4) = 1.0/4096.0; + prolongation[2](17,5) = 5.0/4096.0; + prolongation[2](17,6) = 5.0/4096.0; + prolongation[2](17,7) = 1.0/4096.0; + prolongation[2](17,8) = -5.0/4096.0; + prolongation[2](17,9) = 15.0/4096.0; + prolongation[2](17,10) = -45.0/4096.0; + prolongation[2](17,11) = -45.0/4096.0; + prolongation[2](17,12) = -5.0/4096.0; + prolongation[2](17,13) = 15.0/4096.0; + prolongation[2](17,14) = -9.0/4096.0; + prolongation[2](17,15) = -9.0/4096.0; + prolongation[2](17,16) = -5.0/4096.0; + prolongation[2](17,17) = 15.0/4096.0; + prolongation[2](17,18) = -45.0/4096.0; + prolongation[2](17,19) = -45.0/4096.0; + prolongation[2](17,20) = -5.0/4096.0; + prolongation[2](17,21) = 15.0/4096.0; + prolongation[2](17,22) = -9.0/4096.0; + prolongation[2](17,23) = -9.0/4096.0; + prolongation[2](17,24) = -9.0/4096.0; + prolongation[2](17,25) = -9.0/4096.0; + prolongation[2](17,26) = -45.0/4096.0; + prolongation[2](17,27) = -45.0/4096.0; + prolongation[2](17,28) = -45.0/4096.0; + prolongation[2](17,29) = -45.0/4096.0; + prolongation[2](17,30) = -9.0/4096.0; + prolongation[2](17,31) = -9.0/4096.0; + prolongation[2](17,32) = 45.0/4096.0; + prolongation[2](17,33) = -135.0/4096.0; + prolongation[2](17,34) = 45.0/4096.0; + prolongation[2](17,35) = -135.0/4096.0; + prolongation[2](17,36) = 45.0/4096.0; + prolongation[2](17,37) = -135.0/4096.0; + prolongation[2](17,38) = 45.0/4096.0; + prolongation[2](17,39) = -135.0/4096.0; + prolongation[2](17,40) = 45.0/4096.0; + prolongation[2](17,41) = -135.0/4096.0; + prolongation[2](17,42) = 45.0/4096.0; + prolongation[2](17,43) = -135.0/4096.0; + prolongation[2](17,44) = 405.0/4096.0; + prolongation[2](17,45) = 405.0/4096.0; + prolongation[2](17,46) = 405.0/4096.0; + prolongation[2](17,47) = 405.0/4096.0; + prolongation[2](17,48) = 45.0/4096.0; + prolongation[2](17,49) = -135.0/4096.0; + prolongation[2](17,50) = 45.0/4096.0; + prolongation[2](17,51) = -135.0/4096.0; + prolongation[2](17,52) = 81.0/4096.0; + prolongation[2](17,53) = 81.0/4096.0; + prolongation[2](17,54) = 81.0/4096.0; + prolongation[2](17,55) = 81.0/4096.0; + prolongation[2](17,56) = -405.0/4096.0; + prolongation[2](17,57) = 1215.0/4096.0; + prolongation[2](17,58) = -405.0/4096.0; + prolongation[2](17,59) = 1215.0/4096.0; + prolongation[2](17,60) = -405.0/4096.0; + prolongation[2](17,61) = 1215.0/4096.0; + prolongation[2](17,62) = -405.0/4096.0; + prolongation[2](17,63) = 1215.0/4096.0; + prolongation[2](18,11) = -1.0/16.0; + prolongation[2](18,19) = -1.0/16.0; + prolongation[2](18,46) = 9.0/16.0; + prolongation[2](18,47) = 9.0/16.0; + prolongation[2](19,1) = -1.0/256.0; + prolongation[2](19,2) = -5.0/256.0; + prolongation[2](19,5) = -1.0/256.0; + prolongation[2](19,6) = -5.0/256.0; + prolongation[2](19,10) = 5.0/256.0; + prolongation[2](19,11) = -15.0/256.0; + prolongation[2](19,18) = 5.0/256.0; + prolongation[2](19,19) = -15.0/256.0; + prolongation[2](19,26) = 9.0/256.0; + prolongation[2](19,27) = 9.0/256.0; + prolongation[2](19,28) = 45.0/256.0; + prolongation[2](19,29) = 45.0/256.0; + prolongation[2](19,44) = -45.0/256.0; + prolongation[2](19,45) = -45.0/256.0; + prolongation[2](19,46) = 135.0/256.0; + prolongation[2](19,47) = 135.0/256.0; + prolongation[2](20,13) = -1.0/16.0; + prolongation[2](20,21) = -1.0/16.0; + prolongation[2](20,49) = 9.0/16.0; + prolongation[2](20,51) = 9.0/16.0; + prolongation[2](21,2) = -5.0/256.0; + prolongation[2](21,3) = -1.0/256.0; + prolongation[2](21,6) = -5.0/256.0; + prolongation[2](21,7) = -1.0/256.0; + prolongation[2](21,12) = 5.0/256.0; + prolongation[2](21,13) = -15.0/256.0; + prolongation[2](21,20) = 5.0/256.0; + prolongation[2](21,21) = -15.0/256.0; + prolongation[2](21,28) = 45.0/256.0; + prolongation[2](21,29) = 45.0/256.0; + prolongation[2](21,30) = 9.0/256.0; + prolongation[2](21,31) = 9.0/256.0; + prolongation[2](21,48) = -45.0/256.0; + prolongation[2](21,49) = 135.0/256.0; + prolongation[2](21,50) = -45.0/256.0; + prolongation[2](21,51) = 135.0/256.0; + prolongation[2](22,11) = 1.0/256.0; + prolongation[2](22,15) = 1.0/256.0; + prolongation[2](22,19) = 1.0/256.0; + prolongation[2](22,23) = 1.0/256.0; + prolongation[2](22,34) = -9.0/256.0; + prolongation[2](22,35) = -9.0/256.0; + prolongation[2](22,38) = -9.0/256.0; + prolongation[2](22,39) = -9.0/256.0; + prolongation[2](22,46) = -9.0/256.0; + prolongation[2](22,47) = -9.0/256.0; + prolongation[2](22,54) = -9.0/256.0; + prolongation[2](22,55) = -9.0/256.0; + prolongation[2](22,60) = 81.0/256.0; + prolongation[2](22,61) = 81.0/256.0; + prolongation[2](22,62) = 81.0/256.0; + prolongation[2](22,63) = 81.0/256.0; + prolongation[2](23,0) = 1.0/4096.0; + prolongation[2](23,1) = 1.0/4096.0; + prolongation[2](23,2) = 5.0/4096.0; + prolongation[2](23,3) = 5.0/4096.0; + prolongation[2](23,4) = 1.0/4096.0; + prolongation[2](23,5) = 1.0/4096.0; + prolongation[2](23,6) = 5.0/4096.0; + prolongation[2](23,7) = 5.0/4096.0; + prolongation[2](23,8) = -9.0/4096.0; + prolongation[2](23,9) = -9.0/4096.0; + prolongation[2](23,10) = -5.0/4096.0; + prolongation[2](23,11) = 15.0/4096.0; + prolongation[2](23,12) = -45.0/4096.0; + prolongation[2](23,13) = -45.0/4096.0; + prolongation[2](23,14) = -5.0/4096.0; + prolongation[2](23,15) = 15.0/4096.0; + prolongation[2](23,16) = -9.0/4096.0; + prolongation[2](23,17) = -9.0/4096.0; + prolongation[2](23,18) = -5.0/4096.0; + prolongation[2](23,19) = 15.0/4096.0; + prolongation[2](23,20) = -45.0/4096.0; + prolongation[2](23,21) = -45.0/4096.0; + prolongation[2](23,22) = -5.0/4096.0; + prolongation[2](23,23) = 15.0/4096.0; + prolongation[2](23,24) = -9.0/4096.0; + prolongation[2](23,25) = -9.0/4096.0; + prolongation[2](23,26) = -9.0/4096.0; + prolongation[2](23,27) = -9.0/4096.0; + prolongation[2](23,28) = -45.0/4096.0; + prolongation[2](23,29) = -45.0/4096.0; + prolongation[2](23,30) = -45.0/4096.0; + prolongation[2](23,31) = -45.0/4096.0; + prolongation[2](23,32) = 45.0/4096.0; + prolongation[2](23,33) = 45.0/4096.0; + prolongation[2](23,34) = -135.0/4096.0; + prolongation[2](23,35) = -135.0/4096.0; + prolongation[2](23,36) = 45.0/4096.0; + prolongation[2](23,37) = 45.0/4096.0; + prolongation[2](23,38) = -135.0/4096.0; + prolongation[2](23,39) = -135.0/4096.0; + prolongation[2](23,40) = 81.0/4096.0; + prolongation[2](23,41) = 81.0/4096.0; + prolongation[2](23,42) = 81.0/4096.0; + prolongation[2](23,43) = 81.0/4096.0; + prolongation[2](23,44) = 45.0/4096.0; + prolongation[2](23,45) = 45.0/4096.0; + prolongation[2](23,46) = -135.0/4096.0; + prolongation[2](23,47) = -135.0/4096.0; + prolongation[2](23,48) = 405.0/4096.0; + prolongation[2](23,49) = 405.0/4096.0; + prolongation[2](23,50) = 405.0/4096.0; + prolongation[2](23,51) = 405.0/4096.0; + prolongation[2](23,52) = 45.0/4096.0; + prolongation[2](23,53) = 45.0/4096.0; + prolongation[2](23,54) = -135.0/4096.0; + prolongation[2](23,55) = -135.0/4096.0; + prolongation[2](23,56) = -405.0/4096.0; + prolongation[2](23,57) = -405.0/4096.0; + prolongation[2](23,58) = -405.0/4096.0; + prolongation[2](23,59) = -405.0/4096.0; + prolongation[2](23,60) = 1215.0/4096.0; + prolongation[2](23,61) = 1215.0/4096.0; + prolongation[2](23,62) = 1215.0/4096.0; + prolongation[2](23,63) = 1215.0/4096.0; + prolongation[2](24,0) = 5.0/4096.0; + prolongation[2](24,1) = 5.0/4096.0; + prolongation[2](24,2) = 5.0/4096.0; + prolongation[2](24,3) = 5.0/4096.0; + prolongation[2](24,4) = 1.0/4096.0; + prolongation[2](24,5) = 1.0/4096.0; + prolongation[2](24,6) = 1.0/4096.0; + prolongation[2](24,7) = 1.0/4096.0; + prolongation[2](24,8) = -45.0/4096.0; + prolongation[2](24,9) = -45.0/4096.0; + prolongation[2](24,10) = -45.0/4096.0; + prolongation[2](24,11) = -45.0/4096.0; + prolongation[2](24,12) = -45.0/4096.0; + prolongation[2](24,13) = -45.0/4096.0; + prolongation[2](24,14) = -45.0/4096.0; + prolongation[2](24,15) = -45.0/4096.0; + prolongation[2](24,16) = -9.0/4096.0; + prolongation[2](24,17) = -9.0/4096.0; + prolongation[2](24,18) = -9.0/4096.0; + prolongation[2](24,19) = -9.0/4096.0; + prolongation[2](24,20) = -9.0/4096.0; + prolongation[2](24,21) = -9.0/4096.0; + prolongation[2](24,22) = -9.0/4096.0; + prolongation[2](24,23) = -9.0/4096.0; + prolongation[2](24,24) = 15.0/4096.0; + prolongation[2](24,25) = -5.0/4096.0; + prolongation[2](24,26) = 15.0/4096.0; + prolongation[2](24,27) = -5.0/4096.0; + prolongation[2](24,28) = 15.0/4096.0; + prolongation[2](24,29) = -5.0/4096.0; + prolongation[2](24,30) = 15.0/4096.0; + prolongation[2](24,31) = -5.0/4096.0; + prolongation[2](24,32) = 405.0/4096.0; + prolongation[2](24,33) = 405.0/4096.0; + prolongation[2](24,34) = 405.0/4096.0; + prolongation[2](24,35) = 405.0/4096.0; + prolongation[2](24,36) = 81.0/4096.0; + prolongation[2](24,37) = 81.0/4096.0; + prolongation[2](24,38) = 81.0/4096.0; + prolongation[2](24,39) = 81.0/4096.0; + prolongation[2](24,40) = -135.0/4096.0; + prolongation[2](24,41) = -135.0/4096.0; + prolongation[2](24,42) = 45.0/4096.0; + prolongation[2](24,43) = 45.0/4096.0; + prolongation[2](24,44) = -135.0/4096.0; + prolongation[2](24,45) = 45.0/4096.0; + prolongation[2](24,46) = -135.0/4096.0; + prolongation[2](24,47) = 45.0/4096.0; + prolongation[2](24,48) = -135.0/4096.0; + prolongation[2](24,49) = -135.0/4096.0; + prolongation[2](24,50) = 45.0/4096.0; + prolongation[2](24,51) = 45.0/4096.0; + prolongation[2](24,52) = -135.0/4096.0; + prolongation[2](24,53) = 45.0/4096.0; + prolongation[2](24,54) = -135.0/4096.0; + prolongation[2](24,55) = 45.0/4096.0; + prolongation[2](24,56) = 1215.0/4096.0; + prolongation[2](24,57) = 1215.0/4096.0; + prolongation[2](24,58) = -405.0/4096.0; + prolongation[2](24,59) = -405.0/4096.0; + prolongation[2](24,60) = 1215.0/4096.0; + prolongation[2](24,61) = 1215.0/4096.0; + prolongation[2](24,62) = -405.0/4096.0; + prolongation[2](24,63) = -405.0/4096.0; + prolongation[2](25,24) = 1.0/256.0; + prolongation[2](25,26) = 1.0/256.0; + prolongation[2](25,28) = 1.0/256.0; + prolongation[2](25,30) = 1.0/256.0; + prolongation[2](25,40) = -9.0/256.0; + prolongation[2](25,41) = -9.0/256.0; + prolongation[2](25,44) = -9.0/256.0; + prolongation[2](25,46) = -9.0/256.0; + prolongation[2](25,48) = -9.0/256.0; + prolongation[2](25,49) = -9.0/256.0; + prolongation[2](25,52) = -9.0/256.0; + prolongation[2](25,54) = -9.0/256.0; + prolongation[2](25,56) = 81.0/256.0; + prolongation[2](25,57) = 81.0/256.0; + prolongation[2](25,60) = 81.0/256.0; + prolongation[2](25,61) = 81.0/256.0; + prolongation[2](26,1) = -5.0/256.0; + prolongation[2](26,2) = -5.0/256.0; + prolongation[2](26,5) = -1.0/256.0; + prolongation[2](26,6) = -1.0/256.0; + prolongation[2](26,10) = 45.0/256.0; + prolongation[2](26,11) = 45.0/256.0; + prolongation[2](26,18) = 9.0/256.0; + prolongation[2](26,19) = 9.0/256.0; + prolongation[2](26,26) = -15.0/256.0; + prolongation[2](26,27) = 5.0/256.0; + prolongation[2](26,28) = -15.0/256.0; + prolongation[2](26,29) = 5.0/256.0; + prolongation[2](26,44) = 135.0/256.0; + prolongation[2](26,45) = -45.0/256.0; + prolongation[2](26,46) = 135.0/256.0; + prolongation[2](26,47) = -45.0/256.0; + prolongation[2](27,26) = -1.0/16.0; + prolongation[2](27,28) = -1.0/16.0; + prolongation[2](27,44) = 9.0/16.0; + prolongation[2](27,46) = 9.0/16.0; + prolongation[2](28,2) = 5.0/16.0; + prolongation[2](28,6) = 1.0/16.0; + prolongation[2](28,28) = 15.0/16.0; + prolongation[2](28,29) = -5.0/16.0; + prolongation[2](29,28) = 1.0; + prolongation[2](30,2) = -5.0/256.0; + prolongation[2](30,3) = -5.0/256.0; + prolongation[2](30,6) = -1.0/256.0; + prolongation[2](30,7) = -1.0/256.0; + prolongation[2](30,12) = 45.0/256.0; + prolongation[2](30,13) = 45.0/256.0; + prolongation[2](30,20) = 9.0/256.0; + prolongation[2](30,21) = 9.0/256.0; + prolongation[2](30,28) = -15.0/256.0; + prolongation[2](30,29) = 5.0/256.0; + prolongation[2](30,30) = -15.0/256.0; + prolongation[2](30,31) = 5.0/256.0; + prolongation[2](30,48) = 135.0/256.0; + prolongation[2](30,49) = 135.0/256.0; + prolongation[2](30,50) = -45.0/256.0; + prolongation[2](30,51) = -45.0/256.0; + prolongation[2](31,28) = -1.0/16.0; + prolongation[2](31,30) = -1.0/16.0; + prolongation[2](31,48) = 9.0/16.0; + prolongation[2](31,49) = 9.0/16.0; + prolongation[2](32,35) = 1.0; + prolongation[2](33,11) = 5.0/16.0; + prolongation[2](33,15) = 1.0/16.0; + prolongation[2](33,34) = -5.0/16.0; + prolongation[2](33,35) = 15.0/16.0; + prolongation[2](34,9) = 1.0/16.0; + prolongation[2](34,13) = 5.0/16.0; + prolongation[2](34,33) = -5.0/16.0; + prolongation[2](34,35) = 15.0/16.0; + prolongation[2](35,0) = 1.0/256.0; + prolongation[2](35,1) = 5.0/256.0; + prolongation[2](35,2) = 25.0/256.0; + prolongation[2](35,3) = 5.0/256.0; + prolongation[2](35,8) = -5.0/256.0; + prolongation[2](35,9) = 15.0/256.0; + prolongation[2](35,10) = -25.0/256.0; + prolongation[2](35,11) = 75.0/256.0; + prolongation[2](35,12) = -25.0/256.0; + prolongation[2](35,13) = 75.0/256.0; + prolongation[2](35,14) = -5.0/256.0; + prolongation[2](35,15) = 15.0/256.0; + prolongation[2](35,32) = 25.0/256.0; + prolongation[2](35,33) = -75.0/256.0; + prolongation[2](35,34) = -75.0/256.0; + prolongation[2](35,35) = 225.0/256.0; + prolongation[2](36,35) = -1.0/16.0; + prolongation[2](36,39) = -1.0/16.0; + prolongation[2](36,61) = 9.0/16.0; + prolongation[2](36,63) = 9.0/16.0; + prolongation[2](37,11) = -5.0/256.0; + prolongation[2](37,15) = -1.0/256.0; + prolongation[2](37,19) = -5.0/256.0; + prolongation[2](37,23) = -1.0/256.0; + prolongation[2](37,34) = 5.0/256.0; + prolongation[2](37,35) = -15.0/256.0; + prolongation[2](37,38) = 5.0/256.0; + prolongation[2](37,39) = -15.0/256.0; + prolongation[2](37,46) = 45.0/256.0; + prolongation[2](37,47) = 45.0/256.0; + prolongation[2](37,54) = 9.0/256.0; + prolongation[2](37,55) = 9.0/256.0; + prolongation[2](37,60) = -45.0/256.0; + prolongation[2](37,61) = 135.0/256.0; + prolongation[2](37,62) = -45.0/256.0; + prolongation[2](37,63) = 135.0/256.0; + prolongation[2](38,9) = -1.0/256.0; + prolongation[2](38,13) = -5.0/256.0; + prolongation[2](38,17) = -1.0/256.0; + prolongation[2](38,21) = -5.0/256.0; + prolongation[2](38,33) = 5.0/256.0; + prolongation[2](38,35) = -15.0/256.0; + prolongation[2](38,37) = 5.0/256.0; + prolongation[2](38,39) = -15.0/256.0; + prolongation[2](38,41) = 9.0/256.0; + prolongation[2](38,43) = 9.0/256.0; + prolongation[2](38,49) = 45.0/256.0; + prolongation[2](38,51) = 45.0/256.0; + prolongation[2](38,57) = -45.0/256.0; + prolongation[2](38,59) = -45.0/256.0; + prolongation[2](38,61) = 135.0/256.0; + prolongation[2](38,63) = 135.0/256.0; + prolongation[2](39,0) = -1.0/4096.0; + prolongation[2](39,1) = -5.0/4096.0; + prolongation[2](39,2) = -25.0/4096.0; + prolongation[2](39,3) = -5.0/4096.0; + prolongation[2](39,4) = -1.0/4096.0; + prolongation[2](39,5) = -5.0/4096.0; + prolongation[2](39,6) = -25.0/4096.0; + prolongation[2](39,7) = -5.0/4096.0; + prolongation[2](39,8) = 5.0/4096.0; + prolongation[2](39,9) = -15.0/4096.0; + prolongation[2](39,10) = 25.0/4096.0; + prolongation[2](39,11) = -75.0/4096.0; + prolongation[2](39,12) = 25.0/4096.0; + prolongation[2](39,13) = -75.0/4096.0; + prolongation[2](39,14) = 5.0/4096.0; + prolongation[2](39,15) = -15.0/4096.0; + prolongation[2](39,16) = 5.0/4096.0; + prolongation[2](39,17) = -15.0/4096.0; + prolongation[2](39,18) = 25.0/4096.0; + prolongation[2](39,19) = -75.0/4096.0; + prolongation[2](39,20) = 25.0/4096.0; + prolongation[2](39,21) = -75.0/4096.0; + prolongation[2](39,22) = 5.0/4096.0; + prolongation[2](39,23) = -15.0/4096.0; + prolongation[2](39,24) = 9.0/4096.0; + prolongation[2](39,25) = 9.0/4096.0; + prolongation[2](39,26) = 45.0/4096.0; + prolongation[2](39,27) = 45.0/4096.0; + prolongation[2](39,28) = 225.0/4096.0; + prolongation[2](39,29) = 225.0/4096.0; + prolongation[2](39,30) = 45.0/4096.0; + prolongation[2](39,31) = 45.0/4096.0; + prolongation[2](39,32) = -25.0/4096.0; + prolongation[2](39,33) = 75.0/4096.0; + prolongation[2](39,34) = 75.0/4096.0; + prolongation[2](39,35) = -225.0/4096.0; + prolongation[2](39,36) = -25.0/4096.0; + prolongation[2](39,37) = 75.0/4096.0; + prolongation[2](39,38) = 75.0/4096.0; + prolongation[2](39,39) = -225.0/4096.0; + prolongation[2](39,40) = -45.0/4096.0; + prolongation[2](39,41) = 135.0/4096.0; + prolongation[2](39,42) = -45.0/4096.0; + prolongation[2](39,43) = 135.0/4096.0; + prolongation[2](39,44) = -225.0/4096.0; + prolongation[2](39,45) = -225.0/4096.0; + prolongation[2](39,46) = 675.0/4096.0; + prolongation[2](39,47) = 675.0/4096.0; + prolongation[2](39,48) = -225.0/4096.0; + prolongation[2](39,49) = 675.0/4096.0; + prolongation[2](39,50) = -225.0/4096.0; + prolongation[2](39,51) = 675.0/4096.0; + prolongation[2](39,52) = -45.0/4096.0; + prolongation[2](39,53) = -45.0/4096.0; + prolongation[2](39,54) = 135.0/4096.0; + prolongation[2](39,55) = 135.0/4096.0; + prolongation[2](39,56) = 225.0/4096.0; + prolongation[2](39,57) = -675.0/4096.0; + prolongation[2](39,58) = 225.0/4096.0; + prolongation[2](39,59) = -675.0/4096.0; + prolongation[2](39,60) = -675.0/4096.0; + prolongation[2](39,61) = 2025.0/4096.0; + prolongation[2](39,62) = -675.0/4096.0; + prolongation[2](39,63) = 2025.0/4096.0; + prolongation[2](40,9) = -5.0/256.0; + prolongation[2](40,13) = -5.0/256.0; + prolongation[2](40,17) = -1.0/256.0; + prolongation[2](40,21) = -1.0/256.0; + prolongation[2](40,33) = 45.0/256.0; + prolongation[2](40,35) = 45.0/256.0; + prolongation[2](40,37) = 9.0/256.0; + prolongation[2](40,39) = 9.0/256.0; + prolongation[2](40,41) = -15.0/256.0; + prolongation[2](40,43) = 5.0/256.0; + prolongation[2](40,49) = -15.0/256.0; + prolongation[2](40,51) = 5.0/256.0; + prolongation[2](40,57) = 135.0/256.0; + prolongation[2](40,59) = -45.0/256.0; + prolongation[2](40,61) = 135.0/256.0; + prolongation[2](40,63) = -45.0/256.0; + prolongation[2](41,0) = -5.0/4096.0; + prolongation[2](41,1) = -25.0/4096.0; + prolongation[2](41,2) = -25.0/4096.0; + prolongation[2](41,3) = -5.0/4096.0; + prolongation[2](41,4) = -1.0/4096.0; + prolongation[2](41,5) = -5.0/4096.0; + prolongation[2](41,6) = -5.0/4096.0; + prolongation[2](41,7) = -1.0/4096.0; + prolongation[2](41,8) = 25.0/4096.0; + prolongation[2](41,9) = -75.0/4096.0; + prolongation[2](41,10) = 225.0/4096.0; + prolongation[2](41,11) = 225.0/4096.0; + prolongation[2](41,12) = 25.0/4096.0; + prolongation[2](41,13) = -75.0/4096.0; + prolongation[2](41,14) = 45.0/4096.0; + prolongation[2](41,15) = 45.0/4096.0; + prolongation[2](41,16) = 5.0/4096.0; + prolongation[2](41,17) = -15.0/4096.0; + prolongation[2](41,18) = 45.0/4096.0; + prolongation[2](41,19) = 45.0/4096.0; + prolongation[2](41,20) = 5.0/4096.0; + prolongation[2](41,21) = -15.0/4096.0; + prolongation[2](41,22) = 9.0/4096.0; + prolongation[2](41,23) = 9.0/4096.0; + prolongation[2](41,24) = -15.0/4096.0; + prolongation[2](41,25) = 5.0/4096.0; + prolongation[2](41,26) = -75.0/4096.0; + prolongation[2](41,27) = 25.0/4096.0; + prolongation[2](41,28) = -75.0/4096.0; + prolongation[2](41,29) = 25.0/4096.0; + prolongation[2](41,30) = -15.0/4096.0; + prolongation[2](41,31) = 5.0/4096.0; + prolongation[2](41,32) = -225.0/4096.0; + prolongation[2](41,33) = 675.0/4096.0; + prolongation[2](41,34) = -225.0/4096.0; + prolongation[2](41,35) = 675.0/4096.0; + prolongation[2](41,36) = -45.0/4096.0; + prolongation[2](41,37) = 135.0/4096.0; + prolongation[2](41,38) = -45.0/4096.0; + prolongation[2](41,39) = 135.0/4096.0; + prolongation[2](41,40) = 75.0/4096.0; + prolongation[2](41,41) = -225.0/4096.0; + prolongation[2](41,42) = -25.0/4096.0; + prolongation[2](41,43) = 75.0/4096.0; + prolongation[2](41,44) = 675.0/4096.0; + prolongation[2](41,45) = -225.0/4096.0; + prolongation[2](41,46) = 675.0/4096.0; + prolongation[2](41,47) = -225.0/4096.0; + prolongation[2](41,48) = 75.0/4096.0; + prolongation[2](41,49) = -225.0/4096.0; + prolongation[2](41,50) = -25.0/4096.0; + prolongation[2](41,51) = 75.0/4096.0; + prolongation[2](41,52) = 135.0/4096.0; + prolongation[2](41,53) = -45.0/4096.0; + prolongation[2](41,54) = 135.0/4096.0; + prolongation[2](41,55) = -45.0/4096.0; + prolongation[2](41,56) = -675.0/4096.0; + prolongation[2](41,57) = 2025.0/4096.0; + prolongation[2](41,58) = 225.0/4096.0; + prolongation[2](41,59) = -675.0/4096.0; + prolongation[2](41,60) = -675.0/4096.0; + prolongation[2](41,61) = 2025.0/4096.0; + prolongation[2](41,62) = 225.0/4096.0; + prolongation[2](41,63) = -675.0/4096.0; + prolongation[2](42,41) = -1.0/16.0; + prolongation[2](42,49) = -1.0/16.0; + prolongation[2](42,57) = 9.0/16.0; + prolongation[2](42,61) = 9.0/16.0; + prolongation[2](43,24) = -1.0/256.0; + prolongation[2](43,26) = -5.0/256.0; + prolongation[2](43,28) = -5.0/256.0; + prolongation[2](43,30) = -1.0/256.0; + prolongation[2](43,40) = 5.0/256.0; + prolongation[2](43,41) = -15.0/256.0; + prolongation[2](43,44) = 45.0/256.0; + prolongation[2](43,46) = 45.0/256.0; + prolongation[2](43,48) = 5.0/256.0; + prolongation[2](43,49) = -15.0/256.0; + prolongation[2](43,52) = 9.0/256.0; + prolongation[2](43,54) = 9.0/256.0; + prolongation[2](43,56) = -45.0/256.0; + prolongation[2](43,57) = 135.0/256.0; + prolongation[2](43,60) = -45.0/256.0; + prolongation[2](43,61) = 135.0/256.0; + prolongation[2](44,11) = 5.0/16.0; + prolongation[2](44,19) = 1.0/16.0; + prolongation[2](44,46) = 15.0/16.0; + prolongation[2](44,47) = -5.0/16.0; + prolongation[2](45,46) = 1.0; + prolongation[2](46,1) = 5.0/256.0; + prolongation[2](46,2) = 25.0/256.0; + prolongation[2](46,5) = 1.0/256.0; + prolongation[2](46,6) = 5.0/256.0; + prolongation[2](46,10) = -25.0/256.0; + prolongation[2](46,11) = 75.0/256.0; + prolongation[2](46,18) = -5.0/256.0; + prolongation[2](46,19) = 15.0/256.0; + prolongation[2](46,26) = 15.0/256.0; + prolongation[2](46,27) = -5.0/256.0; + prolongation[2](46,28) = 75.0/256.0; + prolongation[2](46,29) = -25.0/256.0; + prolongation[2](46,44) = -75.0/256.0; + prolongation[2](46,45) = 25.0/256.0; + prolongation[2](46,46) = 225.0/256.0; + prolongation[2](46,47) = -75.0/256.0; + prolongation[2](47,26) = 1.0/16.0; + prolongation[2](47,28) = 5.0/16.0; + prolongation[2](47,44) = -5.0/16.0; + prolongation[2](47,46) = 15.0/16.0; + prolongation[2](48,13) = 5.0/16.0; + prolongation[2](48,21) = 1.0/16.0; + prolongation[2](48,49) = 15.0/16.0; + prolongation[2](48,51) = -5.0/16.0; + prolongation[2](49,2) = 25.0/256.0; + prolongation[2](49,3) = 5.0/256.0; + prolongation[2](49,6) = 5.0/256.0; + prolongation[2](49,7) = 1.0/256.0; + prolongation[2](49,12) = -25.0/256.0; + prolongation[2](49,13) = 75.0/256.0; + prolongation[2](49,20) = -5.0/256.0; + prolongation[2](49,21) = 15.0/256.0; + prolongation[2](49,28) = 75.0/256.0; + prolongation[2](49,29) = -25.0/256.0; + prolongation[2](49,30) = 15.0/256.0; + prolongation[2](49,31) = -5.0/256.0; + prolongation[2](49,48) = -75.0/256.0; + prolongation[2](49,49) = 225.0/256.0; + prolongation[2](49,50) = 25.0/256.0; + prolongation[2](49,51) = -75.0/256.0; + prolongation[2](50,49) = 1.0; + prolongation[2](51,28) = 5.0/16.0; + prolongation[2](51,30) = 1.0/16.0; + prolongation[2](51,48) = -5.0/16.0; + prolongation[2](51,49) = 15.0/16.0; + prolongation[2](52,11) = -5.0/256.0; + prolongation[2](52,15) = -5.0/256.0; + prolongation[2](52,19) = -1.0/256.0; + prolongation[2](52,23) = -1.0/256.0; + prolongation[2](52,34) = 45.0/256.0; + prolongation[2](52,35) = 45.0/256.0; + prolongation[2](52,38) = 9.0/256.0; + prolongation[2](52,39) = 9.0/256.0; + prolongation[2](52,46) = -15.0/256.0; + prolongation[2](52,47) = 5.0/256.0; + prolongation[2](52,54) = -15.0/256.0; + prolongation[2](52,55) = 5.0/256.0; + prolongation[2](52,60) = 135.0/256.0; + prolongation[2](52,61) = 135.0/256.0; + prolongation[2](52,62) = -45.0/256.0; + prolongation[2](52,63) = -45.0/256.0; + prolongation[2](53,46) = -1.0/16.0; + prolongation[2](53,54) = -1.0/16.0; + prolongation[2](53,60) = 9.0/16.0; + prolongation[2](53,61) = 9.0/16.0; + prolongation[2](54,0) = -5.0/4096.0; + prolongation[2](54,1) = -5.0/4096.0; + prolongation[2](54,2) = -25.0/4096.0; + prolongation[2](54,3) = -25.0/4096.0; + prolongation[2](54,4) = -1.0/4096.0; + prolongation[2](54,5) = -1.0/4096.0; + prolongation[2](54,6) = -5.0/4096.0; + prolongation[2](54,7) = -5.0/4096.0; + prolongation[2](54,8) = 45.0/4096.0; + prolongation[2](54,9) = 45.0/4096.0; + prolongation[2](54,10) = 25.0/4096.0; + prolongation[2](54,11) = -75.0/4096.0; + prolongation[2](54,12) = 225.0/4096.0; + prolongation[2](54,13) = 225.0/4096.0; + prolongation[2](54,14) = 25.0/4096.0; + prolongation[2](54,15) = -75.0/4096.0; + prolongation[2](54,16) = 9.0/4096.0; + prolongation[2](54,17) = 9.0/4096.0; + prolongation[2](54,18) = 5.0/4096.0; + prolongation[2](54,19) = -15.0/4096.0; + prolongation[2](54,20) = 45.0/4096.0; + prolongation[2](54,21) = 45.0/4096.0; + prolongation[2](54,22) = 5.0/4096.0; + prolongation[2](54,23) = -15.0/4096.0; + prolongation[2](54,24) = -15.0/4096.0; + prolongation[2](54,25) = 5.0/4096.0; + prolongation[2](54,26) = -15.0/4096.0; + prolongation[2](54,27) = 5.0/4096.0; + prolongation[2](54,28) = -75.0/4096.0; + prolongation[2](54,29) = 25.0/4096.0; + prolongation[2](54,30) = -75.0/4096.0; + prolongation[2](54,31) = 25.0/4096.0; + prolongation[2](54,32) = -225.0/4096.0; + prolongation[2](54,33) = -225.0/4096.0; + prolongation[2](54,34) = 675.0/4096.0; + prolongation[2](54,35) = 675.0/4096.0; + prolongation[2](54,36) = -45.0/4096.0; + prolongation[2](54,37) = -45.0/4096.0; + prolongation[2](54,38) = 135.0/4096.0; + prolongation[2](54,39) = 135.0/4096.0; + prolongation[2](54,40) = 135.0/4096.0; + prolongation[2](54,41) = 135.0/4096.0; + prolongation[2](54,42) = -45.0/4096.0; + prolongation[2](54,43) = -45.0/4096.0; + prolongation[2](54,44) = 75.0/4096.0; + prolongation[2](54,45) = -25.0/4096.0; + prolongation[2](54,46) = -225.0/4096.0; + prolongation[2](54,47) = 75.0/4096.0; + prolongation[2](54,48) = 675.0/4096.0; + prolongation[2](54,49) = 675.0/4096.0; + prolongation[2](54,50) = -225.0/4096.0; + prolongation[2](54,51) = -225.0/4096.0; + prolongation[2](54,52) = 75.0/4096.0; + prolongation[2](54,53) = -25.0/4096.0; + prolongation[2](54,54) = -225.0/4096.0; + prolongation[2](54,55) = 75.0/4096.0; + prolongation[2](54,56) = -675.0/4096.0; + prolongation[2](54,57) = -675.0/4096.0; + prolongation[2](54,58) = 225.0/4096.0; + prolongation[2](54,59) = 225.0/4096.0; + prolongation[2](54,60) = 2025.0/4096.0; + prolongation[2](54,61) = 2025.0/4096.0; + prolongation[2](54,62) = -675.0/4096.0; + prolongation[2](54,63) = -675.0/4096.0; + prolongation[2](55,24) = -1.0/256.0; + prolongation[2](55,26) = -1.0/256.0; + prolongation[2](55,28) = -5.0/256.0; + prolongation[2](55,30) = -5.0/256.0; + prolongation[2](55,40) = 9.0/256.0; + prolongation[2](55,41) = 9.0/256.0; + prolongation[2](55,44) = 5.0/256.0; + prolongation[2](55,46) = -15.0/256.0; + prolongation[2](55,48) = 45.0/256.0; + prolongation[2](55,49) = 45.0/256.0; + prolongation[2](55,52) = 5.0/256.0; + prolongation[2](55,54) = -15.0/256.0; + prolongation[2](55,56) = -45.0/256.0; + prolongation[2](55,57) = -45.0/256.0; + prolongation[2](55,60) = 135.0/256.0; + prolongation[2](55,61) = 135.0/256.0; + prolongation[2](56,35) = 5.0/16.0; + prolongation[2](56,39) = 1.0/16.0; + prolongation[2](56,61) = 15.0/16.0; + prolongation[2](56,63) = -5.0/16.0; + prolongation[2](57,11) = 25.0/256.0; + prolongation[2](57,15) = 5.0/256.0; + prolongation[2](57,19) = 5.0/256.0; + prolongation[2](57,23) = 1.0/256.0; + prolongation[2](57,34) = -25.0/256.0; + prolongation[2](57,35) = 75.0/256.0; + prolongation[2](57,38) = -5.0/256.0; + prolongation[2](57,39) = 15.0/256.0; + prolongation[2](57,46) = 75.0/256.0; + prolongation[2](57,47) = -25.0/256.0; + prolongation[2](57,54) = 15.0/256.0; + prolongation[2](57,55) = -5.0/256.0; + prolongation[2](57,60) = -75.0/256.0; + prolongation[2](57,61) = 225.0/256.0; + prolongation[2](57,62) = 25.0/256.0; + prolongation[2](57,63) = -75.0/256.0; + prolongation[2](58,61) = 1.0; + prolongation[2](59,46) = 5.0/16.0; + prolongation[2](59,54) = 1.0/16.0; + prolongation[2](59,60) = -5.0/16.0; + prolongation[2](59,61) = 15.0/16.0; + prolongation[2](60,9) = 5.0/256.0; + prolongation[2](60,13) = 25.0/256.0; + prolongation[2](60,17) = 1.0/256.0; + prolongation[2](60,21) = 5.0/256.0; + prolongation[2](60,33) = -25.0/256.0; + prolongation[2](60,35) = 75.0/256.0; + prolongation[2](60,37) = -5.0/256.0; + prolongation[2](60,39) = 15.0/256.0; + prolongation[2](60,41) = 15.0/256.0; + prolongation[2](60,43) = -5.0/256.0; + prolongation[2](60,49) = 75.0/256.0; + prolongation[2](60,51) = -25.0/256.0; + prolongation[2](60,57) = -75.0/256.0; + prolongation[2](60,59) = 25.0/256.0; + prolongation[2](60,61) = 225.0/256.0; + prolongation[2](60,63) = -75.0/256.0; + prolongation[2](61,0) = 5.0/4096.0; + prolongation[2](61,1) = 25.0/4096.0; + prolongation[2](61,2) = 125.0/4096.0; + prolongation[2](61,3) = 25.0/4096.0; + prolongation[2](61,4) = 1.0/4096.0; + prolongation[2](61,5) = 5.0/4096.0; + prolongation[2](61,6) = 25.0/4096.0; + prolongation[2](61,7) = 5.0/4096.0; + prolongation[2](61,8) = -25.0/4096.0; + prolongation[2](61,9) = 75.0/4096.0; + prolongation[2](61,10) = -125.0/4096.0; + prolongation[2](61,11) = 375.0/4096.0; + prolongation[2](61,12) = -125.0/4096.0; + prolongation[2](61,13) = 375.0/4096.0; + prolongation[2](61,14) = -25.0/4096.0; + prolongation[2](61,15) = 75.0/4096.0; + prolongation[2](61,16) = -5.0/4096.0; + prolongation[2](61,17) = 15.0/4096.0; + prolongation[2](61,18) = -25.0/4096.0; + prolongation[2](61,19) = 75.0/4096.0; + prolongation[2](61,20) = -25.0/4096.0; + prolongation[2](61,21) = 75.0/4096.0; + prolongation[2](61,22) = -5.0/4096.0; + prolongation[2](61,23) = 15.0/4096.0; + prolongation[2](61,24) = 15.0/4096.0; + prolongation[2](61,25) = -5.0/4096.0; + prolongation[2](61,26) = 75.0/4096.0; + prolongation[2](61,27) = -25.0/4096.0; + prolongation[2](61,28) = 375.0/4096.0; + prolongation[2](61,29) = -125.0/4096.0; + prolongation[2](61,30) = 75.0/4096.0; + prolongation[2](61,31) = -25.0/4096.0; + prolongation[2](61,32) = 125.0/4096.0; + prolongation[2](61,33) = -375.0/4096.0; + prolongation[2](61,34) = -375.0/4096.0; + prolongation[2](61,35) = 1125.0/4096.0; + prolongation[2](61,36) = 25.0/4096.0; + prolongation[2](61,37) = -75.0/4096.0; + prolongation[2](61,38) = -75.0/4096.0; + prolongation[2](61,39) = 225.0/4096.0; + prolongation[2](61,40) = -75.0/4096.0; + prolongation[2](61,41) = 225.0/4096.0; + prolongation[2](61,42) = 25.0/4096.0; + prolongation[2](61,43) = -75.0/4096.0; + prolongation[2](61,44) = -375.0/4096.0; + prolongation[2](61,45) = 125.0/4096.0; + prolongation[2](61,46) = 1125.0/4096.0; + prolongation[2](61,47) = -375.0/4096.0; + prolongation[2](61,48) = -375.0/4096.0; + prolongation[2](61,49) = 1125.0/4096.0; + prolongation[2](61,50) = 125.0/4096.0; + prolongation[2](61,51) = -375.0/4096.0; + prolongation[2](61,52) = -75.0/4096.0; + prolongation[2](61,53) = 25.0/4096.0; + prolongation[2](61,54) = 225.0/4096.0; + prolongation[2](61,55) = -75.0/4096.0; + prolongation[2](61,56) = 375.0/4096.0; + prolongation[2](61,57) = -1125.0/4096.0; + prolongation[2](61,58) = -125.0/4096.0; + prolongation[2](61,59) = 375.0/4096.0; + prolongation[2](61,60) = -1125.0/4096.0; + prolongation[2](61,61) = 3375.0/4096.0; + prolongation[2](61,62) = 375.0/4096.0; + prolongation[2](61,63) = -1125.0/4096.0; + prolongation[2](62,41) = 1.0/16.0; + prolongation[2](62,49) = 5.0/16.0; + prolongation[2](62,57) = -5.0/16.0; + prolongation[2](62,61) = 15.0/16.0; + prolongation[2](63,24) = 1.0/256.0; + prolongation[2](63,26) = 5.0/256.0; + prolongation[2](63,28) = 25.0/256.0; + prolongation[2](63,30) = 5.0/256.0; + prolongation[2](63,40) = -5.0/256.0; + prolongation[2](63,41) = 15.0/256.0; + prolongation[2](63,44) = -25.0/256.0; + prolongation[2](63,46) = 75.0/256.0; + prolongation[2](63,48) = -25.0/256.0; + prolongation[2](63,49) = 75.0/256.0; + prolongation[2](63,52) = -5.0/256.0; + prolongation[2](63,54) = 15.0/256.0; + prolongation[2](63,56) = 25.0/256.0; + prolongation[2](63,57) = -75.0/256.0; + prolongation[2](63,60) = -75.0/256.0; + prolongation[2](63,61) = 225.0/256.0; + prolongation[3](0,0) = -1.0/16.0; + prolongation[3](0,3) = -1.0/16.0; + prolongation[3](0,14) = 9.0/16.0; + prolongation[3](0,15) = 9.0/16.0; + prolongation[3](1,0) = 1.0/256.0; + prolongation[3](1,1) = 1.0/256.0; + prolongation[3](1,2) = 1.0/256.0; + prolongation[3](1,3) = 1.0/256.0; + prolongation[3](1,8) = -9.0/256.0; + prolongation[3](1,9) = -9.0/256.0; + prolongation[3](1,10) = -9.0/256.0; + prolongation[3](1,11) = -9.0/256.0; + prolongation[3](1,12) = -9.0/256.0; + prolongation[3](1,13) = -9.0/256.0; + prolongation[3](1,14) = -9.0/256.0; + prolongation[3](1,15) = -9.0/256.0; + prolongation[3](1,32) = 81.0/256.0; + prolongation[3](1,33) = 81.0/256.0; + prolongation[3](1,34) = 81.0/256.0; + prolongation[3](1,35) = 81.0/256.0; + prolongation[3](2,2) = -1.0/16.0; + prolongation[3](2,3) = -1.0/16.0; + prolongation[3](2,12) = 9.0/16.0; + prolongation[3](2,13) = 9.0/16.0; + prolongation[3](3,3) = 1.0; + prolongation[3](4,0) = 1.0/256.0; + prolongation[3](4,3) = 1.0/256.0; + prolongation[3](4,4) = 1.0/256.0; + prolongation[3](4,7) = 1.0/256.0; + prolongation[3](4,14) = -9.0/256.0; + prolongation[3](4,15) = -9.0/256.0; + prolongation[3](4,22) = -9.0/256.0; + prolongation[3](4,23) = -9.0/256.0; + prolongation[3](4,24) = -9.0/256.0; + prolongation[3](4,25) = -9.0/256.0; + prolongation[3](4,30) = -9.0/256.0; + prolongation[3](4,31) = -9.0/256.0; + prolongation[3](4,52) = 81.0/256.0; + prolongation[3](4,53) = 81.0/256.0; + prolongation[3](4,54) = 81.0/256.0; + prolongation[3](4,55) = 81.0/256.0; + prolongation[3](5,0) = -1.0/4096.0; + prolongation[3](5,1) = -1.0/4096.0; + prolongation[3](5,2) = -1.0/4096.0; + prolongation[3](5,3) = -1.0/4096.0; + prolongation[3](5,4) = -1.0/4096.0; + prolongation[3](5,5) = -1.0/4096.0; + prolongation[3](5,6) = -1.0/4096.0; + prolongation[3](5,7) = -1.0/4096.0; + prolongation[3](5,8) = 9.0/4096.0; + prolongation[3](5,9) = 9.0/4096.0; + prolongation[3](5,10) = 9.0/4096.0; + prolongation[3](5,11) = 9.0/4096.0; + prolongation[3](5,12) = 9.0/4096.0; + prolongation[3](5,13) = 9.0/4096.0; + prolongation[3](5,14) = 9.0/4096.0; + prolongation[3](5,15) = 9.0/4096.0; + prolongation[3](5,16) = 9.0/4096.0; + prolongation[3](5,17) = 9.0/4096.0; + prolongation[3](5,18) = 9.0/4096.0; + prolongation[3](5,19) = 9.0/4096.0; + prolongation[3](5,20) = 9.0/4096.0; + prolongation[3](5,21) = 9.0/4096.0; + prolongation[3](5,22) = 9.0/4096.0; + prolongation[3](5,23) = 9.0/4096.0; + prolongation[3](5,24) = 9.0/4096.0; + prolongation[3](5,25) = 9.0/4096.0; + prolongation[3](5,26) = 9.0/4096.0; + prolongation[3](5,27) = 9.0/4096.0; + prolongation[3](5,28) = 9.0/4096.0; + prolongation[3](5,29) = 9.0/4096.0; + prolongation[3](5,30) = 9.0/4096.0; + prolongation[3](5,31) = 9.0/4096.0; + prolongation[3](5,32) = -81.0/4096.0; + prolongation[3](5,33) = -81.0/4096.0; + prolongation[3](5,34) = -81.0/4096.0; + prolongation[3](5,35) = -81.0/4096.0; + prolongation[3](5,36) = -81.0/4096.0; + prolongation[3](5,37) = -81.0/4096.0; + prolongation[3](5,38) = -81.0/4096.0; + prolongation[3](5,39) = -81.0/4096.0; + prolongation[3](5,40) = -81.0/4096.0; + prolongation[3](5,41) = -81.0/4096.0; + prolongation[3](5,42) = -81.0/4096.0; + prolongation[3](5,43) = -81.0/4096.0; + prolongation[3](5,44) = -81.0/4096.0; + prolongation[3](5,45) = -81.0/4096.0; + prolongation[3](5,46) = -81.0/4096.0; + prolongation[3](5,47) = -81.0/4096.0; + prolongation[3](5,48) = -81.0/4096.0; + prolongation[3](5,49) = -81.0/4096.0; + prolongation[3](5,50) = -81.0/4096.0; + prolongation[3](5,51) = -81.0/4096.0; + prolongation[3](5,52) = -81.0/4096.0; + prolongation[3](5,53) = -81.0/4096.0; + prolongation[3](5,54) = -81.0/4096.0; + prolongation[3](5,55) = -81.0/4096.0; + prolongation[3](5,56) = 729.0/4096.0; + prolongation[3](5,57) = 729.0/4096.0; + prolongation[3](5,58) = 729.0/4096.0; + prolongation[3](5,59) = 729.0/4096.0; + prolongation[3](5,60) = 729.0/4096.0; + prolongation[3](5,61) = 729.0/4096.0; + prolongation[3](5,62) = 729.0/4096.0; + prolongation[3](5,63) = 729.0/4096.0; + prolongation[3](6,2) = 1.0/256.0; + prolongation[3](6,3) = 1.0/256.0; + prolongation[3](6,6) = 1.0/256.0; + prolongation[3](6,7) = 1.0/256.0; + prolongation[3](6,12) = -9.0/256.0; + prolongation[3](6,13) = -9.0/256.0; + prolongation[3](6,20) = -9.0/256.0; + prolongation[3](6,21) = -9.0/256.0; + prolongation[3](6,28) = -9.0/256.0; + prolongation[3](6,29) = -9.0/256.0; + prolongation[3](6,30) = -9.0/256.0; + prolongation[3](6,31) = -9.0/256.0; + prolongation[3](6,48) = 81.0/256.0; + prolongation[3](6,49) = 81.0/256.0; + prolongation[3](6,50) = 81.0/256.0; + prolongation[3](6,51) = 81.0/256.0; + prolongation[3](7,3) = -1.0/16.0; + prolongation[3](7,7) = -1.0/16.0; + prolongation[3](7,30) = 9.0/16.0; + prolongation[3](7,31) = 9.0/16.0; + prolongation[3](8,0) = -5.0/256.0; + prolongation[3](8,1) = -1.0/256.0; + prolongation[3](8,2) = -1.0/256.0; + prolongation[3](8,3) = -5.0/256.0; + prolongation[3](8,8) = -15.0/256.0; + prolongation[3](8,9) = 5.0/256.0; + prolongation[3](8,10) = 9.0/256.0; + prolongation[3](8,11) = 9.0/256.0; + prolongation[3](8,12) = -15.0/256.0; + prolongation[3](8,13) = 5.0/256.0; + prolongation[3](8,14) = 45.0/256.0; + prolongation[3](8,15) = 45.0/256.0; + prolongation[3](8,32) = 135.0/256.0; + prolongation[3](8,33) = -45.0/256.0; + prolongation[3](8,34) = 135.0/256.0; + prolongation[3](8,35) = -45.0/256.0; + prolongation[3](9,8) = -1.0/16.0; + prolongation[3](9,12) = -1.0/16.0; + prolongation[3](9,32) = 9.0/16.0; + prolongation[3](9,34) = 9.0/16.0; + prolongation[3](10,11) = -1.0/16.0; + prolongation[3](10,15) = -1.0/16.0; + prolongation[3](10,34) = 9.0/16.0; + prolongation[3](10,35) = 9.0/16.0; + prolongation[3](11,0) = -1.0/256.0; + prolongation[3](11,1) = -1.0/256.0; + prolongation[3](11,2) = -5.0/256.0; + prolongation[3](11,3) = -5.0/256.0; + prolongation[3](11,8) = 9.0/256.0; + prolongation[3](11,9) = 9.0/256.0; + prolongation[3](11,10) = 5.0/256.0; + prolongation[3](11,11) = -15.0/256.0; + prolongation[3](11,12) = 45.0/256.0; + prolongation[3](11,13) = 45.0/256.0; + prolongation[3](11,14) = 5.0/256.0; + prolongation[3](11,15) = -15.0/256.0; + prolongation[3](11,32) = -45.0/256.0; + prolongation[3](11,33) = -45.0/256.0; + prolongation[3](11,34) = 135.0/256.0; + prolongation[3](11,35) = 135.0/256.0; + prolongation[3](12,2) = 1.0/16.0; + prolongation[3](12,3) = 5.0/16.0; + prolongation[3](12,12) = 15.0/16.0; + prolongation[3](12,13) = -5.0/16.0; + prolongation[3](13,12) = 1.0; + prolongation[3](14,15) = 1.0; + prolongation[3](15,0) = 1.0/16.0; + prolongation[3](15,3) = 5.0/16.0; + prolongation[3](15,14) = -5.0/16.0; + prolongation[3](15,15) = 15.0/16.0; + prolongation[3](16,0) = 5.0/4096.0; + prolongation[3](16,1) = 1.0/4096.0; + prolongation[3](16,2) = 1.0/4096.0; + prolongation[3](16,3) = 5.0/4096.0; + prolongation[3](16,4) = 5.0/4096.0; + prolongation[3](16,5) = 1.0/4096.0; + prolongation[3](16,6) = 1.0/4096.0; + prolongation[3](16,7) = 5.0/4096.0; + prolongation[3](16,8) = 15.0/4096.0; + prolongation[3](16,9) = -5.0/4096.0; + prolongation[3](16,10) = -9.0/4096.0; + prolongation[3](16,11) = -9.0/4096.0; + prolongation[3](16,12) = 15.0/4096.0; + prolongation[3](16,13) = -5.0/4096.0; + prolongation[3](16,14) = -45.0/4096.0; + prolongation[3](16,15) = -45.0/4096.0; + prolongation[3](16,16) = 15.0/4096.0; + prolongation[3](16,17) = -5.0/4096.0; + prolongation[3](16,18) = -9.0/4096.0; + prolongation[3](16,19) = -9.0/4096.0; + prolongation[3](16,20) = 15.0/4096.0; + prolongation[3](16,21) = -5.0/4096.0; + prolongation[3](16,22) = -45.0/4096.0; + prolongation[3](16,23) = -45.0/4096.0; + prolongation[3](16,24) = -45.0/4096.0; + prolongation[3](16,25) = -45.0/4096.0; + prolongation[3](16,26) = -9.0/4096.0; + prolongation[3](16,27) = -9.0/4096.0; + prolongation[3](16,28) = -9.0/4096.0; + prolongation[3](16,29) = -9.0/4096.0; + prolongation[3](16,30) = -45.0/4096.0; + prolongation[3](16,31) = -45.0/4096.0; + prolongation[3](16,32) = -135.0/4096.0; + prolongation[3](16,33) = 45.0/4096.0; + prolongation[3](16,34) = -135.0/4096.0; + prolongation[3](16,35) = 45.0/4096.0; + prolongation[3](16,36) = -135.0/4096.0; + prolongation[3](16,37) = 45.0/4096.0; + prolongation[3](16,38) = -135.0/4096.0; + prolongation[3](16,39) = 45.0/4096.0; + prolongation[3](16,40) = -135.0/4096.0; + prolongation[3](16,41) = 45.0/4096.0; + prolongation[3](16,42) = -135.0/4096.0; + prolongation[3](16,43) = 45.0/4096.0; + prolongation[3](16,44) = 81.0/4096.0; + prolongation[3](16,45) = 81.0/4096.0; + prolongation[3](16,46) = 81.0/4096.0; + prolongation[3](16,47) = 81.0/4096.0; + prolongation[3](16,48) = -135.0/4096.0; + prolongation[3](16,49) = 45.0/4096.0; + prolongation[3](16,50) = -135.0/4096.0; + prolongation[3](16,51) = 45.0/4096.0; + prolongation[3](16,52) = 405.0/4096.0; + prolongation[3](16,53) = 405.0/4096.0; + prolongation[3](16,54) = 405.0/4096.0; + prolongation[3](16,55) = 405.0/4096.0; + prolongation[3](16,56) = 1215.0/4096.0; + prolongation[3](16,57) = -405.0/4096.0; + prolongation[3](16,58) = 1215.0/4096.0; + prolongation[3](16,59) = -405.0/4096.0; + prolongation[3](16,60) = 1215.0/4096.0; + prolongation[3](16,61) = -405.0/4096.0; + prolongation[3](16,62) = 1215.0/4096.0; + prolongation[3](16,63) = -405.0/4096.0; + prolongation[3](17,8) = 1.0/256.0; + prolongation[3](17,12) = 1.0/256.0; + prolongation[3](17,16) = 1.0/256.0; + prolongation[3](17,20) = 1.0/256.0; + prolongation[3](17,32) = -9.0/256.0; + prolongation[3](17,34) = -9.0/256.0; + prolongation[3](17,36) = -9.0/256.0; + prolongation[3](17,38) = -9.0/256.0; + prolongation[3](17,40) = -9.0/256.0; + prolongation[3](17,42) = -9.0/256.0; + prolongation[3](17,48) = -9.0/256.0; + prolongation[3](17,50) = -9.0/256.0; + prolongation[3](17,56) = 81.0/256.0; + prolongation[3](17,58) = 81.0/256.0; + prolongation[3](17,60) = 81.0/256.0; + prolongation[3](17,62) = 81.0/256.0; + prolongation[3](18,11) = 1.0/256.0; + prolongation[3](18,15) = 1.0/256.0; + prolongation[3](18,19) = 1.0/256.0; + prolongation[3](18,23) = 1.0/256.0; + prolongation[3](18,34) = -9.0/256.0; + prolongation[3](18,35) = -9.0/256.0; + prolongation[3](18,38) = -9.0/256.0; + prolongation[3](18,39) = -9.0/256.0; + prolongation[3](18,46) = -9.0/256.0; + prolongation[3](18,47) = -9.0/256.0; + prolongation[3](18,54) = -9.0/256.0; + prolongation[3](18,55) = -9.0/256.0; + prolongation[3](18,60) = 81.0/256.0; + prolongation[3](18,61) = 81.0/256.0; + prolongation[3](18,62) = 81.0/256.0; + prolongation[3](18,63) = 81.0/256.0; + prolongation[3](19,0) = 1.0/4096.0; + prolongation[3](19,1) = 1.0/4096.0; + prolongation[3](19,2) = 5.0/4096.0; + prolongation[3](19,3) = 5.0/4096.0; + prolongation[3](19,4) = 1.0/4096.0; + prolongation[3](19,5) = 1.0/4096.0; + prolongation[3](19,6) = 5.0/4096.0; + prolongation[3](19,7) = 5.0/4096.0; + prolongation[3](19,8) = -9.0/4096.0; + prolongation[3](19,9) = -9.0/4096.0; + prolongation[3](19,10) = -5.0/4096.0; + prolongation[3](19,11) = 15.0/4096.0; + prolongation[3](19,12) = -45.0/4096.0; + prolongation[3](19,13) = -45.0/4096.0; + prolongation[3](19,14) = -5.0/4096.0; + prolongation[3](19,15) = 15.0/4096.0; + prolongation[3](19,16) = -9.0/4096.0; + prolongation[3](19,17) = -9.0/4096.0; + prolongation[3](19,18) = -5.0/4096.0; + prolongation[3](19,19) = 15.0/4096.0; + prolongation[3](19,20) = -45.0/4096.0; + prolongation[3](19,21) = -45.0/4096.0; + prolongation[3](19,22) = -5.0/4096.0; + prolongation[3](19,23) = 15.0/4096.0; + prolongation[3](19,24) = -9.0/4096.0; + prolongation[3](19,25) = -9.0/4096.0; + prolongation[3](19,26) = -9.0/4096.0; + prolongation[3](19,27) = -9.0/4096.0; + prolongation[3](19,28) = -45.0/4096.0; + prolongation[3](19,29) = -45.0/4096.0; + prolongation[3](19,30) = -45.0/4096.0; + prolongation[3](19,31) = -45.0/4096.0; + prolongation[3](19,32) = 45.0/4096.0; + prolongation[3](19,33) = 45.0/4096.0; + prolongation[3](19,34) = -135.0/4096.0; + prolongation[3](19,35) = -135.0/4096.0; + prolongation[3](19,36) = 45.0/4096.0; + prolongation[3](19,37) = 45.0/4096.0; + prolongation[3](19,38) = -135.0/4096.0; + prolongation[3](19,39) = -135.0/4096.0; + prolongation[3](19,40) = 81.0/4096.0; + prolongation[3](19,41) = 81.0/4096.0; + prolongation[3](19,42) = 81.0/4096.0; + prolongation[3](19,43) = 81.0/4096.0; + prolongation[3](19,44) = 45.0/4096.0; + prolongation[3](19,45) = 45.0/4096.0; + prolongation[3](19,46) = -135.0/4096.0; + prolongation[3](19,47) = -135.0/4096.0; + prolongation[3](19,48) = 405.0/4096.0; + prolongation[3](19,49) = 405.0/4096.0; + prolongation[3](19,50) = 405.0/4096.0; + prolongation[3](19,51) = 405.0/4096.0; + prolongation[3](19,52) = 45.0/4096.0; + prolongation[3](19,53) = 45.0/4096.0; + prolongation[3](19,54) = -135.0/4096.0; + prolongation[3](19,55) = -135.0/4096.0; + prolongation[3](19,56) = -405.0/4096.0; + prolongation[3](19,57) = -405.0/4096.0; + prolongation[3](19,58) = -405.0/4096.0; + prolongation[3](19,59) = -405.0/4096.0; + prolongation[3](19,60) = 1215.0/4096.0; + prolongation[3](19,61) = 1215.0/4096.0; + prolongation[3](19,62) = 1215.0/4096.0; + prolongation[3](19,63) = 1215.0/4096.0; + prolongation[3](20,2) = -1.0/256.0; + prolongation[3](20,3) = -5.0/256.0; + prolongation[3](20,6) = -1.0/256.0; + prolongation[3](20,7) = -5.0/256.0; + prolongation[3](20,12) = -15.0/256.0; + prolongation[3](20,13) = 5.0/256.0; + prolongation[3](20,20) = -15.0/256.0; + prolongation[3](20,21) = 5.0/256.0; + prolongation[3](20,28) = 9.0/256.0; + prolongation[3](20,29) = 9.0/256.0; + prolongation[3](20,30) = 45.0/256.0; + prolongation[3](20,31) = 45.0/256.0; + prolongation[3](20,48) = 135.0/256.0; + prolongation[3](20,49) = -45.0/256.0; + prolongation[3](20,50) = 135.0/256.0; + prolongation[3](20,51) = -45.0/256.0; + prolongation[3](21,12) = -1.0/16.0; + prolongation[3](21,20) = -1.0/16.0; + prolongation[3](21,48) = 9.0/16.0; + prolongation[3](21,50) = 9.0/16.0; + prolongation[3](22,15) = -1.0/16.0; + prolongation[3](22,23) = -1.0/16.0; + prolongation[3](22,54) = 9.0/16.0; + prolongation[3](22,55) = 9.0/16.0; + prolongation[3](23,0) = -1.0/256.0; + prolongation[3](23,3) = -5.0/256.0; + prolongation[3](23,4) = -1.0/256.0; + prolongation[3](23,7) = -5.0/256.0; + prolongation[3](23,14) = 5.0/256.0; + prolongation[3](23,15) = -15.0/256.0; + prolongation[3](23,22) = 5.0/256.0; + prolongation[3](23,23) = -15.0/256.0; + prolongation[3](23,24) = 9.0/256.0; + prolongation[3](23,25) = 9.0/256.0; + prolongation[3](23,30) = 45.0/256.0; + prolongation[3](23,31) = 45.0/256.0; + prolongation[3](23,52) = -45.0/256.0; + prolongation[3](23,53) = -45.0/256.0; + prolongation[3](23,54) = 135.0/256.0; + prolongation[3](23,55) = 135.0/256.0; + prolongation[3](24,0) = -5.0/256.0; + prolongation[3](24,3) = -5.0/256.0; + prolongation[3](24,4) = -1.0/256.0; + prolongation[3](24,7) = -1.0/256.0; + prolongation[3](24,14) = 45.0/256.0; + prolongation[3](24,15) = 45.0/256.0; + prolongation[3](24,22) = 9.0/256.0; + prolongation[3](24,23) = 9.0/256.0; + prolongation[3](24,24) = -15.0/256.0; + prolongation[3](24,25) = 5.0/256.0; + prolongation[3](24,30) = -15.0/256.0; + prolongation[3](24,31) = 5.0/256.0; + prolongation[3](24,52) = 135.0/256.0; + prolongation[3](24,53) = -45.0/256.0; + prolongation[3](24,54) = 135.0/256.0; + prolongation[3](24,55) = -45.0/256.0; + prolongation[3](25,24) = -1.0/16.0; + prolongation[3](25,30) = -1.0/16.0; + prolongation[3](25,52) = 9.0/16.0; + prolongation[3](25,54) = 9.0/16.0; + prolongation[3](26,0) = 5.0/4096.0; + prolongation[3](26,1) = 5.0/4096.0; + prolongation[3](26,2) = 5.0/4096.0; + prolongation[3](26,3) = 5.0/4096.0; + prolongation[3](26,4) = 1.0/4096.0; + prolongation[3](26,5) = 1.0/4096.0; + prolongation[3](26,6) = 1.0/4096.0; + prolongation[3](26,7) = 1.0/4096.0; + prolongation[3](26,8) = -45.0/4096.0; + prolongation[3](26,9) = -45.0/4096.0; + prolongation[3](26,10) = -45.0/4096.0; + prolongation[3](26,11) = -45.0/4096.0; + prolongation[3](26,12) = -45.0/4096.0; + prolongation[3](26,13) = -45.0/4096.0; + prolongation[3](26,14) = -45.0/4096.0; + prolongation[3](26,15) = -45.0/4096.0; + prolongation[3](26,16) = -9.0/4096.0; + prolongation[3](26,17) = -9.0/4096.0; + prolongation[3](26,18) = -9.0/4096.0; + prolongation[3](26,19) = -9.0/4096.0; + prolongation[3](26,20) = -9.0/4096.0; + prolongation[3](26,21) = -9.0/4096.0; + prolongation[3](26,22) = -9.0/4096.0; + prolongation[3](26,23) = -9.0/4096.0; + prolongation[3](26,24) = 15.0/4096.0; + prolongation[3](26,25) = -5.0/4096.0; + prolongation[3](26,26) = 15.0/4096.0; + prolongation[3](26,27) = -5.0/4096.0; + prolongation[3](26,28) = 15.0/4096.0; + prolongation[3](26,29) = -5.0/4096.0; + prolongation[3](26,30) = 15.0/4096.0; + prolongation[3](26,31) = -5.0/4096.0; + prolongation[3](26,32) = 405.0/4096.0; + prolongation[3](26,33) = 405.0/4096.0; + prolongation[3](26,34) = 405.0/4096.0; + prolongation[3](26,35) = 405.0/4096.0; + prolongation[3](26,36) = 81.0/4096.0; + prolongation[3](26,37) = 81.0/4096.0; + prolongation[3](26,38) = 81.0/4096.0; + prolongation[3](26,39) = 81.0/4096.0; + prolongation[3](26,40) = -135.0/4096.0; + prolongation[3](26,41) = -135.0/4096.0; + prolongation[3](26,42) = 45.0/4096.0; + prolongation[3](26,43) = 45.0/4096.0; + prolongation[3](26,44) = -135.0/4096.0; + prolongation[3](26,45) = 45.0/4096.0; + prolongation[3](26,46) = -135.0/4096.0; + prolongation[3](26,47) = 45.0/4096.0; + prolongation[3](26,48) = -135.0/4096.0; + prolongation[3](26,49) = -135.0/4096.0; + prolongation[3](26,50) = 45.0/4096.0; + prolongation[3](26,51) = 45.0/4096.0; + prolongation[3](26,52) = -135.0/4096.0; + prolongation[3](26,53) = 45.0/4096.0; + prolongation[3](26,54) = -135.0/4096.0; + prolongation[3](26,55) = 45.0/4096.0; + prolongation[3](26,56) = 1215.0/4096.0; + prolongation[3](26,57) = 1215.0/4096.0; + prolongation[3](26,58) = -405.0/4096.0; + prolongation[3](26,59) = -405.0/4096.0; + prolongation[3](26,60) = 1215.0/4096.0; + prolongation[3](26,61) = 1215.0/4096.0; + prolongation[3](26,62) = -405.0/4096.0; + prolongation[3](26,63) = -405.0/4096.0; + prolongation[3](27,24) = 1.0/256.0; + prolongation[3](27,26) = 1.0/256.0; + prolongation[3](27,28) = 1.0/256.0; + prolongation[3](27,30) = 1.0/256.0; + prolongation[3](27,40) = -9.0/256.0; + prolongation[3](27,41) = -9.0/256.0; + prolongation[3](27,44) = -9.0/256.0; + prolongation[3](27,46) = -9.0/256.0; + prolongation[3](27,48) = -9.0/256.0; + prolongation[3](27,49) = -9.0/256.0; + prolongation[3](27,52) = -9.0/256.0; + prolongation[3](27,54) = -9.0/256.0; + prolongation[3](27,56) = 81.0/256.0; + prolongation[3](27,57) = 81.0/256.0; + prolongation[3](27,60) = 81.0/256.0; + prolongation[3](27,61) = 81.0/256.0; + prolongation[3](28,2) = -5.0/256.0; + prolongation[3](28,3) = -5.0/256.0; + prolongation[3](28,6) = -1.0/256.0; + prolongation[3](28,7) = -1.0/256.0; + prolongation[3](28,12) = 45.0/256.0; + prolongation[3](28,13) = 45.0/256.0; + prolongation[3](28,20) = 9.0/256.0; + prolongation[3](28,21) = 9.0/256.0; + prolongation[3](28,28) = -15.0/256.0; + prolongation[3](28,29) = 5.0/256.0; + prolongation[3](28,30) = -15.0/256.0; + prolongation[3](28,31) = 5.0/256.0; + prolongation[3](28,48) = 135.0/256.0; + prolongation[3](28,49) = 135.0/256.0; + prolongation[3](28,50) = -45.0/256.0; + prolongation[3](28,51) = -45.0/256.0; + prolongation[3](29,28) = -1.0/16.0; + prolongation[3](29,30) = -1.0/16.0; + prolongation[3](29,48) = 9.0/16.0; + prolongation[3](29,49) = 9.0/16.0; + prolongation[3](30,3) = 5.0/16.0; + prolongation[3](30,7) = 1.0/16.0; + prolongation[3](30,30) = 15.0/16.0; + prolongation[3](30,31) = -5.0/16.0; + prolongation[3](31,30) = 1.0; + prolongation[3](32,11) = 1.0/16.0; + prolongation[3](32,15) = 5.0/16.0; + prolongation[3](32,34) = 15.0/16.0; + prolongation[3](32,35) = -5.0/16.0; + prolongation[3](33,34) = 1.0; + prolongation[3](34,0) = 5.0/256.0; + prolongation[3](34,1) = 1.0/256.0; + prolongation[3](34,2) = 5.0/256.0; + prolongation[3](34,3) = 25.0/256.0; + prolongation[3](34,8) = 15.0/256.0; + prolongation[3](34,9) = -5.0/256.0; + prolongation[3](34,10) = -5.0/256.0; + prolongation[3](34,11) = 15.0/256.0; + prolongation[3](34,12) = 75.0/256.0; + prolongation[3](34,13) = -25.0/256.0; + prolongation[3](34,14) = -25.0/256.0; + prolongation[3](34,15) = 75.0/256.0; + prolongation[3](34,32) = -75.0/256.0; + prolongation[3](34,33) = 25.0/256.0; + prolongation[3](34,34) = 225.0/256.0; + prolongation[3](34,35) = -75.0/256.0; + prolongation[3](35,8) = 1.0/16.0; + prolongation[3](35,12) = 5.0/16.0; + prolongation[3](35,32) = -5.0/16.0; + prolongation[3](35,34) = 15.0/16.0; + prolongation[3](36,11) = -1.0/256.0; + prolongation[3](36,15) = -5.0/256.0; + prolongation[3](36,19) = -1.0/256.0; + prolongation[3](36,23) = -5.0/256.0; + prolongation[3](36,34) = -15.0/256.0; + prolongation[3](36,35) = 5.0/256.0; + prolongation[3](36,38) = -15.0/256.0; + prolongation[3](36,39) = 5.0/256.0; + prolongation[3](36,46) = 9.0/256.0; + prolongation[3](36,47) = 9.0/256.0; + prolongation[3](36,54) = 45.0/256.0; + prolongation[3](36,55) = 45.0/256.0; + prolongation[3](36,60) = 135.0/256.0; + prolongation[3](36,61) = -45.0/256.0; + prolongation[3](36,62) = 135.0/256.0; + prolongation[3](36,63) = -45.0/256.0; + prolongation[3](37,34) = -1.0/16.0; + prolongation[3](37,38) = -1.0/16.0; + prolongation[3](37,60) = 9.0/16.0; + prolongation[3](37,62) = 9.0/16.0; + prolongation[3](38,0) = -5.0/4096.0; + prolongation[3](38,1) = -1.0/4096.0; + prolongation[3](38,2) = -5.0/4096.0; + prolongation[3](38,3) = -25.0/4096.0; + prolongation[3](38,4) = -5.0/4096.0; + prolongation[3](38,5) = -1.0/4096.0; + prolongation[3](38,6) = -5.0/4096.0; + prolongation[3](38,7) = -25.0/4096.0; + prolongation[3](38,8) = -15.0/4096.0; + prolongation[3](38,9) = 5.0/4096.0; + prolongation[3](38,10) = 5.0/4096.0; + prolongation[3](38,11) = -15.0/4096.0; + prolongation[3](38,12) = -75.0/4096.0; + prolongation[3](38,13) = 25.0/4096.0; + prolongation[3](38,14) = 25.0/4096.0; + prolongation[3](38,15) = -75.0/4096.0; + prolongation[3](38,16) = -15.0/4096.0; + prolongation[3](38,17) = 5.0/4096.0; + prolongation[3](38,18) = 5.0/4096.0; + prolongation[3](38,19) = -15.0/4096.0; + prolongation[3](38,20) = -75.0/4096.0; + prolongation[3](38,21) = 25.0/4096.0; + prolongation[3](38,22) = 25.0/4096.0; + prolongation[3](38,23) = -75.0/4096.0; + prolongation[3](38,24) = 45.0/4096.0; + prolongation[3](38,25) = 45.0/4096.0; + prolongation[3](38,26) = 9.0/4096.0; + prolongation[3](38,27) = 9.0/4096.0; + prolongation[3](38,28) = 45.0/4096.0; + prolongation[3](38,29) = 45.0/4096.0; + prolongation[3](38,30) = 225.0/4096.0; + prolongation[3](38,31) = 225.0/4096.0; + prolongation[3](38,32) = 75.0/4096.0; + prolongation[3](38,33) = -25.0/4096.0; + prolongation[3](38,34) = -225.0/4096.0; + prolongation[3](38,35) = 75.0/4096.0; + prolongation[3](38,36) = 75.0/4096.0; + prolongation[3](38,37) = -25.0/4096.0; + prolongation[3](38,38) = -225.0/4096.0; + prolongation[3](38,39) = 75.0/4096.0; + prolongation[3](38,40) = 135.0/4096.0; + prolongation[3](38,41) = -45.0/4096.0; + prolongation[3](38,42) = 135.0/4096.0; + prolongation[3](38,43) = -45.0/4096.0; + prolongation[3](38,44) = -45.0/4096.0; + prolongation[3](38,45) = -45.0/4096.0; + prolongation[3](38,46) = 135.0/4096.0; + prolongation[3](38,47) = 135.0/4096.0; + prolongation[3](38,48) = 675.0/4096.0; + prolongation[3](38,49) = -225.0/4096.0; + prolongation[3](38,50) = 675.0/4096.0; + prolongation[3](38,51) = -225.0/4096.0; + prolongation[3](38,52) = -225.0/4096.0; + prolongation[3](38,53) = -225.0/4096.0; + prolongation[3](38,54) = 675.0/4096.0; + prolongation[3](38,55) = 675.0/4096.0; + prolongation[3](38,56) = -675.0/4096.0; + prolongation[3](38,57) = 225.0/4096.0; + prolongation[3](38,58) = -675.0/4096.0; + prolongation[3](38,59) = 225.0/4096.0; + prolongation[3](38,60) = 2025.0/4096.0; + prolongation[3](38,61) = -675.0/4096.0; + prolongation[3](38,62) = 2025.0/4096.0; + prolongation[3](38,63) = -675.0/4096.0; + prolongation[3](39,8) = -1.0/256.0; + prolongation[3](39,12) = -5.0/256.0; + prolongation[3](39,16) = -1.0/256.0; + prolongation[3](39,20) = -5.0/256.0; + prolongation[3](39,32) = 5.0/256.0; + prolongation[3](39,34) = -15.0/256.0; + prolongation[3](39,36) = 5.0/256.0; + prolongation[3](39,38) = -15.0/256.0; + prolongation[3](39,40) = 9.0/256.0; + prolongation[3](39,42) = 9.0/256.0; + prolongation[3](39,48) = 45.0/256.0; + prolongation[3](39,50) = 45.0/256.0; + prolongation[3](39,56) = -45.0/256.0; + prolongation[3](39,58) = -45.0/256.0; + prolongation[3](39,60) = 135.0/256.0; + prolongation[3](39,62) = 135.0/256.0; + prolongation[3](40,0) = -25.0/4096.0; + prolongation[3](40,1) = -5.0/4096.0; + prolongation[3](40,2) = -5.0/4096.0; + prolongation[3](40,3) = -25.0/4096.0; + prolongation[3](40,4) = -5.0/4096.0; + prolongation[3](40,5) = -1.0/4096.0; + prolongation[3](40,6) = -1.0/4096.0; + prolongation[3](40,7) = -5.0/4096.0; + prolongation[3](40,8) = -75.0/4096.0; + prolongation[3](40,9) = 25.0/4096.0; + prolongation[3](40,10) = 45.0/4096.0; + prolongation[3](40,11) = 45.0/4096.0; + prolongation[3](40,12) = -75.0/4096.0; + prolongation[3](40,13) = 25.0/4096.0; + prolongation[3](40,14) = 225.0/4096.0; + prolongation[3](40,15) = 225.0/4096.0; + prolongation[3](40,16) = -15.0/4096.0; + prolongation[3](40,17) = 5.0/4096.0; + prolongation[3](40,18) = 9.0/4096.0; + prolongation[3](40,19) = 9.0/4096.0; + prolongation[3](40,20) = -15.0/4096.0; + prolongation[3](40,21) = 5.0/4096.0; + prolongation[3](40,22) = 45.0/4096.0; + prolongation[3](40,23) = 45.0/4096.0; + prolongation[3](40,24) = -75.0/4096.0; + prolongation[3](40,25) = 25.0/4096.0; + prolongation[3](40,26) = -15.0/4096.0; + prolongation[3](40,27) = 5.0/4096.0; + prolongation[3](40,28) = -15.0/4096.0; + prolongation[3](40,29) = 5.0/4096.0; + prolongation[3](40,30) = -75.0/4096.0; + prolongation[3](40,31) = 25.0/4096.0; + prolongation[3](40,32) = 675.0/4096.0; + prolongation[3](40,33) = -225.0/4096.0; + prolongation[3](40,34) = 675.0/4096.0; + prolongation[3](40,35) = -225.0/4096.0; + prolongation[3](40,36) = 135.0/4096.0; + prolongation[3](40,37) = -45.0/4096.0; + prolongation[3](40,38) = 135.0/4096.0; + prolongation[3](40,39) = -45.0/4096.0; + prolongation[3](40,40) = -225.0/4096.0; + prolongation[3](40,41) = 75.0/4096.0; + prolongation[3](40,42) = 75.0/4096.0; + prolongation[3](40,43) = -25.0/4096.0; + prolongation[3](40,44) = 135.0/4096.0; + prolongation[3](40,45) = -45.0/4096.0; + prolongation[3](40,46) = 135.0/4096.0; + prolongation[3](40,47) = -45.0/4096.0; + prolongation[3](40,48) = -225.0/4096.0; + prolongation[3](40,49) = 75.0/4096.0; + prolongation[3](40,50) = 75.0/4096.0; + prolongation[3](40,51) = -25.0/4096.0; + prolongation[3](40,52) = 675.0/4096.0; + prolongation[3](40,53) = -225.0/4096.0; + prolongation[3](40,54) = 675.0/4096.0; + prolongation[3](40,55) = -225.0/4096.0; + prolongation[3](40,56) = 2025.0/4096.0; + prolongation[3](40,57) = -675.0/4096.0; + prolongation[3](40,58) = -675.0/4096.0; + prolongation[3](40,59) = 225.0/4096.0; + prolongation[3](40,60) = 2025.0/4096.0; + prolongation[3](40,61) = -675.0/4096.0; + prolongation[3](40,62) = -675.0/4096.0; + prolongation[3](40,63) = 225.0/4096.0; + prolongation[3](41,8) = -5.0/256.0; + prolongation[3](41,12) = -5.0/256.0; + prolongation[3](41,16) = -1.0/256.0; + prolongation[3](41,20) = -1.0/256.0; + prolongation[3](41,32) = 45.0/256.0; + prolongation[3](41,34) = 45.0/256.0; + prolongation[3](41,36) = 9.0/256.0; + prolongation[3](41,38) = 9.0/256.0; + prolongation[3](41,40) = -15.0/256.0; + prolongation[3](41,42) = 5.0/256.0; + prolongation[3](41,48) = -15.0/256.0; + prolongation[3](41,50) = 5.0/256.0; + prolongation[3](41,56) = 135.0/256.0; + prolongation[3](41,58) = -45.0/256.0; + prolongation[3](41,60) = 135.0/256.0; + prolongation[3](41,62) = -45.0/256.0; + prolongation[3](42,24) = -5.0/256.0; + prolongation[3](42,26) = -1.0/256.0; + prolongation[3](42,28) = -1.0/256.0; + prolongation[3](42,30) = -5.0/256.0; + prolongation[3](42,40) = -15.0/256.0; + prolongation[3](42,41) = 5.0/256.0; + prolongation[3](42,44) = 9.0/256.0; + prolongation[3](42,46) = 9.0/256.0; + prolongation[3](42,48) = -15.0/256.0; + prolongation[3](42,49) = 5.0/256.0; + prolongation[3](42,52) = 45.0/256.0; + prolongation[3](42,54) = 45.0/256.0; + prolongation[3](42,56) = 135.0/256.0; + prolongation[3](42,57) = -45.0/256.0; + prolongation[3](42,60) = 135.0/256.0; + prolongation[3](42,61) = -45.0/256.0; + prolongation[3](43,40) = -1.0/16.0; + prolongation[3](43,48) = -1.0/16.0; + prolongation[3](43,56) = 9.0/16.0; + prolongation[3](43,60) = 9.0/16.0; + prolongation[3](44,11) = -5.0/256.0; + prolongation[3](44,15) = -5.0/256.0; + prolongation[3](44,19) = -1.0/256.0; + prolongation[3](44,23) = -1.0/256.0; + prolongation[3](44,34) = 45.0/256.0; + prolongation[3](44,35) = 45.0/256.0; + prolongation[3](44,38) = 9.0/256.0; + prolongation[3](44,39) = 9.0/256.0; + prolongation[3](44,46) = -15.0/256.0; + prolongation[3](44,47) = 5.0/256.0; + prolongation[3](44,54) = -15.0/256.0; + prolongation[3](44,55) = 5.0/256.0; + prolongation[3](44,60) = 135.0/256.0; + prolongation[3](44,61) = 135.0/256.0; + prolongation[3](44,62) = -45.0/256.0; + prolongation[3](44,63) = -45.0/256.0; + prolongation[3](45,46) = -1.0/16.0; + prolongation[3](45,54) = -1.0/16.0; + prolongation[3](45,60) = 9.0/16.0; + prolongation[3](45,61) = 9.0/16.0; + prolongation[3](46,0) = -5.0/4096.0; + prolongation[3](46,1) = -5.0/4096.0; + prolongation[3](46,2) = -25.0/4096.0; + prolongation[3](46,3) = -25.0/4096.0; + prolongation[3](46,4) = -1.0/4096.0; + prolongation[3](46,5) = -1.0/4096.0; + prolongation[3](46,6) = -5.0/4096.0; + prolongation[3](46,7) = -5.0/4096.0; + prolongation[3](46,8) = 45.0/4096.0; + prolongation[3](46,9) = 45.0/4096.0; + prolongation[3](46,10) = 25.0/4096.0; + prolongation[3](46,11) = -75.0/4096.0; + prolongation[3](46,12) = 225.0/4096.0; + prolongation[3](46,13) = 225.0/4096.0; + prolongation[3](46,14) = 25.0/4096.0; + prolongation[3](46,15) = -75.0/4096.0; + prolongation[3](46,16) = 9.0/4096.0; + prolongation[3](46,17) = 9.0/4096.0; + prolongation[3](46,18) = 5.0/4096.0; + prolongation[3](46,19) = -15.0/4096.0; + prolongation[3](46,20) = 45.0/4096.0; + prolongation[3](46,21) = 45.0/4096.0; + prolongation[3](46,22) = 5.0/4096.0; + prolongation[3](46,23) = -15.0/4096.0; + prolongation[3](46,24) = -15.0/4096.0; + prolongation[3](46,25) = 5.0/4096.0; + prolongation[3](46,26) = -15.0/4096.0; + prolongation[3](46,27) = 5.0/4096.0; + prolongation[3](46,28) = -75.0/4096.0; + prolongation[3](46,29) = 25.0/4096.0; + prolongation[3](46,30) = -75.0/4096.0; + prolongation[3](46,31) = 25.0/4096.0; + prolongation[3](46,32) = -225.0/4096.0; + prolongation[3](46,33) = -225.0/4096.0; + prolongation[3](46,34) = 675.0/4096.0; + prolongation[3](46,35) = 675.0/4096.0; + prolongation[3](46,36) = -45.0/4096.0; + prolongation[3](46,37) = -45.0/4096.0; + prolongation[3](46,38) = 135.0/4096.0; + prolongation[3](46,39) = 135.0/4096.0; + prolongation[3](46,40) = 135.0/4096.0; + prolongation[3](46,41) = 135.0/4096.0; + prolongation[3](46,42) = -45.0/4096.0; + prolongation[3](46,43) = -45.0/4096.0; + prolongation[3](46,44) = 75.0/4096.0; + prolongation[3](46,45) = -25.0/4096.0; + prolongation[3](46,46) = -225.0/4096.0; + prolongation[3](46,47) = 75.0/4096.0; + prolongation[3](46,48) = 675.0/4096.0; + prolongation[3](46,49) = 675.0/4096.0; + prolongation[3](46,50) = -225.0/4096.0; + prolongation[3](46,51) = -225.0/4096.0; + prolongation[3](46,52) = 75.0/4096.0; + prolongation[3](46,53) = -25.0/4096.0; + prolongation[3](46,54) = -225.0/4096.0; + prolongation[3](46,55) = 75.0/4096.0; + prolongation[3](46,56) = -675.0/4096.0; + prolongation[3](46,57) = -675.0/4096.0; + prolongation[3](46,58) = 225.0/4096.0; + prolongation[3](46,59) = 225.0/4096.0; + prolongation[3](46,60) = 2025.0/4096.0; + prolongation[3](46,61) = 2025.0/4096.0; + prolongation[3](46,62) = -675.0/4096.0; + prolongation[3](46,63) = -675.0/4096.0; + prolongation[3](47,24) = -1.0/256.0; + prolongation[3](47,26) = -1.0/256.0; + prolongation[3](47,28) = -5.0/256.0; + prolongation[3](47,30) = -5.0/256.0; + prolongation[3](47,40) = 9.0/256.0; + prolongation[3](47,41) = 9.0/256.0; + prolongation[3](47,44) = 5.0/256.0; + prolongation[3](47,46) = -15.0/256.0; + prolongation[3](47,48) = 45.0/256.0; + prolongation[3](47,49) = 45.0/256.0; + prolongation[3](47,52) = 5.0/256.0; + prolongation[3](47,54) = -15.0/256.0; + prolongation[3](47,56) = -45.0/256.0; + prolongation[3](47,57) = -45.0/256.0; + prolongation[3](47,60) = 135.0/256.0; + prolongation[3](47,61) = 135.0/256.0; + prolongation[3](48,2) = 5.0/256.0; + prolongation[3](48,3) = 25.0/256.0; + prolongation[3](48,6) = 1.0/256.0; + prolongation[3](48,7) = 5.0/256.0; + prolongation[3](48,12) = 75.0/256.0; + prolongation[3](48,13) = -25.0/256.0; + prolongation[3](48,20) = 15.0/256.0; + prolongation[3](48,21) = -5.0/256.0; + prolongation[3](48,28) = 15.0/256.0; + prolongation[3](48,29) = -5.0/256.0; + prolongation[3](48,30) = 75.0/256.0; + prolongation[3](48,31) = -25.0/256.0; + prolongation[3](48,48) = 225.0/256.0; + prolongation[3](48,49) = -75.0/256.0; + prolongation[3](48,50) = -75.0/256.0; + prolongation[3](48,51) = 25.0/256.0; + prolongation[3](49,12) = 5.0/16.0; + prolongation[3](49,20) = 1.0/16.0; + prolongation[3](49,48) = 15.0/16.0; + prolongation[3](49,50) = -5.0/16.0; + prolongation[3](50,28) = 1.0/16.0; + prolongation[3](50,30) = 5.0/16.0; + prolongation[3](50,48) = 15.0/16.0; + prolongation[3](50,49) = -5.0/16.0; + prolongation[3](51,48) = 1.0; + prolongation[3](52,15) = 5.0/16.0; + prolongation[3](52,23) = 1.0/16.0; + prolongation[3](52,54) = 15.0/16.0; + prolongation[3](52,55) = -5.0/16.0; + prolongation[3](53,54) = 1.0; + prolongation[3](54,0) = 5.0/256.0; + prolongation[3](54,3) = 25.0/256.0; + prolongation[3](54,4) = 1.0/256.0; + prolongation[3](54,7) = 5.0/256.0; + prolongation[3](54,14) = -25.0/256.0; + prolongation[3](54,15) = 75.0/256.0; + prolongation[3](54,22) = -5.0/256.0; + prolongation[3](54,23) = 15.0/256.0; + prolongation[3](54,24) = 15.0/256.0; + prolongation[3](54,25) = -5.0/256.0; + prolongation[3](54,30) = 75.0/256.0; + prolongation[3](54,31) = -25.0/256.0; + prolongation[3](54,52) = -75.0/256.0; + prolongation[3](54,53) = 25.0/256.0; + prolongation[3](54,54) = 225.0/256.0; + prolongation[3](54,55) = -75.0/256.0; + prolongation[3](55,24) = 1.0/16.0; + prolongation[3](55,30) = 5.0/16.0; + prolongation[3](55,52) = -5.0/16.0; + prolongation[3](55,54) = 15.0/16.0; + prolongation[3](56,11) = 5.0/256.0; + prolongation[3](56,15) = 25.0/256.0; + prolongation[3](56,19) = 1.0/256.0; + prolongation[3](56,23) = 5.0/256.0; + prolongation[3](56,34) = 75.0/256.0; + prolongation[3](56,35) = -25.0/256.0; + prolongation[3](56,38) = 15.0/256.0; + prolongation[3](56,39) = -5.0/256.0; + prolongation[3](56,46) = 15.0/256.0; + prolongation[3](56,47) = -5.0/256.0; + prolongation[3](56,54) = 75.0/256.0; + prolongation[3](56,55) = -25.0/256.0; + prolongation[3](56,60) = 225.0/256.0; + prolongation[3](56,61) = -75.0/256.0; + prolongation[3](56,62) = -75.0/256.0; + prolongation[3](56,63) = 25.0/256.0; + prolongation[3](57,34) = 5.0/16.0; + prolongation[3](57,38) = 1.0/16.0; + prolongation[3](57,60) = 15.0/16.0; + prolongation[3](57,62) = -5.0/16.0; + prolongation[3](58,46) = 1.0/16.0; + prolongation[3](58,54) = 5.0/16.0; + prolongation[3](58,60) = 15.0/16.0; + prolongation[3](58,61) = -5.0/16.0; + prolongation[3](59,60) = 1.0; + prolongation[3](60,0) = 25.0/4096.0; + prolongation[3](60,1) = 5.0/4096.0; + prolongation[3](60,2) = 25.0/4096.0; + prolongation[3](60,3) = 125.0/4096.0; + prolongation[3](60,4) = 5.0/4096.0; + prolongation[3](60,5) = 1.0/4096.0; + prolongation[3](60,6) = 5.0/4096.0; + prolongation[3](60,7) = 25.0/4096.0; + prolongation[3](60,8) = 75.0/4096.0; + prolongation[3](60,9) = -25.0/4096.0; + prolongation[3](60,10) = -25.0/4096.0; + prolongation[3](60,11) = 75.0/4096.0; + prolongation[3](60,12) = 375.0/4096.0; + prolongation[3](60,13) = -125.0/4096.0; + prolongation[3](60,14) = -125.0/4096.0; + prolongation[3](60,15) = 375.0/4096.0; + prolongation[3](60,16) = 15.0/4096.0; + prolongation[3](60,17) = -5.0/4096.0; + prolongation[3](60,18) = -5.0/4096.0; + prolongation[3](60,19) = 15.0/4096.0; + prolongation[3](60,20) = 75.0/4096.0; + prolongation[3](60,21) = -25.0/4096.0; + prolongation[3](60,22) = -25.0/4096.0; + prolongation[3](60,23) = 75.0/4096.0; + prolongation[3](60,24) = 75.0/4096.0; + prolongation[3](60,25) = -25.0/4096.0; + prolongation[3](60,26) = 15.0/4096.0; + prolongation[3](60,27) = -5.0/4096.0; + prolongation[3](60,28) = 75.0/4096.0; + prolongation[3](60,29) = -25.0/4096.0; + prolongation[3](60,30) = 375.0/4096.0; + prolongation[3](60,31) = -125.0/4096.0; + prolongation[3](60,32) = -375.0/4096.0; + prolongation[3](60,33) = 125.0/4096.0; + prolongation[3](60,34) = 1125.0/4096.0; + prolongation[3](60,35) = -375.0/4096.0; + prolongation[3](60,36) = -75.0/4096.0; + prolongation[3](60,37) = 25.0/4096.0; + prolongation[3](60,38) = 225.0/4096.0; + prolongation[3](60,39) = -75.0/4096.0; + prolongation[3](60,40) = 225.0/4096.0; + prolongation[3](60,41) = -75.0/4096.0; + prolongation[3](60,42) = -75.0/4096.0; + prolongation[3](60,43) = 25.0/4096.0; + prolongation[3](60,44) = -75.0/4096.0; + prolongation[3](60,45) = 25.0/4096.0; + prolongation[3](60,46) = 225.0/4096.0; + prolongation[3](60,47) = -75.0/4096.0; + prolongation[3](60,48) = 1125.0/4096.0; + prolongation[3](60,49) = -375.0/4096.0; + prolongation[3](60,50) = -375.0/4096.0; + prolongation[3](60,51) = 125.0/4096.0; + prolongation[3](60,52) = -375.0/4096.0; + prolongation[3](60,53) = 125.0/4096.0; + prolongation[3](60,54) = 1125.0/4096.0; + prolongation[3](60,55) = -375.0/4096.0; + prolongation[3](60,56) = -1125.0/4096.0; + prolongation[3](60,57) = 375.0/4096.0; + prolongation[3](60,58) = 375.0/4096.0; + prolongation[3](60,59) = -125.0/4096.0; + prolongation[3](60,60) = 3375.0/4096.0; + prolongation[3](60,61) = -1125.0/4096.0; + prolongation[3](60,62) = -1125.0/4096.0; + prolongation[3](60,63) = 375.0/4096.0; + prolongation[3](61,8) = 5.0/256.0; + prolongation[3](61,12) = 25.0/256.0; + prolongation[3](61,16) = 1.0/256.0; + prolongation[3](61,20) = 5.0/256.0; + prolongation[3](61,32) = -25.0/256.0; + prolongation[3](61,34) = 75.0/256.0; + prolongation[3](61,36) = -5.0/256.0; + prolongation[3](61,38) = 15.0/256.0; + prolongation[3](61,40) = 15.0/256.0; + prolongation[3](61,42) = -5.0/256.0; + prolongation[3](61,48) = 75.0/256.0; + prolongation[3](61,50) = -25.0/256.0; + prolongation[3](61,56) = -75.0/256.0; + prolongation[3](61,58) = 25.0/256.0; + prolongation[3](61,60) = 225.0/256.0; + prolongation[3](61,62) = -75.0/256.0; + prolongation[3](62,24) = 5.0/256.0; + prolongation[3](62,26) = 1.0/256.0; + prolongation[3](62,28) = 5.0/256.0; + prolongation[3](62,30) = 25.0/256.0; + prolongation[3](62,40) = 15.0/256.0; + prolongation[3](62,41) = -5.0/256.0; + prolongation[3](62,44) = -5.0/256.0; + prolongation[3](62,46) = 15.0/256.0; + prolongation[3](62,48) = 75.0/256.0; + prolongation[3](62,49) = -25.0/256.0; + prolongation[3](62,52) = -25.0/256.0; + prolongation[3](62,54) = 75.0/256.0; + prolongation[3](62,56) = -75.0/256.0; + prolongation[3](62,57) = 25.0/256.0; + prolongation[3](62,60) = 225.0/256.0; + prolongation[3](62,61) = -75.0/256.0; + prolongation[3](63,40) = 1.0/16.0; + prolongation[3](63,48) = 5.0/16.0; + prolongation[3](63,56) = -5.0/16.0; + prolongation[3](63,60) = 15.0/16.0; + prolongation[4](0,0) = -1.0/16.0; + prolongation[4](0,4) = -1.0/16.0; + prolongation[4](0,24) = 9.0/16.0; + prolongation[4](0,25) = 9.0/16.0; + prolongation[4](1,0) = 1.0/256.0; + prolongation[4](1,1) = 1.0/256.0; + prolongation[4](1,4) = 1.0/256.0; + prolongation[4](1,5) = 1.0/256.0; + prolongation[4](1,8) = -9.0/256.0; + prolongation[4](1,9) = -9.0/256.0; + prolongation[4](1,16) = -9.0/256.0; + prolongation[4](1,17) = -9.0/256.0; + prolongation[4](1,24) = -9.0/256.0; + prolongation[4](1,25) = -9.0/256.0; + prolongation[4](1,26) = -9.0/256.0; + prolongation[4](1,27) = -9.0/256.0; + prolongation[4](1,40) = 81.0/256.0; + prolongation[4](1,41) = 81.0/256.0; + prolongation[4](1,42) = 81.0/256.0; + prolongation[4](1,43) = 81.0/256.0; + prolongation[4](2,0) = -1.0/4096.0; + prolongation[4](2,1) = -1.0/4096.0; + prolongation[4](2,2) = -1.0/4096.0; + prolongation[4](2,3) = -1.0/4096.0; + prolongation[4](2,4) = -1.0/4096.0; + prolongation[4](2,5) = -1.0/4096.0; + prolongation[4](2,6) = -1.0/4096.0; + prolongation[4](2,7) = -1.0/4096.0; + prolongation[4](2,8) = 9.0/4096.0; + prolongation[4](2,9) = 9.0/4096.0; + prolongation[4](2,10) = 9.0/4096.0; + prolongation[4](2,11) = 9.0/4096.0; + prolongation[4](2,12) = 9.0/4096.0; + prolongation[4](2,13) = 9.0/4096.0; + prolongation[4](2,14) = 9.0/4096.0; + prolongation[4](2,15) = 9.0/4096.0; + prolongation[4](2,16) = 9.0/4096.0; + prolongation[4](2,17) = 9.0/4096.0; + prolongation[4](2,18) = 9.0/4096.0; + prolongation[4](2,19) = 9.0/4096.0; + prolongation[4](2,20) = 9.0/4096.0; + prolongation[4](2,21) = 9.0/4096.0; + prolongation[4](2,22) = 9.0/4096.0; + prolongation[4](2,23) = 9.0/4096.0; + prolongation[4](2,24) = 9.0/4096.0; + prolongation[4](2,25) = 9.0/4096.0; + prolongation[4](2,26) = 9.0/4096.0; + prolongation[4](2,27) = 9.0/4096.0; + prolongation[4](2,28) = 9.0/4096.0; + prolongation[4](2,29) = 9.0/4096.0; + prolongation[4](2,30) = 9.0/4096.0; + prolongation[4](2,31) = 9.0/4096.0; + prolongation[4](2,32) = -81.0/4096.0; + prolongation[4](2,33) = -81.0/4096.0; + prolongation[4](2,34) = -81.0/4096.0; + prolongation[4](2,35) = -81.0/4096.0; + prolongation[4](2,36) = -81.0/4096.0; + prolongation[4](2,37) = -81.0/4096.0; + prolongation[4](2,38) = -81.0/4096.0; + prolongation[4](2,39) = -81.0/4096.0; + prolongation[4](2,40) = -81.0/4096.0; + prolongation[4](2,41) = -81.0/4096.0; + prolongation[4](2,42) = -81.0/4096.0; + prolongation[4](2,43) = -81.0/4096.0; + prolongation[4](2,44) = -81.0/4096.0; + prolongation[4](2,45) = -81.0/4096.0; + prolongation[4](2,46) = -81.0/4096.0; + prolongation[4](2,47) = -81.0/4096.0; + prolongation[4](2,48) = -81.0/4096.0; + prolongation[4](2,49) = -81.0/4096.0; + prolongation[4](2,50) = -81.0/4096.0; + prolongation[4](2,51) = -81.0/4096.0; + prolongation[4](2,52) = -81.0/4096.0; + prolongation[4](2,53) = -81.0/4096.0; + prolongation[4](2,54) = -81.0/4096.0; + prolongation[4](2,55) = -81.0/4096.0; + prolongation[4](2,56) = 729.0/4096.0; + prolongation[4](2,57) = 729.0/4096.0; + prolongation[4](2,58) = 729.0/4096.0; + prolongation[4](2,59) = 729.0/4096.0; + prolongation[4](2,60) = 729.0/4096.0; + prolongation[4](2,61) = 729.0/4096.0; + prolongation[4](2,62) = 729.0/4096.0; + prolongation[4](2,63) = 729.0/4096.0; + prolongation[4](3,0) = 1.0/256.0; + prolongation[4](3,3) = 1.0/256.0; + prolongation[4](3,4) = 1.0/256.0; + prolongation[4](3,7) = 1.0/256.0; + prolongation[4](3,14) = -9.0/256.0; + prolongation[4](3,15) = -9.0/256.0; + prolongation[4](3,22) = -9.0/256.0; + prolongation[4](3,23) = -9.0/256.0; + prolongation[4](3,24) = -9.0/256.0; + prolongation[4](3,25) = -9.0/256.0; + prolongation[4](3,30) = -9.0/256.0; + prolongation[4](3,31) = -9.0/256.0; + prolongation[4](3,52) = 81.0/256.0; + prolongation[4](3,53) = 81.0/256.0; + prolongation[4](3,54) = 81.0/256.0; + prolongation[4](3,55) = 81.0/256.0; + prolongation[4](4,4) = 1.0; + prolongation[4](5,4) = -1.0/16.0; + prolongation[4](5,5) = -1.0/16.0; + prolongation[4](5,16) = 9.0/16.0; + prolongation[4](5,17) = 9.0/16.0; + prolongation[4](6,4) = 1.0/256.0; + prolongation[4](6,5) = 1.0/256.0; + prolongation[4](6,6) = 1.0/256.0; + prolongation[4](6,7) = 1.0/256.0; + prolongation[4](6,16) = -9.0/256.0; + prolongation[4](6,17) = -9.0/256.0; + prolongation[4](6,18) = -9.0/256.0; + prolongation[4](6,19) = -9.0/256.0; + prolongation[4](6,20) = -9.0/256.0; + prolongation[4](6,21) = -9.0/256.0; + prolongation[4](6,22) = -9.0/256.0; + prolongation[4](6,23) = -9.0/256.0; + prolongation[4](6,36) = 81.0/256.0; + prolongation[4](6,37) = 81.0/256.0; + prolongation[4](6,38) = 81.0/256.0; + prolongation[4](6,39) = 81.0/256.0; + prolongation[4](7,4) = -1.0/16.0; + prolongation[4](7,7) = -1.0/16.0; + prolongation[4](7,22) = 9.0/16.0; + prolongation[4](7,23) = 9.0/16.0; + prolongation[4](8,0) = -5.0/256.0; + prolongation[4](8,1) = -1.0/256.0; + prolongation[4](8,4) = -5.0/256.0; + prolongation[4](8,5) = -1.0/256.0; + prolongation[4](8,8) = -15.0/256.0; + prolongation[4](8,9) = 5.0/256.0; + prolongation[4](8,16) = -15.0/256.0; + prolongation[4](8,17) = 5.0/256.0; + prolongation[4](8,24) = 45.0/256.0; + prolongation[4](8,25) = 45.0/256.0; + prolongation[4](8,26) = 9.0/256.0; + prolongation[4](8,27) = 9.0/256.0; + prolongation[4](8,40) = 135.0/256.0; + prolongation[4](8,41) = -45.0/256.0; + prolongation[4](8,42) = 135.0/256.0; + prolongation[4](8,43) = -45.0/256.0; + prolongation[4](9,8) = -1.0/16.0; + prolongation[4](9,16) = -1.0/16.0; + prolongation[4](9,40) = 9.0/16.0; + prolongation[4](9,42) = 9.0/16.0; + prolongation[4](10,0) = 5.0/4096.0; + prolongation[4](10,1) = 5.0/4096.0; + prolongation[4](10,2) = 1.0/4096.0; + prolongation[4](10,3) = 1.0/4096.0; + prolongation[4](10,4) = 5.0/4096.0; + prolongation[4](10,5) = 5.0/4096.0; + prolongation[4](10,6) = 1.0/4096.0; + prolongation[4](10,7) = 1.0/4096.0; + prolongation[4](10,8) = -45.0/4096.0; + prolongation[4](10,9) = -45.0/4096.0; + prolongation[4](10,10) = 15.0/4096.0; + prolongation[4](10,11) = -5.0/4096.0; + prolongation[4](10,12) = -9.0/4096.0; + prolongation[4](10,13) = -9.0/4096.0; + prolongation[4](10,14) = 15.0/4096.0; + prolongation[4](10,15) = -5.0/4096.0; + prolongation[4](10,16) = -45.0/4096.0; + prolongation[4](10,17) = -45.0/4096.0; + prolongation[4](10,18) = 15.0/4096.0; + prolongation[4](10,19) = -5.0/4096.0; + prolongation[4](10,20) = -9.0/4096.0; + prolongation[4](10,21) = -9.0/4096.0; + prolongation[4](10,22) = 15.0/4096.0; + prolongation[4](10,23) = -5.0/4096.0; + prolongation[4](10,24) = -45.0/4096.0; + prolongation[4](10,25) = -45.0/4096.0; + prolongation[4](10,26) = -45.0/4096.0; + prolongation[4](10,27) = -45.0/4096.0; + prolongation[4](10,28) = -9.0/4096.0; + prolongation[4](10,29) = -9.0/4096.0; + prolongation[4](10,30) = -9.0/4096.0; + prolongation[4](10,31) = -9.0/4096.0; + prolongation[4](10,32) = -135.0/4096.0; + prolongation[4](10,33) = -135.0/4096.0; + prolongation[4](10,34) = 45.0/4096.0; + prolongation[4](10,35) = 45.0/4096.0; + prolongation[4](10,36) = -135.0/4096.0; + prolongation[4](10,37) = -135.0/4096.0; + prolongation[4](10,38) = 45.0/4096.0; + prolongation[4](10,39) = 45.0/4096.0; + prolongation[4](10,40) = 405.0/4096.0; + prolongation[4](10,41) = 405.0/4096.0; + prolongation[4](10,42) = 405.0/4096.0; + prolongation[4](10,43) = 405.0/4096.0; + prolongation[4](10,44) = -135.0/4096.0; + prolongation[4](10,45) = -135.0/4096.0; + prolongation[4](10,46) = 45.0/4096.0; + prolongation[4](10,47) = 45.0/4096.0; + prolongation[4](10,48) = 81.0/4096.0; + prolongation[4](10,49) = 81.0/4096.0; + prolongation[4](10,50) = 81.0/4096.0; + prolongation[4](10,51) = 81.0/4096.0; + prolongation[4](10,52) = -135.0/4096.0; + prolongation[4](10,53) = -135.0/4096.0; + prolongation[4](10,54) = 45.0/4096.0; + prolongation[4](10,55) = 45.0/4096.0; + prolongation[4](10,56) = 1215.0/4096.0; + prolongation[4](10,57) = 1215.0/4096.0; + prolongation[4](10,58) = 1215.0/4096.0; + prolongation[4](10,59) = 1215.0/4096.0; + prolongation[4](10,60) = -405.0/4096.0; + prolongation[4](10,61) = -405.0/4096.0; + prolongation[4](10,62) = -405.0/4096.0; + prolongation[4](10,63) = -405.0/4096.0; + prolongation[4](11,10) = 1.0/256.0; + prolongation[4](11,14) = 1.0/256.0; + prolongation[4](11,18) = 1.0/256.0; + prolongation[4](11,22) = 1.0/256.0; + prolongation[4](11,32) = -9.0/256.0; + prolongation[4](11,33) = -9.0/256.0; + prolongation[4](11,36) = -9.0/256.0; + prolongation[4](11,37) = -9.0/256.0; + prolongation[4](11,44) = -9.0/256.0; + prolongation[4](11,45) = -9.0/256.0; + prolongation[4](11,52) = -9.0/256.0; + prolongation[4](11,53) = -9.0/256.0; + prolongation[4](11,56) = 81.0/256.0; + prolongation[4](11,57) = 81.0/256.0; + prolongation[4](11,58) = 81.0/256.0; + prolongation[4](11,59) = 81.0/256.0; + prolongation[4](12,0) = 5.0/4096.0; + prolongation[4](12,1) = 1.0/4096.0; + prolongation[4](12,2) = 1.0/4096.0; + prolongation[4](12,3) = 5.0/4096.0; + prolongation[4](12,4) = 5.0/4096.0; + prolongation[4](12,5) = 1.0/4096.0; + prolongation[4](12,6) = 1.0/4096.0; + prolongation[4](12,7) = 5.0/4096.0; + prolongation[4](12,8) = 15.0/4096.0; + prolongation[4](12,9) = -5.0/4096.0; + prolongation[4](12,10) = -9.0/4096.0; + prolongation[4](12,11) = -9.0/4096.0; + prolongation[4](12,12) = 15.0/4096.0; + prolongation[4](12,13) = -5.0/4096.0; + prolongation[4](12,14) = -45.0/4096.0; + prolongation[4](12,15) = -45.0/4096.0; + prolongation[4](12,16) = 15.0/4096.0; + prolongation[4](12,17) = -5.0/4096.0; + prolongation[4](12,18) = -9.0/4096.0; + prolongation[4](12,19) = -9.0/4096.0; + prolongation[4](12,20) = 15.0/4096.0; + prolongation[4](12,21) = -5.0/4096.0; + prolongation[4](12,22) = -45.0/4096.0; + prolongation[4](12,23) = -45.0/4096.0; + prolongation[4](12,24) = -45.0/4096.0; + prolongation[4](12,25) = -45.0/4096.0; + prolongation[4](12,26) = -9.0/4096.0; + prolongation[4](12,27) = -9.0/4096.0; + prolongation[4](12,28) = -9.0/4096.0; + prolongation[4](12,29) = -9.0/4096.0; + prolongation[4](12,30) = -45.0/4096.0; + prolongation[4](12,31) = -45.0/4096.0; + prolongation[4](12,32) = -135.0/4096.0; + prolongation[4](12,33) = 45.0/4096.0; + prolongation[4](12,34) = -135.0/4096.0; + prolongation[4](12,35) = 45.0/4096.0; + prolongation[4](12,36) = -135.0/4096.0; + prolongation[4](12,37) = 45.0/4096.0; + prolongation[4](12,38) = -135.0/4096.0; + prolongation[4](12,39) = 45.0/4096.0; + prolongation[4](12,40) = -135.0/4096.0; + prolongation[4](12,41) = 45.0/4096.0; + prolongation[4](12,42) = -135.0/4096.0; + prolongation[4](12,43) = 45.0/4096.0; + prolongation[4](12,44) = 81.0/4096.0; + prolongation[4](12,45) = 81.0/4096.0; + prolongation[4](12,46) = 81.0/4096.0; + prolongation[4](12,47) = 81.0/4096.0; + prolongation[4](12,48) = -135.0/4096.0; + prolongation[4](12,49) = 45.0/4096.0; + prolongation[4](12,50) = -135.0/4096.0; + prolongation[4](12,51) = 45.0/4096.0; + prolongation[4](12,52) = 405.0/4096.0; + prolongation[4](12,53) = 405.0/4096.0; + prolongation[4](12,54) = 405.0/4096.0; + prolongation[4](12,55) = 405.0/4096.0; + prolongation[4](12,56) = 1215.0/4096.0; + prolongation[4](12,57) = -405.0/4096.0; + prolongation[4](12,58) = 1215.0/4096.0; + prolongation[4](12,59) = -405.0/4096.0; + prolongation[4](12,60) = 1215.0/4096.0; + prolongation[4](12,61) = -405.0/4096.0; + prolongation[4](12,62) = 1215.0/4096.0; + prolongation[4](12,63) = -405.0/4096.0; + prolongation[4](13,8) = 1.0/256.0; + prolongation[4](13,12) = 1.0/256.0; + prolongation[4](13,16) = 1.0/256.0; + prolongation[4](13,20) = 1.0/256.0; + prolongation[4](13,32) = -9.0/256.0; + prolongation[4](13,34) = -9.0/256.0; + prolongation[4](13,36) = -9.0/256.0; + prolongation[4](13,38) = -9.0/256.0; + prolongation[4](13,40) = -9.0/256.0; + prolongation[4](13,42) = -9.0/256.0; + prolongation[4](13,48) = -9.0/256.0; + prolongation[4](13,50) = -9.0/256.0; + prolongation[4](13,56) = 81.0/256.0; + prolongation[4](13,58) = 81.0/256.0; + prolongation[4](13,60) = 81.0/256.0; + prolongation[4](13,62) = 81.0/256.0; + prolongation[4](14,0) = -5.0/256.0; + prolongation[4](14,3) = -1.0/256.0; + prolongation[4](14,4) = -5.0/256.0; + prolongation[4](14,7) = -1.0/256.0; + prolongation[4](14,14) = -15.0/256.0; + prolongation[4](14,15) = 5.0/256.0; + prolongation[4](14,22) = -15.0/256.0; + prolongation[4](14,23) = 5.0/256.0; + prolongation[4](14,24) = 45.0/256.0; + prolongation[4](14,25) = 45.0/256.0; + prolongation[4](14,30) = 9.0/256.0; + prolongation[4](14,31) = 9.0/256.0; + prolongation[4](14,52) = 135.0/256.0; + prolongation[4](14,53) = 135.0/256.0; + prolongation[4](14,54) = -45.0/256.0; + prolongation[4](14,55) = -45.0/256.0; + prolongation[4](15,14) = -1.0/16.0; + prolongation[4](15,22) = -1.0/16.0; + prolongation[4](15,52) = 9.0/16.0; + prolongation[4](15,53) = 9.0/16.0; + prolongation[4](16,4) = 5.0/16.0; + prolongation[4](16,5) = 1.0/16.0; + prolongation[4](16,16) = 15.0/16.0; + prolongation[4](16,17) = -5.0/16.0; + prolongation[4](17,16) = 1.0; + prolongation[4](18,4) = -5.0/256.0; + prolongation[4](18,5) = -5.0/256.0; + prolongation[4](18,6) = -1.0/256.0; + prolongation[4](18,7) = -1.0/256.0; + prolongation[4](18,16) = 45.0/256.0; + prolongation[4](18,17) = 45.0/256.0; + prolongation[4](18,18) = -15.0/256.0; + prolongation[4](18,19) = 5.0/256.0; + prolongation[4](18,20) = 9.0/256.0; + prolongation[4](18,21) = 9.0/256.0; + prolongation[4](18,22) = -15.0/256.0; + prolongation[4](18,23) = 5.0/256.0; + prolongation[4](18,36) = 135.0/256.0; + prolongation[4](18,37) = 135.0/256.0; + prolongation[4](18,38) = -45.0/256.0; + prolongation[4](18,39) = -45.0/256.0; + prolongation[4](19,18) = -1.0/16.0; + prolongation[4](19,22) = -1.0/16.0; + prolongation[4](19,36) = 9.0/16.0; + prolongation[4](19,37) = 9.0/16.0; + prolongation[4](20,4) = -5.0/256.0; + prolongation[4](20,5) = -1.0/256.0; + prolongation[4](20,6) = -1.0/256.0; + prolongation[4](20,7) = -5.0/256.0; + prolongation[4](20,16) = -15.0/256.0; + prolongation[4](20,17) = 5.0/256.0; + prolongation[4](20,18) = 9.0/256.0; + prolongation[4](20,19) = 9.0/256.0; + prolongation[4](20,20) = -15.0/256.0; + prolongation[4](20,21) = 5.0/256.0; + prolongation[4](20,22) = 45.0/256.0; + prolongation[4](20,23) = 45.0/256.0; + prolongation[4](20,36) = 135.0/256.0; + prolongation[4](20,37) = -45.0/256.0; + prolongation[4](20,38) = 135.0/256.0; + prolongation[4](20,39) = -45.0/256.0; + prolongation[4](21,16) = -1.0/16.0; + prolongation[4](21,20) = -1.0/16.0; + prolongation[4](21,36) = 9.0/16.0; + prolongation[4](21,38) = 9.0/16.0; + prolongation[4](22,4) = 5.0/16.0; + prolongation[4](22,7) = 1.0/16.0; + prolongation[4](22,22) = 15.0/16.0; + prolongation[4](22,23) = -5.0/16.0; + prolongation[4](23,22) = 1.0; + prolongation[4](24,25) = 1.0; + prolongation[4](25,0) = 1.0/16.0; + prolongation[4](25,4) = 5.0/16.0; + prolongation[4](25,24) = -5.0/16.0; + prolongation[4](25,25) = 15.0/16.0; + prolongation[4](26,25) = -1.0/16.0; + prolongation[4](26,27) = -1.0/16.0; + prolongation[4](26,42) = 9.0/16.0; + prolongation[4](26,43) = 9.0/16.0; + prolongation[4](27,0) = -1.0/256.0; + prolongation[4](27,1) = -1.0/256.0; + prolongation[4](27,4) = -5.0/256.0; + prolongation[4](27,5) = -5.0/256.0; + prolongation[4](27,8) = 9.0/256.0; + prolongation[4](27,9) = 9.0/256.0; + prolongation[4](27,16) = 45.0/256.0; + prolongation[4](27,17) = 45.0/256.0; + prolongation[4](27,24) = 5.0/256.0; + prolongation[4](27,25) = -15.0/256.0; + prolongation[4](27,26) = 5.0/256.0; + prolongation[4](27,27) = -15.0/256.0; + prolongation[4](27,40) = -45.0/256.0; + prolongation[4](27,41) = -45.0/256.0; + prolongation[4](27,42) = 135.0/256.0; + prolongation[4](27,43) = 135.0/256.0; + prolongation[4](28,25) = 1.0/256.0; + prolongation[4](28,27) = 1.0/256.0; + prolongation[4](28,29) = 1.0/256.0; + prolongation[4](28,31) = 1.0/256.0; + prolongation[4](28,42) = -9.0/256.0; + prolongation[4](28,43) = -9.0/256.0; + prolongation[4](28,45) = -9.0/256.0; + prolongation[4](28,47) = -9.0/256.0; + prolongation[4](28,50) = -9.0/256.0; + prolongation[4](28,51) = -9.0/256.0; + prolongation[4](28,53) = -9.0/256.0; + prolongation[4](28,55) = -9.0/256.0; + prolongation[4](28,58) = 81.0/256.0; + prolongation[4](28,59) = 81.0/256.0; + prolongation[4](28,62) = 81.0/256.0; + prolongation[4](28,63) = 81.0/256.0; + prolongation[4](29,0) = 1.0/4096.0; + prolongation[4](29,1) = 1.0/4096.0; + prolongation[4](29,2) = 1.0/4096.0; + prolongation[4](29,3) = 1.0/4096.0; + prolongation[4](29,4) = 5.0/4096.0; + prolongation[4](29,5) = 5.0/4096.0; + prolongation[4](29,6) = 5.0/4096.0; + prolongation[4](29,7) = 5.0/4096.0; + prolongation[4](29,8) = -9.0/4096.0; + prolongation[4](29,9) = -9.0/4096.0; + prolongation[4](29,10) = -9.0/4096.0; + prolongation[4](29,11) = -9.0/4096.0; + prolongation[4](29,12) = -9.0/4096.0; + prolongation[4](29,13) = -9.0/4096.0; + prolongation[4](29,14) = -9.0/4096.0; + prolongation[4](29,15) = -9.0/4096.0; + prolongation[4](29,16) = -45.0/4096.0; + prolongation[4](29,17) = -45.0/4096.0; + prolongation[4](29,18) = -45.0/4096.0; + prolongation[4](29,19) = -45.0/4096.0; + prolongation[4](29,20) = -45.0/4096.0; + prolongation[4](29,21) = -45.0/4096.0; + prolongation[4](29,22) = -45.0/4096.0; + prolongation[4](29,23) = -45.0/4096.0; + prolongation[4](29,24) = -5.0/4096.0; + prolongation[4](29,25) = 15.0/4096.0; + prolongation[4](29,26) = -5.0/4096.0; + prolongation[4](29,27) = 15.0/4096.0; + prolongation[4](29,28) = -5.0/4096.0; + prolongation[4](29,29) = 15.0/4096.0; + prolongation[4](29,30) = -5.0/4096.0; + prolongation[4](29,31) = 15.0/4096.0; + prolongation[4](29,32) = 81.0/4096.0; + prolongation[4](29,33) = 81.0/4096.0; + prolongation[4](29,34) = 81.0/4096.0; + prolongation[4](29,35) = 81.0/4096.0; + prolongation[4](29,36) = 405.0/4096.0; + prolongation[4](29,37) = 405.0/4096.0; + prolongation[4](29,38) = 405.0/4096.0; + prolongation[4](29,39) = 405.0/4096.0; + prolongation[4](29,40) = 45.0/4096.0; + prolongation[4](29,41) = 45.0/4096.0; + prolongation[4](29,42) = -135.0/4096.0; + prolongation[4](29,43) = -135.0/4096.0; + prolongation[4](29,44) = 45.0/4096.0; + prolongation[4](29,45) = -135.0/4096.0; + prolongation[4](29,46) = 45.0/4096.0; + prolongation[4](29,47) = -135.0/4096.0; + prolongation[4](29,48) = 45.0/4096.0; + prolongation[4](29,49) = 45.0/4096.0; + prolongation[4](29,50) = -135.0/4096.0; + prolongation[4](29,51) = -135.0/4096.0; + prolongation[4](29,52) = 45.0/4096.0; + prolongation[4](29,53) = -135.0/4096.0; + prolongation[4](29,54) = 45.0/4096.0; + prolongation[4](29,55) = -135.0/4096.0; + prolongation[4](29,56) = -405.0/4096.0; + prolongation[4](29,57) = -405.0/4096.0; + prolongation[4](29,58) = 1215.0/4096.0; + prolongation[4](29,59) = 1215.0/4096.0; + prolongation[4](29,60) = -405.0/4096.0; + prolongation[4](29,61) = -405.0/4096.0; + prolongation[4](29,62) = 1215.0/4096.0; + prolongation[4](29,63) = 1215.0/4096.0; + prolongation[4](30,25) = -1.0/16.0; + prolongation[4](30,31) = -1.0/16.0; + prolongation[4](30,53) = 9.0/16.0; + prolongation[4](30,55) = 9.0/16.0; + prolongation[4](31,0) = -1.0/256.0; + prolongation[4](31,3) = -1.0/256.0; + prolongation[4](31,4) = -5.0/256.0; + prolongation[4](31,7) = -5.0/256.0; + prolongation[4](31,14) = 9.0/256.0; + prolongation[4](31,15) = 9.0/256.0; + prolongation[4](31,22) = 45.0/256.0; + prolongation[4](31,23) = 45.0/256.0; + prolongation[4](31,24) = 5.0/256.0; + prolongation[4](31,25) = -15.0/256.0; + prolongation[4](31,30) = 5.0/256.0; + prolongation[4](31,31) = -15.0/256.0; + prolongation[4](31,52) = -45.0/256.0; + prolongation[4](31,53) = 135.0/256.0; + prolongation[4](31,54) = -45.0/256.0; + prolongation[4](31,55) = 135.0/256.0; + prolongation[4](32,0) = -25.0/4096.0; + prolongation[4](32,1) = -5.0/4096.0; + prolongation[4](32,2) = -1.0/4096.0; + prolongation[4](32,3) = -5.0/4096.0; + prolongation[4](32,4) = -25.0/4096.0; + prolongation[4](32,5) = -5.0/4096.0; + prolongation[4](32,6) = -1.0/4096.0; + prolongation[4](32,7) = -5.0/4096.0; + prolongation[4](32,8) = -75.0/4096.0; + prolongation[4](32,9) = 25.0/4096.0; + prolongation[4](32,10) = -15.0/4096.0; + prolongation[4](32,11) = 5.0/4096.0; + prolongation[4](32,12) = -15.0/4096.0; + prolongation[4](32,13) = 5.0/4096.0; + prolongation[4](32,14) = -75.0/4096.0; + prolongation[4](32,15) = 25.0/4096.0; + prolongation[4](32,16) = -75.0/4096.0; + prolongation[4](32,17) = 25.0/4096.0; + prolongation[4](32,18) = -15.0/4096.0; + prolongation[4](32,19) = 5.0/4096.0; + prolongation[4](32,20) = -15.0/4096.0; + prolongation[4](32,21) = 5.0/4096.0; + prolongation[4](32,22) = -75.0/4096.0; + prolongation[4](32,23) = 25.0/4096.0; + prolongation[4](32,24) = 225.0/4096.0; + prolongation[4](32,25) = 225.0/4096.0; + prolongation[4](32,26) = 45.0/4096.0; + prolongation[4](32,27) = 45.0/4096.0; + prolongation[4](32,28) = 9.0/4096.0; + prolongation[4](32,29) = 9.0/4096.0; + prolongation[4](32,30) = 45.0/4096.0; + prolongation[4](32,31) = 45.0/4096.0; + prolongation[4](32,32) = -225.0/4096.0; + prolongation[4](32,33) = 75.0/4096.0; + prolongation[4](32,34) = 75.0/4096.0; + prolongation[4](32,35) = -25.0/4096.0; + prolongation[4](32,36) = -225.0/4096.0; + prolongation[4](32,37) = 75.0/4096.0; + prolongation[4](32,38) = 75.0/4096.0; + prolongation[4](32,39) = -25.0/4096.0; + prolongation[4](32,40) = 675.0/4096.0; + prolongation[4](32,41) = -225.0/4096.0; + prolongation[4](32,42) = 675.0/4096.0; + prolongation[4](32,43) = -225.0/4096.0; + prolongation[4](32,44) = 135.0/4096.0; + prolongation[4](32,45) = 135.0/4096.0; + prolongation[4](32,46) = -45.0/4096.0; + prolongation[4](32,47) = -45.0/4096.0; + prolongation[4](32,48) = 135.0/4096.0; + prolongation[4](32,49) = -45.0/4096.0; + prolongation[4](32,50) = 135.0/4096.0; + prolongation[4](32,51) = -45.0/4096.0; + prolongation[4](32,52) = 675.0/4096.0; + prolongation[4](32,53) = 675.0/4096.0; + prolongation[4](32,54) = -225.0/4096.0; + prolongation[4](32,55) = -225.0/4096.0; + prolongation[4](32,56) = 2025.0/4096.0; + prolongation[4](32,57) = -675.0/4096.0; + prolongation[4](32,58) = 2025.0/4096.0; + prolongation[4](32,59) = -675.0/4096.0; + prolongation[4](32,60) = -675.0/4096.0; + prolongation[4](32,61) = 225.0/4096.0; + prolongation[4](32,62) = -675.0/4096.0; + prolongation[4](32,63) = 225.0/4096.0; + prolongation[4](33,8) = -5.0/256.0; + prolongation[4](33,12) = -1.0/256.0; + prolongation[4](33,16) = -5.0/256.0; + prolongation[4](33,20) = -1.0/256.0; + prolongation[4](33,32) = -15.0/256.0; + prolongation[4](33,34) = 5.0/256.0; + prolongation[4](33,36) = -15.0/256.0; + prolongation[4](33,38) = 5.0/256.0; + prolongation[4](33,40) = 45.0/256.0; + prolongation[4](33,42) = 45.0/256.0; + prolongation[4](33,48) = 9.0/256.0; + prolongation[4](33,50) = 9.0/256.0; + prolongation[4](33,56) = 135.0/256.0; + prolongation[4](33,58) = 135.0/256.0; + prolongation[4](33,60) = -45.0/256.0; + prolongation[4](33,62) = -45.0/256.0; + prolongation[4](34,10) = -1.0/256.0; + prolongation[4](34,14) = -5.0/256.0; + prolongation[4](34,18) = -1.0/256.0; + prolongation[4](34,22) = -5.0/256.0; + prolongation[4](34,32) = -15.0/256.0; + prolongation[4](34,33) = 5.0/256.0; + prolongation[4](34,36) = -15.0/256.0; + prolongation[4](34,37) = 5.0/256.0; + prolongation[4](34,44) = 9.0/256.0; + prolongation[4](34,45) = 9.0/256.0; + prolongation[4](34,52) = 45.0/256.0; + prolongation[4](34,53) = 45.0/256.0; + prolongation[4](34,56) = 135.0/256.0; + prolongation[4](34,57) = -45.0/256.0; + prolongation[4](34,58) = 135.0/256.0; + prolongation[4](34,59) = -45.0/256.0; + prolongation[4](35,32) = -1.0/16.0; + prolongation[4](35,36) = -1.0/16.0; + prolongation[4](35,56) = 9.0/16.0; + prolongation[4](35,58) = 9.0/16.0; + prolongation[4](36,4) = 25.0/256.0; + prolongation[4](36,5) = 5.0/256.0; + prolongation[4](36,6) = 1.0/256.0; + prolongation[4](36,7) = 5.0/256.0; + prolongation[4](36,16) = 75.0/256.0; + prolongation[4](36,17) = -25.0/256.0; + prolongation[4](36,18) = 15.0/256.0; + prolongation[4](36,19) = -5.0/256.0; + prolongation[4](36,20) = 15.0/256.0; + prolongation[4](36,21) = -5.0/256.0; + prolongation[4](36,22) = 75.0/256.0; + prolongation[4](36,23) = -25.0/256.0; + prolongation[4](36,36) = 225.0/256.0; + prolongation[4](36,37) = -75.0/256.0; + prolongation[4](36,38) = -75.0/256.0; + prolongation[4](36,39) = 25.0/256.0; + prolongation[4](37,16) = 5.0/16.0; + prolongation[4](37,20) = 1.0/16.0; + prolongation[4](37,36) = 15.0/16.0; + prolongation[4](37,38) = -5.0/16.0; + prolongation[4](38,18) = 1.0/16.0; + prolongation[4](38,22) = 5.0/16.0; + prolongation[4](38,36) = 15.0/16.0; + prolongation[4](38,37) = -5.0/16.0; + prolongation[4](39,36) = 1.0; + prolongation[4](40,25) = 5.0/16.0; + prolongation[4](40,27) = 1.0/16.0; + prolongation[4](40,42) = 15.0/16.0; + prolongation[4](40,43) = -5.0/16.0; + prolongation[4](41,42) = 1.0; + prolongation[4](42,0) = 5.0/256.0; + prolongation[4](42,1) = 1.0/256.0; + prolongation[4](42,4) = 25.0/256.0; + prolongation[4](42,5) = 5.0/256.0; + prolongation[4](42,8) = 15.0/256.0; + prolongation[4](42,9) = -5.0/256.0; + prolongation[4](42,16) = 75.0/256.0; + prolongation[4](42,17) = -25.0/256.0; + prolongation[4](42,24) = -25.0/256.0; + prolongation[4](42,25) = 75.0/256.0; + prolongation[4](42,26) = -5.0/256.0; + prolongation[4](42,27) = 15.0/256.0; + prolongation[4](42,40) = -75.0/256.0; + prolongation[4](42,41) = 25.0/256.0; + prolongation[4](42,42) = 225.0/256.0; + prolongation[4](42,43) = -75.0/256.0; + prolongation[4](43,8) = 1.0/16.0; + prolongation[4](43,16) = 5.0/16.0; + prolongation[4](43,40) = -5.0/16.0; + prolongation[4](43,42) = 15.0/16.0; + prolongation[4](44,25) = -5.0/256.0; + prolongation[4](44,27) = -5.0/256.0; + prolongation[4](44,29) = -1.0/256.0; + prolongation[4](44,31) = -1.0/256.0; + prolongation[4](44,42) = 45.0/256.0; + prolongation[4](44,43) = 45.0/256.0; + prolongation[4](44,45) = -15.0/256.0; + prolongation[4](44,47) = 5.0/256.0; + prolongation[4](44,50) = 9.0/256.0; + prolongation[4](44,51) = 9.0/256.0; + prolongation[4](44,53) = -15.0/256.0; + prolongation[4](44,55) = 5.0/256.0; + prolongation[4](44,58) = 135.0/256.0; + prolongation[4](44,59) = 135.0/256.0; + prolongation[4](44,62) = -45.0/256.0; + prolongation[4](44,63) = -45.0/256.0; + prolongation[4](45,0) = -5.0/4096.0; + prolongation[4](45,1) = -5.0/4096.0; + prolongation[4](45,2) = -1.0/4096.0; + prolongation[4](45,3) = -1.0/4096.0; + prolongation[4](45,4) = -25.0/4096.0; + prolongation[4](45,5) = -25.0/4096.0; + prolongation[4](45,6) = -5.0/4096.0; + prolongation[4](45,7) = -5.0/4096.0; + prolongation[4](45,8) = 45.0/4096.0; + prolongation[4](45,9) = 45.0/4096.0; + prolongation[4](45,10) = -15.0/4096.0; + prolongation[4](45,11) = 5.0/4096.0; + prolongation[4](45,12) = 9.0/4096.0; + prolongation[4](45,13) = 9.0/4096.0; + prolongation[4](45,14) = -15.0/4096.0; + prolongation[4](45,15) = 5.0/4096.0; + prolongation[4](45,16) = 225.0/4096.0; + prolongation[4](45,17) = 225.0/4096.0; + prolongation[4](45,18) = -75.0/4096.0; + prolongation[4](45,19) = 25.0/4096.0; + prolongation[4](45,20) = 45.0/4096.0; + prolongation[4](45,21) = 45.0/4096.0; + prolongation[4](45,22) = -75.0/4096.0; + prolongation[4](45,23) = 25.0/4096.0; + prolongation[4](45,24) = 25.0/4096.0; + prolongation[4](45,25) = -75.0/4096.0; + prolongation[4](45,26) = 25.0/4096.0; + prolongation[4](45,27) = -75.0/4096.0; + prolongation[4](45,28) = 5.0/4096.0; + prolongation[4](45,29) = -15.0/4096.0; + prolongation[4](45,30) = 5.0/4096.0; + prolongation[4](45,31) = -15.0/4096.0; + prolongation[4](45,32) = 135.0/4096.0; + prolongation[4](45,33) = 135.0/4096.0; + prolongation[4](45,34) = -45.0/4096.0; + prolongation[4](45,35) = -45.0/4096.0; + prolongation[4](45,36) = 675.0/4096.0; + prolongation[4](45,37) = 675.0/4096.0; + prolongation[4](45,38) = -225.0/4096.0; + prolongation[4](45,39) = -225.0/4096.0; + prolongation[4](45,40) = -225.0/4096.0; + prolongation[4](45,41) = -225.0/4096.0; + prolongation[4](45,42) = 675.0/4096.0; + prolongation[4](45,43) = 675.0/4096.0; + prolongation[4](45,44) = 75.0/4096.0; + prolongation[4](45,45) = -225.0/4096.0; + prolongation[4](45,46) = -25.0/4096.0; + prolongation[4](45,47) = 75.0/4096.0; + prolongation[4](45,48) = -45.0/4096.0; + prolongation[4](45,49) = -45.0/4096.0; + prolongation[4](45,50) = 135.0/4096.0; + prolongation[4](45,51) = 135.0/4096.0; + prolongation[4](45,52) = 75.0/4096.0; + prolongation[4](45,53) = -225.0/4096.0; + prolongation[4](45,54) = -25.0/4096.0; + prolongation[4](45,55) = 75.0/4096.0; + prolongation[4](45,56) = -675.0/4096.0; + prolongation[4](45,57) = -675.0/4096.0; + prolongation[4](45,58) = 2025.0/4096.0; + prolongation[4](45,59) = 2025.0/4096.0; + prolongation[4](45,60) = 225.0/4096.0; + prolongation[4](45,61) = 225.0/4096.0; + prolongation[4](45,62) = -675.0/4096.0; + prolongation[4](45,63) = -675.0/4096.0; + prolongation[4](46,45) = -1.0/16.0; + prolongation[4](46,53) = -1.0/16.0; + prolongation[4](46,58) = 9.0/16.0; + prolongation[4](46,59) = 9.0/16.0; + prolongation[4](47,10) = -1.0/256.0; + prolongation[4](47,14) = -1.0/256.0; + prolongation[4](47,18) = -5.0/256.0; + prolongation[4](47,22) = -5.0/256.0; + prolongation[4](47,32) = 9.0/256.0; + prolongation[4](47,33) = 9.0/256.0; + prolongation[4](47,36) = 45.0/256.0; + prolongation[4](47,37) = 45.0/256.0; + prolongation[4](47,44) = 5.0/256.0; + prolongation[4](47,45) = -15.0/256.0; + prolongation[4](47,52) = 5.0/256.0; + prolongation[4](47,53) = -15.0/256.0; + prolongation[4](47,56) = -45.0/256.0; + prolongation[4](47,57) = -45.0/256.0; + prolongation[4](47,58) = 135.0/256.0; + prolongation[4](47,59) = 135.0/256.0; + prolongation[4](48,25) = -5.0/256.0; + prolongation[4](48,27) = -1.0/256.0; + prolongation[4](48,29) = -1.0/256.0; + prolongation[4](48,31) = -5.0/256.0; + prolongation[4](48,42) = -15.0/256.0; + prolongation[4](48,43) = 5.0/256.0; + prolongation[4](48,45) = 9.0/256.0; + prolongation[4](48,47) = 9.0/256.0; + prolongation[4](48,50) = -15.0/256.0; + prolongation[4](48,51) = 5.0/256.0; + prolongation[4](48,53) = 45.0/256.0; + prolongation[4](48,55) = 45.0/256.0; + prolongation[4](48,58) = 135.0/256.0; + prolongation[4](48,59) = -45.0/256.0; + prolongation[4](48,62) = 135.0/256.0; + prolongation[4](48,63) = -45.0/256.0; + prolongation[4](49,42) = -1.0/16.0; + prolongation[4](49,50) = -1.0/16.0; + prolongation[4](49,58) = 9.0/16.0; + prolongation[4](49,62) = 9.0/16.0; + prolongation[4](50,0) = -5.0/4096.0; + prolongation[4](50,1) = -1.0/4096.0; + prolongation[4](50,2) = -1.0/4096.0; + prolongation[4](50,3) = -5.0/4096.0; + prolongation[4](50,4) = -25.0/4096.0; + prolongation[4](50,5) = -5.0/4096.0; + prolongation[4](50,6) = -5.0/4096.0; + prolongation[4](50,7) = -25.0/4096.0; + prolongation[4](50,8) = -15.0/4096.0; + prolongation[4](50,9) = 5.0/4096.0; + prolongation[4](50,10) = 9.0/4096.0; + prolongation[4](50,11) = 9.0/4096.0; + prolongation[4](50,12) = -15.0/4096.0; + prolongation[4](50,13) = 5.0/4096.0; + prolongation[4](50,14) = 45.0/4096.0; + prolongation[4](50,15) = 45.0/4096.0; + prolongation[4](50,16) = -75.0/4096.0; + prolongation[4](50,17) = 25.0/4096.0; + prolongation[4](50,18) = 45.0/4096.0; + prolongation[4](50,19) = 45.0/4096.0; + prolongation[4](50,20) = -75.0/4096.0; + prolongation[4](50,21) = 25.0/4096.0; + prolongation[4](50,22) = 225.0/4096.0; + prolongation[4](50,23) = 225.0/4096.0; + prolongation[4](50,24) = 25.0/4096.0; + prolongation[4](50,25) = -75.0/4096.0; + prolongation[4](50,26) = 5.0/4096.0; + prolongation[4](50,27) = -15.0/4096.0; + prolongation[4](50,28) = 5.0/4096.0; + prolongation[4](50,29) = -15.0/4096.0; + prolongation[4](50,30) = 25.0/4096.0; + prolongation[4](50,31) = -75.0/4096.0; + prolongation[4](50,32) = 135.0/4096.0; + prolongation[4](50,33) = -45.0/4096.0; + prolongation[4](50,34) = 135.0/4096.0; + prolongation[4](50,35) = -45.0/4096.0; + prolongation[4](50,36) = 675.0/4096.0; + prolongation[4](50,37) = -225.0/4096.0; + prolongation[4](50,38) = 675.0/4096.0; + prolongation[4](50,39) = -225.0/4096.0; + prolongation[4](50,40) = 75.0/4096.0; + prolongation[4](50,41) = -25.0/4096.0; + prolongation[4](50,42) = -225.0/4096.0; + prolongation[4](50,43) = 75.0/4096.0; + prolongation[4](50,44) = -45.0/4096.0; + prolongation[4](50,45) = 135.0/4096.0; + prolongation[4](50,46) = -45.0/4096.0; + prolongation[4](50,47) = 135.0/4096.0; + prolongation[4](50,48) = 75.0/4096.0; + prolongation[4](50,49) = -25.0/4096.0; + prolongation[4](50,50) = -225.0/4096.0; + prolongation[4](50,51) = 75.0/4096.0; + prolongation[4](50,52) = -225.0/4096.0; + prolongation[4](50,53) = 675.0/4096.0; + prolongation[4](50,54) = -225.0/4096.0; + prolongation[4](50,55) = 675.0/4096.0; + prolongation[4](50,56) = -675.0/4096.0; + prolongation[4](50,57) = 225.0/4096.0; + prolongation[4](50,58) = 2025.0/4096.0; + prolongation[4](50,59) = -675.0/4096.0; + prolongation[4](50,60) = -675.0/4096.0; + prolongation[4](50,61) = 225.0/4096.0; + prolongation[4](50,62) = 2025.0/4096.0; + prolongation[4](50,63) = -675.0/4096.0; + prolongation[4](51,8) = -1.0/256.0; + prolongation[4](51,12) = -1.0/256.0; + prolongation[4](51,16) = -5.0/256.0; + prolongation[4](51,20) = -5.0/256.0; + prolongation[4](51,32) = 9.0/256.0; + prolongation[4](51,34) = 9.0/256.0; + prolongation[4](51,36) = 45.0/256.0; + prolongation[4](51,38) = 45.0/256.0; + prolongation[4](51,40) = 5.0/256.0; + prolongation[4](51,42) = -15.0/256.0; + prolongation[4](51,48) = 5.0/256.0; + prolongation[4](51,50) = -15.0/256.0; + prolongation[4](51,56) = -45.0/256.0; + prolongation[4](51,58) = 135.0/256.0; + prolongation[4](51,60) = -45.0/256.0; + prolongation[4](51,62) = 135.0/256.0; + prolongation[4](52,25) = 5.0/16.0; + prolongation[4](52,31) = 1.0/16.0; + prolongation[4](52,53) = 15.0/16.0; + prolongation[4](52,55) = -5.0/16.0; + prolongation[4](53,0) = 5.0/256.0; + prolongation[4](53,3) = 1.0/256.0; + prolongation[4](53,4) = 25.0/256.0; + prolongation[4](53,7) = 5.0/256.0; + prolongation[4](53,14) = 15.0/256.0; + prolongation[4](53,15) = -5.0/256.0; + prolongation[4](53,22) = 75.0/256.0; + prolongation[4](53,23) = -25.0/256.0; + prolongation[4](53,24) = -25.0/256.0; + prolongation[4](53,25) = 75.0/256.0; + prolongation[4](53,30) = -5.0/256.0; + prolongation[4](53,31) = 15.0/256.0; + prolongation[4](53,52) = -75.0/256.0; + prolongation[4](53,53) = 225.0/256.0; + prolongation[4](53,54) = 25.0/256.0; + prolongation[4](53,55) = -75.0/256.0; + prolongation[4](54,53) = 1.0; + prolongation[4](55,14) = 1.0/16.0; + prolongation[4](55,22) = 5.0/16.0; + prolongation[4](55,52) = -5.0/16.0; + prolongation[4](55,53) = 15.0/16.0; + prolongation[4](56,25) = 25.0/256.0; + prolongation[4](56,27) = 5.0/256.0; + prolongation[4](56,29) = 1.0/256.0; + prolongation[4](56,31) = 5.0/256.0; + prolongation[4](56,42) = 75.0/256.0; + prolongation[4](56,43) = -25.0/256.0; + prolongation[4](56,45) = 15.0/256.0; + prolongation[4](56,47) = -5.0/256.0; + prolongation[4](56,50) = 15.0/256.0; + prolongation[4](56,51) = -5.0/256.0; + prolongation[4](56,53) = 75.0/256.0; + prolongation[4](56,55) = -25.0/256.0; + prolongation[4](56,58) = 225.0/256.0; + prolongation[4](56,59) = -75.0/256.0; + prolongation[4](56,62) = -75.0/256.0; + prolongation[4](56,63) = 25.0/256.0; + prolongation[4](57,42) = 5.0/16.0; + prolongation[4](57,50) = 1.0/16.0; + prolongation[4](57,58) = 15.0/16.0; + prolongation[4](57,62) = -5.0/16.0; + prolongation[4](58,0) = 25.0/4096.0; + prolongation[4](58,1) = 5.0/4096.0; + prolongation[4](58,2) = 1.0/4096.0; + prolongation[4](58,3) = 5.0/4096.0; + prolongation[4](58,4) = 125.0/4096.0; + prolongation[4](58,5) = 25.0/4096.0; + prolongation[4](58,6) = 5.0/4096.0; + prolongation[4](58,7) = 25.0/4096.0; + prolongation[4](58,8) = 75.0/4096.0; + prolongation[4](58,9) = -25.0/4096.0; + prolongation[4](58,10) = 15.0/4096.0; + prolongation[4](58,11) = -5.0/4096.0; + prolongation[4](58,12) = 15.0/4096.0; + prolongation[4](58,13) = -5.0/4096.0; + prolongation[4](58,14) = 75.0/4096.0; + prolongation[4](58,15) = -25.0/4096.0; + prolongation[4](58,16) = 375.0/4096.0; + prolongation[4](58,17) = -125.0/4096.0; + prolongation[4](58,18) = 75.0/4096.0; + prolongation[4](58,19) = -25.0/4096.0; + prolongation[4](58,20) = 75.0/4096.0; + prolongation[4](58,21) = -25.0/4096.0; + prolongation[4](58,22) = 375.0/4096.0; + prolongation[4](58,23) = -125.0/4096.0; + prolongation[4](58,24) = -125.0/4096.0; + prolongation[4](58,25) = 375.0/4096.0; + prolongation[4](58,26) = -25.0/4096.0; + prolongation[4](58,27) = 75.0/4096.0; + prolongation[4](58,28) = -5.0/4096.0; + prolongation[4](58,29) = 15.0/4096.0; + prolongation[4](58,30) = -25.0/4096.0; + prolongation[4](58,31) = 75.0/4096.0; + prolongation[4](58,32) = 225.0/4096.0; + prolongation[4](58,33) = -75.0/4096.0; + prolongation[4](58,34) = -75.0/4096.0; + prolongation[4](58,35) = 25.0/4096.0; + prolongation[4](58,36) = 1125.0/4096.0; + prolongation[4](58,37) = -375.0/4096.0; + prolongation[4](58,38) = -375.0/4096.0; + prolongation[4](58,39) = 125.0/4096.0; + prolongation[4](58,40) = -375.0/4096.0; + prolongation[4](58,41) = 125.0/4096.0; + prolongation[4](58,42) = 1125.0/4096.0; + prolongation[4](58,43) = -375.0/4096.0; + prolongation[4](58,44) = -75.0/4096.0; + prolongation[4](58,45) = 225.0/4096.0; + prolongation[4](58,46) = 25.0/4096.0; + prolongation[4](58,47) = -75.0/4096.0; + prolongation[4](58,48) = -75.0/4096.0; + prolongation[4](58,49) = 25.0/4096.0; + prolongation[4](58,50) = 225.0/4096.0; + prolongation[4](58,51) = -75.0/4096.0; + prolongation[4](58,52) = -375.0/4096.0; + prolongation[4](58,53) = 1125.0/4096.0; + prolongation[4](58,54) = 125.0/4096.0; + prolongation[4](58,55) = -375.0/4096.0; + prolongation[4](58,56) = -1125.0/4096.0; + prolongation[4](58,57) = 375.0/4096.0; + prolongation[4](58,58) = 3375.0/4096.0; + prolongation[4](58,59) = -1125.0/4096.0; + prolongation[4](58,60) = 375.0/4096.0; + prolongation[4](58,61) = -125.0/4096.0; + prolongation[4](58,62) = -1125.0/4096.0; + prolongation[4](58,63) = 375.0/4096.0; + prolongation[4](59,8) = 5.0/256.0; + prolongation[4](59,12) = 1.0/256.0; + prolongation[4](59,16) = 25.0/256.0; + prolongation[4](59,20) = 5.0/256.0; + prolongation[4](59,32) = 15.0/256.0; + prolongation[4](59,34) = -5.0/256.0; + prolongation[4](59,36) = 75.0/256.0; + prolongation[4](59,38) = -25.0/256.0; + prolongation[4](59,40) = -25.0/256.0; + prolongation[4](59,42) = 75.0/256.0; + prolongation[4](59,48) = -5.0/256.0; + prolongation[4](59,50) = 15.0/256.0; + prolongation[4](59,56) = -75.0/256.0; + prolongation[4](59,58) = 225.0/256.0; + prolongation[4](59,60) = 25.0/256.0; + prolongation[4](59,62) = -75.0/256.0; + prolongation[4](60,45) = 1.0/16.0; + prolongation[4](60,53) = 5.0/16.0; + prolongation[4](60,58) = 15.0/16.0; + prolongation[4](60,59) = -5.0/16.0; + prolongation[4](61,58) = 1.0; + prolongation[4](62,10) = 1.0/256.0; + prolongation[4](62,14) = 5.0/256.0; + prolongation[4](62,18) = 5.0/256.0; + prolongation[4](62,22) = 25.0/256.0; + prolongation[4](62,32) = 15.0/256.0; + prolongation[4](62,33) = -5.0/256.0; + prolongation[4](62,36) = 75.0/256.0; + prolongation[4](62,37) = -25.0/256.0; + prolongation[4](62,44) = -5.0/256.0; + prolongation[4](62,45) = 15.0/256.0; + prolongation[4](62,52) = -25.0/256.0; + prolongation[4](62,53) = 75.0/256.0; + prolongation[4](62,56) = -75.0/256.0; + prolongation[4](62,57) = 25.0/256.0; + prolongation[4](62,58) = 225.0/256.0; + prolongation[4](62,59) = -75.0/256.0; + prolongation[4](63,32) = 1.0/16.0; + prolongation[4](63,36) = 5.0/16.0; + prolongation[4](63,56) = -5.0/16.0; + prolongation[4](63,58) = 15.0/16.0; + prolongation[5](0,0) = 1.0/256.0; + prolongation[5](0,1) = 1.0/256.0; + prolongation[5](0,4) = 1.0/256.0; + prolongation[5](0,5) = 1.0/256.0; + prolongation[5](0,8) = -9.0/256.0; + prolongation[5](0,9) = -9.0/256.0; + prolongation[5](0,16) = -9.0/256.0; + prolongation[5](0,17) = -9.0/256.0; + prolongation[5](0,24) = -9.0/256.0; + prolongation[5](0,25) = -9.0/256.0; + prolongation[5](0,26) = -9.0/256.0; + prolongation[5](0,27) = -9.0/256.0; + prolongation[5](0,40) = 81.0/256.0; + prolongation[5](0,41) = 81.0/256.0; + prolongation[5](0,42) = 81.0/256.0; + prolongation[5](0,43) = 81.0/256.0; + prolongation[5](1,1) = -1.0/16.0; + prolongation[5](1,5) = -1.0/16.0; + prolongation[5](1,26) = 9.0/16.0; + prolongation[5](1,27) = 9.0/16.0; + prolongation[5](2,1) = 1.0/256.0; + prolongation[5](2,2) = 1.0/256.0; + prolongation[5](2,5) = 1.0/256.0; + prolongation[5](2,6) = 1.0/256.0; + prolongation[5](2,10) = -9.0/256.0; + prolongation[5](2,11) = -9.0/256.0; + prolongation[5](2,18) = -9.0/256.0; + prolongation[5](2,19) = -9.0/256.0; + prolongation[5](2,26) = -9.0/256.0; + prolongation[5](2,27) = -9.0/256.0; + prolongation[5](2,28) = -9.0/256.0; + prolongation[5](2,29) = -9.0/256.0; + prolongation[5](2,44) = 81.0/256.0; + prolongation[5](2,45) = 81.0/256.0; + prolongation[5](2,46) = 81.0/256.0; + prolongation[5](2,47) = 81.0/256.0; + prolongation[5](3,0) = -1.0/4096.0; + prolongation[5](3,1) = -1.0/4096.0; + prolongation[5](3,2) = -1.0/4096.0; + prolongation[5](3,3) = -1.0/4096.0; + prolongation[5](3,4) = -1.0/4096.0; + prolongation[5](3,5) = -1.0/4096.0; + prolongation[5](3,6) = -1.0/4096.0; + prolongation[5](3,7) = -1.0/4096.0; + prolongation[5](3,8) = 9.0/4096.0; + prolongation[5](3,9) = 9.0/4096.0; + prolongation[5](3,10) = 9.0/4096.0; + prolongation[5](3,11) = 9.0/4096.0; + prolongation[5](3,12) = 9.0/4096.0; + prolongation[5](3,13) = 9.0/4096.0; + prolongation[5](3,14) = 9.0/4096.0; + prolongation[5](3,15) = 9.0/4096.0; + prolongation[5](3,16) = 9.0/4096.0; + prolongation[5](3,17) = 9.0/4096.0; + prolongation[5](3,18) = 9.0/4096.0; + prolongation[5](3,19) = 9.0/4096.0; + prolongation[5](3,20) = 9.0/4096.0; + prolongation[5](3,21) = 9.0/4096.0; + prolongation[5](3,22) = 9.0/4096.0; + prolongation[5](3,23) = 9.0/4096.0; + prolongation[5](3,24) = 9.0/4096.0; + prolongation[5](3,25) = 9.0/4096.0; + prolongation[5](3,26) = 9.0/4096.0; + prolongation[5](3,27) = 9.0/4096.0; + prolongation[5](3,28) = 9.0/4096.0; + prolongation[5](3,29) = 9.0/4096.0; + prolongation[5](3,30) = 9.0/4096.0; + prolongation[5](3,31) = 9.0/4096.0; + prolongation[5](3,32) = -81.0/4096.0; + prolongation[5](3,33) = -81.0/4096.0; + prolongation[5](3,34) = -81.0/4096.0; + prolongation[5](3,35) = -81.0/4096.0; + prolongation[5](3,36) = -81.0/4096.0; + prolongation[5](3,37) = -81.0/4096.0; + prolongation[5](3,38) = -81.0/4096.0; + prolongation[5](3,39) = -81.0/4096.0; + prolongation[5](3,40) = -81.0/4096.0; + prolongation[5](3,41) = -81.0/4096.0; + prolongation[5](3,42) = -81.0/4096.0; + prolongation[5](3,43) = -81.0/4096.0; + prolongation[5](3,44) = -81.0/4096.0; + prolongation[5](3,45) = -81.0/4096.0; + prolongation[5](3,46) = -81.0/4096.0; + prolongation[5](3,47) = -81.0/4096.0; + prolongation[5](3,48) = -81.0/4096.0; + prolongation[5](3,49) = -81.0/4096.0; + prolongation[5](3,50) = -81.0/4096.0; + prolongation[5](3,51) = -81.0/4096.0; + prolongation[5](3,52) = -81.0/4096.0; + prolongation[5](3,53) = -81.0/4096.0; + prolongation[5](3,54) = -81.0/4096.0; + prolongation[5](3,55) = -81.0/4096.0; + prolongation[5](3,56) = 729.0/4096.0; + prolongation[5](3,57) = 729.0/4096.0; + prolongation[5](3,58) = 729.0/4096.0; + prolongation[5](3,59) = 729.0/4096.0; + prolongation[5](3,60) = 729.0/4096.0; + prolongation[5](3,61) = 729.0/4096.0; + prolongation[5](3,62) = 729.0/4096.0; + prolongation[5](3,63) = 729.0/4096.0; + prolongation[5](4,4) = -1.0/16.0; + prolongation[5](4,5) = -1.0/16.0; + prolongation[5](4,16) = 9.0/16.0; + prolongation[5](4,17) = 9.0/16.0; + prolongation[5](5,5) = 1.0; + prolongation[5](6,5) = -1.0/16.0; + prolongation[5](6,6) = -1.0/16.0; + prolongation[5](6,18) = 9.0/16.0; + prolongation[5](6,19) = 9.0/16.0; + prolongation[5](7,4) = 1.0/256.0; + prolongation[5](7,5) = 1.0/256.0; + prolongation[5](7,6) = 1.0/256.0; + prolongation[5](7,7) = 1.0/256.0; + prolongation[5](7,16) = -9.0/256.0; + prolongation[5](7,17) = -9.0/256.0; + prolongation[5](7,18) = -9.0/256.0; + prolongation[5](7,19) = -9.0/256.0; + prolongation[5](7,20) = -9.0/256.0; + prolongation[5](7,21) = -9.0/256.0; + prolongation[5](7,22) = -9.0/256.0; + prolongation[5](7,23) = -9.0/256.0; + prolongation[5](7,36) = 81.0/256.0; + prolongation[5](7,37) = 81.0/256.0; + prolongation[5](7,38) = 81.0/256.0; + prolongation[5](7,39) = 81.0/256.0; + prolongation[5](8,9) = -1.0/16.0; + prolongation[5](8,17) = -1.0/16.0; + prolongation[5](8,41) = 9.0/16.0; + prolongation[5](8,43) = 9.0/16.0; + prolongation[5](9,0) = -1.0/256.0; + prolongation[5](9,1) = -5.0/256.0; + prolongation[5](9,4) = -1.0/256.0; + prolongation[5](9,5) = -5.0/256.0; + prolongation[5](9,8) = 5.0/256.0; + prolongation[5](9,9) = -15.0/256.0; + prolongation[5](9,16) = 5.0/256.0; + prolongation[5](9,17) = -15.0/256.0; + prolongation[5](9,24) = 9.0/256.0; + prolongation[5](9,25) = 9.0/256.0; + prolongation[5](9,26) = 45.0/256.0; + prolongation[5](9,27) = 45.0/256.0; + prolongation[5](9,40) = -45.0/256.0; + prolongation[5](9,41) = 135.0/256.0; + prolongation[5](9,42) = -45.0/256.0; + prolongation[5](9,43) = 135.0/256.0; + prolongation[5](10,1) = -5.0/256.0; + prolongation[5](10,2) = -1.0/256.0; + prolongation[5](10,5) = -5.0/256.0; + prolongation[5](10,6) = -1.0/256.0; + prolongation[5](10,10) = -15.0/256.0; + prolongation[5](10,11) = 5.0/256.0; + prolongation[5](10,18) = -15.0/256.0; + prolongation[5](10,19) = 5.0/256.0; + prolongation[5](10,26) = 45.0/256.0; + prolongation[5](10,27) = 45.0/256.0; + prolongation[5](10,28) = 9.0/256.0; + prolongation[5](10,29) = 9.0/256.0; + prolongation[5](10,44) = 135.0/256.0; + prolongation[5](10,45) = 135.0/256.0; + prolongation[5](10,46) = -45.0/256.0; + prolongation[5](10,47) = -45.0/256.0; + prolongation[5](11,10) = -1.0/16.0; + prolongation[5](11,18) = -1.0/16.0; + prolongation[5](11,44) = 9.0/16.0; + prolongation[5](11,45) = 9.0/16.0; + prolongation[5](12,9) = 1.0/256.0; + prolongation[5](12,13) = 1.0/256.0; + prolongation[5](12,17) = 1.0/256.0; + prolongation[5](12,21) = 1.0/256.0; + prolongation[5](12,33) = -9.0/256.0; + prolongation[5](12,35) = -9.0/256.0; + prolongation[5](12,37) = -9.0/256.0; + prolongation[5](12,39) = -9.0/256.0; + prolongation[5](12,41) = -9.0/256.0; + prolongation[5](12,43) = -9.0/256.0; + prolongation[5](12,49) = -9.0/256.0; + prolongation[5](12,51) = -9.0/256.0; + prolongation[5](12,57) = 81.0/256.0; + prolongation[5](12,59) = 81.0/256.0; + prolongation[5](12,61) = 81.0/256.0; + prolongation[5](12,63) = 81.0/256.0; + prolongation[5](13,0) = 1.0/4096.0; + prolongation[5](13,1) = 5.0/4096.0; + prolongation[5](13,2) = 5.0/4096.0; + prolongation[5](13,3) = 1.0/4096.0; + prolongation[5](13,4) = 1.0/4096.0; + prolongation[5](13,5) = 5.0/4096.0; + prolongation[5](13,6) = 5.0/4096.0; + prolongation[5](13,7) = 1.0/4096.0; + prolongation[5](13,8) = -5.0/4096.0; + prolongation[5](13,9) = 15.0/4096.0; + prolongation[5](13,10) = -45.0/4096.0; + prolongation[5](13,11) = -45.0/4096.0; + prolongation[5](13,12) = -5.0/4096.0; + prolongation[5](13,13) = 15.0/4096.0; + prolongation[5](13,14) = -9.0/4096.0; + prolongation[5](13,15) = -9.0/4096.0; + prolongation[5](13,16) = -5.0/4096.0; + prolongation[5](13,17) = 15.0/4096.0; + prolongation[5](13,18) = -45.0/4096.0; + prolongation[5](13,19) = -45.0/4096.0; + prolongation[5](13,20) = -5.0/4096.0; + prolongation[5](13,21) = 15.0/4096.0; + prolongation[5](13,22) = -9.0/4096.0; + prolongation[5](13,23) = -9.0/4096.0; + prolongation[5](13,24) = -9.0/4096.0; + prolongation[5](13,25) = -9.0/4096.0; + prolongation[5](13,26) = -45.0/4096.0; + prolongation[5](13,27) = -45.0/4096.0; + prolongation[5](13,28) = -45.0/4096.0; + prolongation[5](13,29) = -45.0/4096.0; + prolongation[5](13,30) = -9.0/4096.0; + prolongation[5](13,31) = -9.0/4096.0; + prolongation[5](13,32) = 45.0/4096.0; + prolongation[5](13,33) = -135.0/4096.0; + prolongation[5](13,34) = 45.0/4096.0; + prolongation[5](13,35) = -135.0/4096.0; + prolongation[5](13,36) = 45.0/4096.0; + prolongation[5](13,37) = -135.0/4096.0; + prolongation[5](13,38) = 45.0/4096.0; + prolongation[5](13,39) = -135.0/4096.0; + prolongation[5](13,40) = 45.0/4096.0; + prolongation[5](13,41) = -135.0/4096.0; + prolongation[5](13,42) = 45.0/4096.0; + prolongation[5](13,43) = -135.0/4096.0; + prolongation[5](13,44) = 405.0/4096.0; + prolongation[5](13,45) = 405.0/4096.0; + prolongation[5](13,46) = 405.0/4096.0; + prolongation[5](13,47) = 405.0/4096.0; + prolongation[5](13,48) = 45.0/4096.0; + prolongation[5](13,49) = -135.0/4096.0; + prolongation[5](13,50) = 45.0/4096.0; + prolongation[5](13,51) = -135.0/4096.0; + prolongation[5](13,52) = 81.0/4096.0; + prolongation[5](13,53) = 81.0/4096.0; + prolongation[5](13,54) = 81.0/4096.0; + prolongation[5](13,55) = 81.0/4096.0; + prolongation[5](13,56) = -405.0/4096.0; + prolongation[5](13,57) = 1215.0/4096.0; + prolongation[5](13,58) = -405.0/4096.0; + prolongation[5](13,59) = 1215.0/4096.0; + prolongation[5](13,60) = -405.0/4096.0; + prolongation[5](13,61) = 1215.0/4096.0; + prolongation[5](13,62) = -405.0/4096.0; + prolongation[5](13,63) = 1215.0/4096.0; + prolongation[5](14,0) = 5.0/4096.0; + prolongation[5](14,1) = 5.0/4096.0; + prolongation[5](14,2) = 1.0/4096.0; + prolongation[5](14,3) = 1.0/4096.0; + prolongation[5](14,4) = 5.0/4096.0; + prolongation[5](14,5) = 5.0/4096.0; + prolongation[5](14,6) = 1.0/4096.0; + prolongation[5](14,7) = 1.0/4096.0; + prolongation[5](14,8) = -45.0/4096.0; + prolongation[5](14,9) = -45.0/4096.0; + prolongation[5](14,10) = 15.0/4096.0; + prolongation[5](14,11) = -5.0/4096.0; + prolongation[5](14,12) = -9.0/4096.0; + prolongation[5](14,13) = -9.0/4096.0; + prolongation[5](14,14) = 15.0/4096.0; + prolongation[5](14,15) = -5.0/4096.0; + prolongation[5](14,16) = -45.0/4096.0; + prolongation[5](14,17) = -45.0/4096.0; + prolongation[5](14,18) = 15.0/4096.0; + prolongation[5](14,19) = -5.0/4096.0; + prolongation[5](14,20) = -9.0/4096.0; + prolongation[5](14,21) = -9.0/4096.0; + prolongation[5](14,22) = 15.0/4096.0; + prolongation[5](14,23) = -5.0/4096.0; + prolongation[5](14,24) = -45.0/4096.0; + prolongation[5](14,25) = -45.0/4096.0; + prolongation[5](14,26) = -45.0/4096.0; + prolongation[5](14,27) = -45.0/4096.0; + prolongation[5](14,28) = -9.0/4096.0; + prolongation[5](14,29) = -9.0/4096.0; + prolongation[5](14,30) = -9.0/4096.0; + prolongation[5](14,31) = -9.0/4096.0; + prolongation[5](14,32) = -135.0/4096.0; + prolongation[5](14,33) = -135.0/4096.0; + prolongation[5](14,34) = 45.0/4096.0; + prolongation[5](14,35) = 45.0/4096.0; + prolongation[5](14,36) = -135.0/4096.0; + prolongation[5](14,37) = -135.0/4096.0; + prolongation[5](14,38) = 45.0/4096.0; + prolongation[5](14,39) = 45.0/4096.0; + prolongation[5](14,40) = 405.0/4096.0; + prolongation[5](14,41) = 405.0/4096.0; + prolongation[5](14,42) = 405.0/4096.0; + prolongation[5](14,43) = 405.0/4096.0; + prolongation[5](14,44) = -135.0/4096.0; + prolongation[5](14,45) = -135.0/4096.0; + prolongation[5](14,46) = 45.0/4096.0; + prolongation[5](14,47) = 45.0/4096.0; + prolongation[5](14,48) = 81.0/4096.0; + prolongation[5](14,49) = 81.0/4096.0; + prolongation[5](14,50) = 81.0/4096.0; + prolongation[5](14,51) = 81.0/4096.0; + prolongation[5](14,52) = -135.0/4096.0; + prolongation[5](14,53) = -135.0/4096.0; + prolongation[5](14,54) = 45.0/4096.0; + prolongation[5](14,55) = 45.0/4096.0; + prolongation[5](14,56) = 1215.0/4096.0; + prolongation[5](14,57) = 1215.0/4096.0; + prolongation[5](14,58) = 1215.0/4096.0; + prolongation[5](14,59) = 1215.0/4096.0; + prolongation[5](14,60) = -405.0/4096.0; + prolongation[5](14,61) = -405.0/4096.0; + prolongation[5](14,62) = -405.0/4096.0; + prolongation[5](14,63) = -405.0/4096.0; + prolongation[5](15,10) = 1.0/256.0; + prolongation[5](15,14) = 1.0/256.0; + prolongation[5](15,18) = 1.0/256.0; + prolongation[5](15,22) = 1.0/256.0; + prolongation[5](15,32) = -9.0/256.0; + prolongation[5](15,33) = -9.0/256.0; + prolongation[5](15,36) = -9.0/256.0; + prolongation[5](15,37) = -9.0/256.0; + prolongation[5](15,44) = -9.0/256.0; + prolongation[5](15,45) = -9.0/256.0; + prolongation[5](15,52) = -9.0/256.0; + prolongation[5](15,53) = -9.0/256.0; + prolongation[5](15,56) = 81.0/256.0; + prolongation[5](15,57) = 81.0/256.0; + prolongation[5](15,58) = 81.0/256.0; + prolongation[5](15,59) = 81.0/256.0; + prolongation[5](16,17) = 1.0; + prolongation[5](17,4) = 1.0/16.0; + prolongation[5](17,5) = 5.0/16.0; + prolongation[5](17,16) = -5.0/16.0; + prolongation[5](17,17) = 15.0/16.0; + prolongation[5](18,5) = 5.0/16.0; + prolongation[5](18,6) = 1.0/16.0; + prolongation[5](18,18) = 15.0/16.0; + prolongation[5](18,19) = -5.0/16.0; + prolongation[5](19,18) = 1.0; + prolongation[5](20,17) = -1.0/16.0; + prolongation[5](20,21) = -1.0/16.0; + prolongation[5](20,37) = 9.0/16.0; + prolongation[5](20,39) = 9.0/16.0; + prolongation[5](21,4) = -1.0/256.0; + prolongation[5](21,5) = -5.0/256.0; + prolongation[5](21,6) = -5.0/256.0; + prolongation[5](21,7) = -1.0/256.0; + prolongation[5](21,16) = 5.0/256.0; + prolongation[5](21,17) = -15.0/256.0; + prolongation[5](21,18) = 45.0/256.0; + prolongation[5](21,19) = 45.0/256.0; + prolongation[5](21,20) = 5.0/256.0; + prolongation[5](21,21) = -15.0/256.0; + prolongation[5](21,22) = 9.0/256.0; + prolongation[5](21,23) = 9.0/256.0; + prolongation[5](21,36) = -45.0/256.0; + prolongation[5](21,37) = 135.0/256.0; + prolongation[5](21,38) = -45.0/256.0; + prolongation[5](21,39) = 135.0/256.0; + prolongation[5](22,4) = -5.0/256.0; + prolongation[5](22,5) = -5.0/256.0; + prolongation[5](22,6) = -1.0/256.0; + prolongation[5](22,7) = -1.0/256.0; + prolongation[5](22,16) = 45.0/256.0; + prolongation[5](22,17) = 45.0/256.0; + prolongation[5](22,18) = -15.0/256.0; + prolongation[5](22,19) = 5.0/256.0; + prolongation[5](22,20) = 9.0/256.0; + prolongation[5](22,21) = 9.0/256.0; + prolongation[5](22,22) = -15.0/256.0; + prolongation[5](22,23) = 5.0/256.0; + prolongation[5](22,36) = 135.0/256.0; + prolongation[5](22,37) = 135.0/256.0; + prolongation[5](22,38) = -45.0/256.0; + prolongation[5](22,39) = -45.0/256.0; + prolongation[5](23,18) = -1.0/16.0; + prolongation[5](23,22) = -1.0/16.0; + prolongation[5](23,36) = 9.0/16.0; + prolongation[5](23,37) = 9.0/16.0; + prolongation[5](24,25) = -1.0/16.0; + prolongation[5](24,27) = -1.0/16.0; + prolongation[5](24,42) = 9.0/16.0; + prolongation[5](24,43) = 9.0/16.0; + prolongation[5](25,0) = -1.0/256.0; + prolongation[5](25,1) = -1.0/256.0; + prolongation[5](25,4) = -5.0/256.0; + prolongation[5](25,5) = -5.0/256.0; + prolongation[5](25,8) = 9.0/256.0; + prolongation[5](25,9) = 9.0/256.0; + prolongation[5](25,16) = 45.0/256.0; + prolongation[5](25,17) = 45.0/256.0; + prolongation[5](25,24) = 5.0/256.0; + prolongation[5](25,25) = -15.0/256.0; + prolongation[5](25,26) = 5.0/256.0; + prolongation[5](25,27) = -15.0/256.0; + prolongation[5](25,40) = -45.0/256.0; + prolongation[5](25,41) = -45.0/256.0; + prolongation[5](25,42) = 135.0/256.0; + prolongation[5](25,43) = 135.0/256.0; + prolongation[5](26,27) = 1.0; + prolongation[5](27,1) = 1.0/16.0; + prolongation[5](27,5) = 5.0/16.0; + prolongation[5](27,26) = -5.0/16.0; + prolongation[5](27,27) = 15.0/16.0; + prolongation[5](28,27) = -1.0/16.0; + prolongation[5](28,29) = -1.0/16.0; + prolongation[5](28,45) = 9.0/16.0; + prolongation[5](28,47) = 9.0/16.0; + prolongation[5](29,1) = -1.0/256.0; + prolongation[5](29,2) = -1.0/256.0; + prolongation[5](29,5) = -5.0/256.0; + prolongation[5](29,6) = -5.0/256.0; + prolongation[5](29,10) = 9.0/256.0; + prolongation[5](29,11) = 9.0/256.0; + prolongation[5](29,18) = 45.0/256.0; + prolongation[5](29,19) = 45.0/256.0; + prolongation[5](29,26) = 5.0/256.0; + prolongation[5](29,27) = -15.0/256.0; + prolongation[5](29,28) = 5.0/256.0; + prolongation[5](29,29) = -15.0/256.0; + prolongation[5](29,44) = -45.0/256.0; + prolongation[5](29,45) = 135.0/256.0; + prolongation[5](29,46) = -45.0/256.0; + prolongation[5](29,47) = 135.0/256.0; + prolongation[5](30,25) = 1.0/256.0; + prolongation[5](30,27) = 1.0/256.0; + prolongation[5](30,29) = 1.0/256.0; + prolongation[5](30,31) = 1.0/256.0; + prolongation[5](30,42) = -9.0/256.0; + prolongation[5](30,43) = -9.0/256.0; + prolongation[5](30,45) = -9.0/256.0; + prolongation[5](30,47) = -9.0/256.0; + prolongation[5](30,50) = -9.0/256.0; + prolongation[5](30,51) = -9.0/256.0; + prolongation[5](30,53) = -9.0/256.0; + prolongation[5](30,55) = -9.0/256.0; + prolongation[5](30,58) = 81.0/256.0; + prolongation[5](30,59) = 81.0/256.0; + prolongation[5](30,62) = 81.0/256.0; + prolongation[5](30,63) = 81.0/256.0; + prolongation[5](31,0) = 1.0/4096.0; + prolongation[5](31,1) = 1.0/4096.0; + prolongation[5](31,2) = 1.0/4096.0; + prolongation[5](31,3) = 1.0/4096.0; + prolongation[5](31,4) = 5.0/4096.0; + prolongation[5](31,5) = 5.0/4096.0; + prolongation[5](31,6) = 5.0/4096.0; + prolongation[5](31,7) = 5.0/4096.0; + prolongation[5](31,8) = -9.0/4096.0; + prolongation[5](31,9) = -9.0/4096.0; + prolongation[5](31,10) = -9.0/4096.0; + prolongation[5](31,11) = -9.0/4096.0; + prolongation[5](31,12) = -9.0/4096.0; + prolongation[5](31,13) = -9.0/4096.0; + prolongation[5](31,14) = -9.0/4096.0; + prolongation[5](31,15) = -9.0/4096.0; + prolongation[5](31,16) = -45.0/4096.0; + prolongation[5](31,17) = -45.0/4096.0; + prolongation[5](31,18) = -45.0/4096.0; + prolongation[5](31,19) = -45.0/4096.0; + prolongation[5](31,20) = -45.0/4096.0; + prolongation[5](31,21) = -45.0/4096.0; + prolongation[5](31,22) = -45.0/4096.0; + prolongation[5](31,23) = -45.0/4096.0; + prolongation[5](31,24) = -5.0/4096.0; + prolongation[5](31,25) = 15.0/4096.0; + prolongation[5](31,26) = -5.0/4096.0; + prolongation[5](31,27) = 15.0/4096.0; + prolongation[5](31,28) = -5.0/4096.0; + prolongation[5](31,29) = 15.0/4096.0; + prolongation[5](31,30) = -5.0/4096.0; + prolongation[5](31,31) = 15.0/4096.0; + prolongation[5](31,32) = 81.0/4096.0; + prolongation[5](31,33) = 81.0/4096.0; + prolongation[5](31,34) = 81.0/4096.0; + prolongation[5](31,35) = 81.0/4096.0; + prolongation[5](31,36) = 405.0/4096.0; + prolongation[5](31,37) = 405.0/4096.0; + prolongation[5](31,38) = 405.0/4096.0; + prolongation[5](31,39) = 405.0/4096.0; + prolongation[5](31,40) = 45.0/4096.0; + prolongation[5](31,41) = 45.0/4096.0; + prolongation[5](31,42) = -135.0/4096.0; + prolongation[5](31,43) = -135.0/4096.0; + prolongation[5](31,44) = 45.0/4096.0; + prolongation[5](31,45) = -135.0/4096.0; + prolongation[5](31,46) = 45.0/4096.0; + prolongation[5](31,47) = -135.0/4096.0; + prolongation[5](31,48) = 45.0/4096.0; + prolongation[5](31,49) = 45.0/4096.0; + prolongation[5](31,50) = -135.0/4096.0; + prolongation[5](31,51) = -135.0/4096.0; + prolongation[5](31,52) = 45.0/4096.0; + prolongation[5](31,53) = -135.0/4096.0; + prolongation[5](31,54) = 45.0/4096.0; + prolongation[5](31,55) = -135.0/4096.0; + prolongation[5](31,56) = -405.0/4096.0; + prolongation[5](31,57) = -405.0/4096.0; + prolongation[5](31,58) = 1215.0/4096.0; + prolongation[5](31,59) = 1215.0/4096.0; + prolongation[5](31,60) = -405.0/4096.0; + prolongation[5](31,61) = -405.0/4096.0; + prolongation[5](31,62) = 1215.0/4096.0; + prolongation[5](31,63) = 1215.0/4096.0; + prolongation[5](32,9) = -5.0/256.0; + prolongation[5](32,13) = -1.0/256.0; + prolongation[5](32,17) = -5.0/256.0; + prolongation[5](32,21) = -1.0/256.0; + prolongation[5](32,33) = -15.0/256.0; + prolongation[5](32,35) = 5.0/256.0; + prolongation[5](32,37) = -15.0/256.0; + prolongation[5](32,39) = 5.0/256.0; + prolongation[5](32,41) = 45.0/256.0; + prolongation[5](32,43) = 45.0/256.0; + prolongation[5](32,49) = 9.0/256.0; + prolongation[5](32,51) = 9.0/256.0; + prolongation[5](32,57) = 135.0/256.0; + prolongation[5](32,59) = 135.0/256.0; + prolongation[5](32,61) = -45.0/256.0; + prolongation[5](32,63) = -45.0/256.0; + prolongation[5](33,0) = -5.0/4096.0; + prolongation[5](33,1) = -25.0/4096.0; + prolongation[5](33,2) = -5.0/4096.0; + prolongation[5](33,3) = -1.0/4096.0; + prolongation[5](33,4) = -5.0/4096.0; + prolongation[5](33,5) = -25.0/4096.0; + prolongation[5](33,6) = -5.0/4096.0; + prolongation[5](33,7) = -1.0/4096.0; + prolongation[5](33,8) = 25.0/4096.0; + prolongation[5](33,9) = -75.0/4096.0; + prolongation[5](33,10) = -75.0/4096.0; + prolongation[5](33,11) = 25.0/4096.0; + prolongation[5](33,12) = 5.0/4096.0; + prolongation[5](33,13) = -15.0/4096.0; + prolongation[5](33,14) = -15.0/4096.0; + prolongation[5](33,15) = 5.0/4096.0; + prolongation[5](33,16) = 25.0/4096.0; + prolongation[5](33,17) = -75.0/4096.0; + prolongation[5](33,18) = -75.0/4096.0; + prolongation[5](33,19) = 25.0/4096.0; + prolongation[5](33,20) = 5.0/4096.0; + prolongation[5](33,21) = -15.0/4096.0; + prolongation[5](33,22) = -15.0/4096.0; + prolongation[5](33,23) = 5.0/4096.0; + prolongation[5](33,24) = 45.0/4096.0; + prolongation[5](33,25) = 45.0/4096.0; + prolongation[5](33,26) = 225.0/4096.0; + prolongation[5](33,27) = 225.0/4096.0; + prolongation[5](33,28) = 45.0/4096.0; + prolongation[5](33,29) = 45.0/4096.0; + prolongation[5](33,30) = 9.0/4096.0; + prolongation[5](33,31) = 9.0/4096.0; + prolongation[5](33,32) = 75.0/4096.0; + prolongation[5](33,33) = -225.0/4096.0; + prolongation[5](33,34) = -25.0/4096.0; + prolongation[5](33,35) = 75.0/4096.0; + prolongation[5](33,36) = 75.0/4096.0; + prolongation[5](33,37) = -225.0/4096.0; + prolongation[5](33,38) = -25.0/4096.0; + prolongation[5](33,39) = 75.0/4096.0; + prolongation[5](33,40) = -225.0/4096.0; + prolongation[5](33,41) = 675.0/4096.0; + prolongation[5](33,42) = -225.0/4096.0; + prolongation[5](33,43) = 675.0/4096.0; + prolongation[5](33,44) = 675.0/4096.0; + prolongation[5](33,45) = 675.0/4096.0; + prolongation[5](33,46) = -225.0/4096.0; + prolongation[5](33,47) = -225.0/4096.0; + prolongation[5](33,48) = -45.0/4096.0; + prolongation[5](33,49) = 135.0/4096.0; + prolongation[5](33,50) = -45.0/4096.0; + prolongation[5](33,51) = 135.0/4096.0; + prolongation[5](33,52) = 135.0/4096.0; + prolongation[5](33,53) = 135.0/4096.0; + prolongation[5](33,54) = -45.0/4096.0; + prolongation[5](33,55) = -45.0/4096.0; + prolongation[5](33,56) = -675.0/4096.0; + prolongation[5](33,57) = 2025.0/4096.0; + prolongation[5](33,58) = -675.0/4096.0; prolongation[5](33,59) = 2025.0/4096.0; prolongation[5](33,60) = 225.0/4096.0; prolongation[5](33,61) = -675.0/4096.0; @@ -11393,7 +11393,7 @@ FEQ3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEQ3<3>::get_unit_support_points (vector > &unit_points) const +void FEQ3<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -11466,7 +11466,7 @@ void FEQ3<3>::get_unit_support_points (vector > &unit_points) const template <> void FEQ3<3>::get_support_points (const typename DoFHandler<3>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -11844,7 +11844,7 @@ void FEQ3<3>::get_support_points (const typename DoFHandler<3>::cell_iterator &c template <> void FEQ3<3>::get_face_support_points (const typename DoFHandler<3>::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_face, ExcWrongFieldDimension (support_points.size(), dofs_per_face)); @@ -11888,7 +11888,7 @@ void FEQ3<3>::get_face_support_points (const typename DoFHandler<3>::face_iterat template <> FEQ3<3>::FEQ3 () : FEQ1Mapping<3> (1, 2, 4, 8, 1, - vector (1, false)) + std::vector (1, false)) { Assert (false, ExcNotImplemented()); }; @@ -11897,7 +11897,7 @@ FEQ3<3>::FEQ3 () : template <> FEQ3<3>::FEQ3 (const int) : FEQ1Mapping<3> (0, 0, 0, 64, 1, - vector (1, true)) + std::vector (1, true)) { Assert (false, ExcNotImplemented()); }; @@ -11950,7 +11950,7 @@ FEQ3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEQ3<3>::get_unit_support_points (vector > &) const +void FEQ3<3>::get_unit_support_points (std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -11958,7 +11958,7 @@ void FEQ3<3>::get_unit_support_points (vector > &) const template <> void FEQ3<3>::get_support_points (const DoFHandler<3>::cell_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -11966,7 +11966,7 @@ void FEQ3<3>::get_support_points (const DoFHandler<3>::cell_iterator &, template <> void FEQ3<3>::get_face_support_points (const DoFHandler<3>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; diff --git a/deal.II/deal.II/source/fe/fe_lib.dg.cc b/deal.II/deal.II/source/fe/fe_lib.dg.cc index 1b23d5c99c..53a77a5983 100644 --- a/deal.II/deal.II/source/fe/fe_lib.dg.cc +++ b/deal.II/deal.II/source/fe/fe_lib.dg.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -4428,7 +4428,7 @@ FEDG_Q4<3>::FEDG_Q4(): template void FEDG_Q1::get_face_support_points (const typename DoFHandler::face_iterator &, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == 0), FiniteElementBase::ExcWrongFieldDimension (support_points.size(),0)); @@ -4439,7 +4439,7 @@ FEDG_Q1::get_face_support_points (const typename DoFHandler::face_iter template void FEDG_Q2::get_face_support_points (const typename DoFHandler::face_iterator &, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == 0), FiniteElementBase::ExcWrongFieldDimension (support_points.size(),0)); @@ -4450,7 +4450,7 @@ FEDG_Q2::get_face_support_points (const typename DoFHandler::face_iter template void FEDG_Q3::get_face_support_points (const typename DoFHandler::face_iterator &, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == 0), FiniteElementBase::ExcWrongFieldDimension (support_points.size(),0)); @@ -4461,7 +4461,7 @@ FEDG_Q3::get_face_support_points (const typename DoFHandler::face_iter template void FEDG_Q4::get_face_support_points (const typename DoFHandler::face_iterator &, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == 0), FiniteElementBase::ExcWrongFieldDimension (support_points.size(),0)); diff --git a/deal.II/deal.II/source/fe/fe_lib.dg.constant.cc b/deal.II/deal.II/source/fe/fe_lib.dg.constant.cc index a6d457bc5c..2831962608 100644 --- a/deal.II/deal.II/source/fe/fe_lib.dg.constant.cc +++ b/deal.II/deal.II/source/fe/fe_lib.dg.constant.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -26,7 +26,7 @@ FEDG_Q0::FEDG_Q0 () : (dim==2 ? 1 : 0), (dim==3 ? 1 : 0), 1, - vector (1, true)) + std::vector (1, true)) { for (unsigned int i=0; i::children_per_cell; ++i) { @@ -42,7 +42,7 @@ FEDG_Q0::FEDG_Q0 () : template <> void FEDG_Q0<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -55,7 +55,7 @@ template inline double FEDG_Q0::shape_value (const unsigned int i, - const Point&) const + const Point&) const { Assert((i::get_local_mass_matrix (const DoFHandler::cell_iterator & template void -FEDG_Q0::get_unit_support_points (vector > &unit_points) const +FEDG_Q0::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, FiniteElementBase::ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -119,7 +119,7 @@ FEDG_Q0::get_unit_support_points (vector > &unit_points) const template void FEDG_Q0::get_support_points (const typename DoFHandler::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, FiniteElementBase::ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -132,7 +132,7 @@ FEDG_Q0::get_support_points (const typename DoFHandler::cell_iterator template void FEDG_Q0::get_face_support_points (const typename DoFHandler::face_iterator &, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == 0), FiniteElementBase::ExcWrongFieldDimension (support_points.size(),0)); diff --git a/deal.II/deal.II/source/fe/fe_lib.dgp1.cc b/deal.II/deal.II/source/fe/fe_lib.dgp1.cc index 86cd4e655a..736e509414 100644 --- a/deal.II/deal.II/source/fe/fe_lib.dgp1.cc +++ b/deal.II/deal.II/source/fe/fe_lib.dgp1.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEDG_P1::initialize_matrices (); template <> FEDG_P1<1>::FEDG_P1 () : FEQ1Mapping<1> (0, 2, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -65,13 +65,13 @@ void FEDG_P1<1>::initialize_matrices () template <> double FEDG_P1<1>::shape_value(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i inline Tensor<1,1> FEDG_P1<1>::shape_grad(const unsigned int i, - const Point<1>&) const + const Point<1>&) const { Assert((i::shape_grad(const unsigned int i, // however switch (i) { - case 0: return Point<1>(-1.); - case 1: return Point<1>(1.); + case 0: return Point<1>(-1.); + case 1: return Point<1>(1.); } return Point<1>(); }; @@ -112,7 +112,7 @@ FEDG_P1<1>::shape_grad_grad (const unsigned int i, template <> -void FEDG_P1<1>::get_unit_support_points (vector > &support_points) const +void FEDG_P1<1>::get_unit_support_points (std::vector > &support_points) const { FiniteElement<1>::get_unit_support_points (support_points); }; @@ -120,7 +120,7 @@ void FEDG_P1<1>::get_unit_support_points (vector > &support_points) co template <> void FEDG_P1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; @@ -128,7 +128,7 @@ void FEDG_P1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, template <> void FEDG_P1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -136,7 +136,7 @@ void FEDG_P1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, template <> void FEDG_P1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); @@ -158,7 +158,7 @@ void FEDG_P1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell template <> FEDG_P1<2>::FEDG_P1 () : FEQ1Mapping<2> (0, 0, 3, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -175,7 +175,7 @@ template <> inline double FEDG_P1<2>::shape_value (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<1,2> FEDG_P1<2>::shape_grad (const unsigned int i, - const Point<2>&) const + const Point<2>&) const { Assert((i inline Tensor<2,2> FEDG_P1<2>::shape_grad_grad (const unsigned int i, - const Point<2> &) const + const Point<2> &) const { Assert((i(); @@ -223,7 +223,7 @@ FEDG_P1<2>::shape_grad_grad (const unsigned int i, template <> void FEDG_P1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert(false, ExcNotImplemented ()); Assert (local_mass_matrix.n() == dofs_per_cell, @@ -234,7 +234,7 @@ void FEDG_P1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &, template <> -void FEDG_P1<2>::get_unit_support_points (vector > &unit_points) const +void FEDG_P1<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -253,7 +253,7 @@ void FEDG_P1<2>::get_unit_support_points (vector > &unit_points) const template <> FEDG_P1<3>::FEDG_P1 () : FEQ1Mapping<3> (0, 0, 0, 4, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -288,7 +288,7 @@ template <> inline Tensor<1,3> FEDG_P1<3>::shape_grad (const unsigned int i, - const Point<3>&) const + const Point<3>&) const { Assert((i inline Tensor<2,3> FEDG_P1<3>::shape_grad_grad (const unsigned int i, - const Point<3> &) const + const Point<3> &) const { Assert((i::shape_grad_grad (const unsigned int i, template <> void FEDG_P1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); @@ -334,7 +334,7 @@ void FEDG_P1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEDG_P1<3>::get_unit_support_points (vector > &unit_points) const +void FEDG_P1<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -352,7 +352,7 @@ void FEDG_P1<3>::get_unit_support_points (vector > &unit_points) const template void FEDG_P1::get_support_points (const typename DoFHandler::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, typename FiniteElementBase::ExcWrongFieldDimension (support_points.size(), @@ -366,7 +366,7 @@ FEDG_P1::get_support_points (const typename DoFHandler::cell_iterator template void FEDG_P1::get_face_support_points (const typename DoFHandler::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == dofs_per_face) && (support_points.size() == GeometryInfo::vertices_per_face), diff --git a/deal.II/deal.II/source/fe/fe_lib.dgp2.cc b/deal.II/deal.II/source/fe/fe_lib.dgp2.cc index 7b28e1349e..ca22a2d0e5 100644 --- a/deal.II/deal.II/source/fe/fe_lib.dgp2.cc +++ b/deal.II/deal.II/source/fe/fe_lib.dgp2.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEDG_P2::initialize_matrices (); template <> FEDG_P2<1>::FEDG_P2 () : FEQ1Mapping<1> (0, 3, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -44,7 +44,7 @@ void FEDG_P2<1>::initialize_matrices () template <> double FEDG_P2<1>::shape_value(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i inline Tensor<1,1> FEDG_P2<1>::shape_grad(const unsigned int i, - const Point<1>&p) const + const Point<1>&p) const { Assert((i::shape_grad_grad (const unsigned int i, template <> -void FEDG_P2<1>::get_unit_support_points (vector > &support_points) const +void FEDG_P2<1>::get_unit_support_points (std::vector > &support_points) const { FiniteElement<1>::get_unit_support_points (support_points); }; @@ -101,7 +101,7 @@ void FEDG_P2<1>::get_unit_support_points (vector > &support_points) co template <> void FEDG_P2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; @@ -109,7 +109,7 @@ void FEDG_P2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, template <> void FEDG_P2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -117,7 +117,7 @@ void FEDG_P2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, template <> void FEDG_P2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert(false, ExcNotImplemented()); Assert (local_mass_matrix.n() == dofs_per_cell, @@ -134,7 +134,7 @@ void FEDG_P2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &, template <> FEDG_P2<2>::FEDG_P2 () : FEQ1Mapping<2> (0, 0, 6, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -151,7 +151,7 @@ template <> inline double FEDG_P2<2>::shape_value (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<1,2> FEDG_P2<2>::shape_grad (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<2,2> FEDG_P2<2>::shape_grad_grad (const unsigned int i, - const Point<2> &) const + const Point<2> &) const { Assert(false, ExcNotImplemented()); Assert((i::shape_grad_grad (const unsigned int i, template <> void FEDG_P2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &, - FullMatrix &) const + FullMatrix &) const { Assert(false, ExcNotImplemented ()); }; template <> -void FEDG_P2<2>::get_unit_support_points (vector > &unit_points) const +void FEDG_P2<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -235,7 +235,7 @@ void FEDG_P2<2>::get_unit_support_points (vector > &unit_points) const template <> FEDG_P2<3>::FEDG_P2 () : FEQ1Mapping<3> (0, 0, 0, 4, 1, - vector (1, true)) + std::vector (1, true)) { Assert(false, ExcNotImplemented ()); // initialize_matrices (); @@ -271,7 +271,7 @@ template <> inline Tensor<1,3> FEDG_P2<3>::shape_grad (const unsigned int i, - const Point<3>&) const + const Point<3>&) const { Assert((i inline Tensor<2,3> FEDG_P2<3>::shape_grad_grad (const unsigned int i, - const Point<3> &) const + const Point<3> &) const { Assert((i::shape_grad_grad (const unsigned int i, template <> void FEDG_P2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); @@ -317,7 +317,7 @@ void FEDG_P2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEDG_P2<3>::get_unit_support_points (vector > &unit_points) const { +void FEDG_P2<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -334,7 +334,7 @@ void FEDG_P2<3>::get_unit_support_points (vector > &unit_points) const template void FEDG_P2::get_support_points (const typename DoFHandler::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, typename FiniteElementBase::ExcWrongFieldDimension (support_points.size(), @@ -348,7 +348,7 @@ FEDG_P2::get_support_points (const typename DoFHandler::cell_iterator template void FEDG_P2::get_face_support_points (const typename DoFHandler::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == dofs_per_face) && (support_points.size() == GeometryInfo::vertices_per_face), diff --git a/deal.II/deal.II/source/fe/fe_lib.dgp3.cc b/deal.II/deal.II/source/fe/fe_lib.dgp3.cc index 3077959616..1b31baaf1b 100644 --- a/deal.II/deal.II/source/fe/fe_lib.dgp3.cc +++ b/deal.II/deal.II/source/fe/fe_lib.dgp3.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEDG_P3::initialize_matrices (); template <> FEDG_P3<1>::FEDG_P3 () : FEQ1Mapping<1> (0, 4, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -44,7 +44,7 @@ void FEDG_P3<1>::initialize_matrices () template <> double FEDG_P3<1>::shape_value(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i inline Tensor<1,1> FEDG_P3<1>::shape_grad(const unsigned int i, - const Point<1>&p) const + const Point<1>&p) const { Assert((i::shape_grad_grad (const unsigned int i, template <> -void FEDG_P3<1>::get_unit_support_points (vector > &support_points) const +void FEDG_P3<1>::get_unit_support_points (std::vector > &support_points) const { FiniteElement<1>::get_unit_support_points (support_points); }; @@ -103,7 +103,7 @@ void FEDG_P3<1>::get_unit_support_points (vector > &support_points) co template <> void FEDG_P3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; @@ -111,7 +111,7 @@ void FEDG_P3<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, template <> void FEDG_P3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -119,7 +119,7 @@ void FEDG_P3<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, template <> void FEDG_P3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &/*cell*/, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert(false, ExcNotImplemented()); Assert (local_mass_matrix.n() == dofs_per_cell, @@ -136,7 +136,7 @@ void FEDG_P3<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &/*ce template <> FEDG_P3<2>::FEDG_P3 () : FEQ1Mapping<2> (0, 0, 10, 0, 1, - vector (1, true)) + std::vector (1, true)) { // initialize_matrices (); }; @@ -153,7 +153,7 @@ template <> inline double FEDG_P3<2>::shape_value (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<1,2> FEDG_P3<2>::shape_grad (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<2,2> FEDG_P3<2>::shape_grad_grad (const unsigned int i, - const Point<2> &) const + const Point<2> &) const { Assert(false, ExcNotImplemented()); Assert((i::shape_grad_grad (const unsigned int i, template <> void FEDG_P3<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &, - FullMatrix &) const + FullMatrix &) const { Assert(false, ExcNotImplemented ()); }; template <> -void FEDG_P3<2>::get_unit_support_points (vector > &unit_points) const +void FEDG_P3<2>::get_unit_support_points (std::vector > &unit_points) const { Assert(false, ExcNotImplemented ()); Assert (unit_points.size() == dofs_per_cell, @@ -246,7 +246,7 @@ void FEDG_P3<2>::get_unit_support_points (vector > &unit_points) const template <> FEDG_P3<3>::FEDG_P3 () : FEQ1Mapping<3> (0, 0, 0, 4, 1, - vector (1, true)) + std::vector (1, true)) { Assert(false, ExcNotImplemented ()); // initialize_matrices (); @@ -282,7 +282,7 @@ template <> inline Tensor<1,3> FEDG_P3<3>::shape_grad (const unsigned int i, - const Point<3>&) const + const Point<3>&) const { Assert((i inline Tensor<2,3> FEDG_P3<3>::shape_grad_grad (const unsigned int i, - const Point<3> &) const + const Point<3> &) const { Assert((i::shape_grad_grad (const unsigned int i, template <> void FEDG_P3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, - FullMatrix &local_mass_matrix) const + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); @@ -328,7 +328,7 @@ void FEDG_P3<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEDG_P3<3>::get_unit_support_points (vector > &unit_points) const { +void FEDG_P3<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -345,7 +345,7 @@ void FEDG_P3<3>::get_unit_support_points (vector > &unit_points) const template void FEDG_P3::get_support_points (const typename DoFHandler::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, typename FiniteElementBase::ExcWrongFieldDimension (support_points.size(), @@ -359,7 +359,7 @@ FEDG_P3::get_support_points (const typename DoFHandler::cell_iterator template void FEDG_P3::get_face_support_points (const typename DoFHandler::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert ((support_points.size() == dofs_per_face) && (support_points.size() == GeometryInfo::vertices_per_face), diff --git a/deal.II/deal.II/source/fe/fe_lib.linear.cc b/deal.II/deal.II/source/fe/fe_lib.linear.cc index 7d87fcc155..912ac5fcf8 100644 --- a/deal.II/deal.II/source/fe/fe_lib.linear.cc +++ b/deal.II/deal.II/source/fe/fe_lib.linear.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEQ1::initialize_matrices (); template <> FEQ1<1>::FEQ1 () : FEQ1Mapping<1> (1, 0, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { initialize_matrices (); }; @@ -37,7 +37,7 @@ FEQ1<1>::FEQ1 () : template <> FEQ1<1>::FEQ1 (const int) : FEQ1Mapping<1> (0, 2, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -74,13 +74,13 @@ void FEQ1<1>::initialize_matrices () template <> double FEQ1<1>::shape_value(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i inline Tensor<1,1> FEQ1<1>::shape_grad(const unsigned int i, - const Point<1>&) const + const Point<1>&) const { Assert((i::shape_grad(const unsigned int i, // however switch (i) { - case 0: return Point<1>(-1.); - case 1: return Point<1>(1.); + case 0: return Point<1>(-1.); + case 1: return Point<1>(1.); } return Point<1>(); }; @@ -111,7 +111,7 @@ template <> inline Tensor<2,1> FEQ1<1>::shape_grad_grad (const unsigned int i, - const Point<1> &) const + const Point<1> &) const { Assert((i::shape_grad_grad (const unsigned int i, template <> -void FEQ1<1>::get_unit_support_points (vector > &support_points) const { +void FEQ1<1>::get_unit_support_points (std::vector > &support_points) const { FiniteElement<1>::get_unit_support_points (support_points); }; template <> void FEQ1<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; template <> void FEQ1<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const { + std::vector > &) const { Assert (false, ExcInternalError()); }; template <> void FEQ1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -163,7 +163,7 @@ void FEQ1<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, template <> FEQ1<2>::FEQ1 () : FEQ1Mapping<2> (1, 0, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,0) = 1./2.; interface_constraints(0,1) = 1./2.; @@ -175,7 +175,7 @@ FEQ1<2>::FEQ1 () : template <> FEQ1<2>::FEQ1 (const int) : FEQ1Mapping<2> (0, 0, 4, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -235,7 +235,7 @@ template <> inline double FEQ1<2>::shape_value (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<1,2> FEQ1<2>::shape_grad (const unsigned int i, - const Point<2>& p) const + const Point<2>& p) const { Assert((i inline Tensor<2,2> FEQ1<2>::shape_grad_grad (const unsigned int i, - const Point<2> &) const + const Point<2> &) const { Assert((i::shape_grad_grad (const unsigned int i, case 0: case 2: { - const double initializer[2][2] = {{0, 1},{1,0}}; - return Tensor<2,2>(initializer); + const double initializer[2][2] = {{0, 1},{1,0}}; + return Tensor<2,2>(initializer); }; case 1: case 3: { - const double initializer[2][2] = {{0, -1},{-1,0}}; - return Tensor<2,2>(initializer); + const double initializer[2][2] = {{0, -1},{-1,0}}; + return Tensor<2,2>(initializer); }; }; @@ -303,7 +303,7 @@ FEQ1<2>::shape_grad_grad (const unsigned int i, template <> void FEQ1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -407,7 +407,7 @@ void FEQ1<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, template <> -void FEQ1<2>::get_unit_support_points (vector > &unit_points) const { +void FEQ1<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -426,7 +426,7 @@ void FEQ1<2>::get_unit_support_points (vector > &unit_points) const { template <> FEQ1<3>::FEQ1 () : FEQ1Mapping<3> (1, 0, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,0) = 1.0/4.0; interface_constraints(0,1) = 1.0/4.0; @@ -448,7 +448,7 @@ FEQ1<3>::FEQ1 () : template <> FEQ1<3>::FEQ1 (const int) : FEQ1Mapping<3> (0, 0, 0, 8, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -689,7 +689,7 @@ template <> inline double FEQ1<3>::shape_value (const unsigned int i, - const Point<3>& p) const + const Point<3>& p) const { Assert((i inline Tensor<1,3> FEQ1<3>::shape_grad (const unsigned int i, - const Point<3>& p) const + const Point<3>& p) const { Assert((i inline Tensor<2,3> FEQ1<3>::shape_grad_grad (const unsigned int i, - const Point<3> &p) const + const Point<3> &p) const { Assert((i::shape_grad_grad (const unsigned int i, template <> void FEQ1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -844,7 +844,7 @@ void FEQ1<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEQ1<3>::get_unit_support_points (vector > &unit_points) const { +void FEQ1<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -865,7 +865,7 @@ void FEQ1<3>::get_unit_support_points (vector > &unit_points) const { template void FEQ1::get_support_points (const typename DoFHandler::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, typename FiniteElementBase::ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -878,7 +878,7 @@ FEQ1::get_support_points (const typename DoFHandler::cell_iterator &ce template void FEQ1::get_face_support_points (const typename DoFHandler::face_iterator &face, - vector > &support_points) const { + std::vector > &support_points) const { Assert ((support_points.size() == dofs_per_face) && (support_points.size() == GeometryInfo::vertices_per_face), typename FiniteElementBase:: diff --git a/deal.II/deal.II/source/fe/fe_lib.quadratic.cc b/deal.II/deal.II/source/fe/fe_lib.quadratic.cc index 16cc49675a..0e90185a5a 100644 --- a/deal.II/deal.II/source/fe/fe_lib.quadratic.cc +++ b/deal.II/deal.II/source/fe/fe_lib.quadratic.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEQ2::initialize_matrices (); template <> FEQ2<1>::FEQ2 () : FEQ1Mapping<1> (1, 1, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { initialize_matrices (); }; @@ -38,7 +38,7 @@ FEQ2<1>::FEQ2 () : template <> FEQ2<1>::FEQ2 (const int) : FEQ1Mapping<1> (0, 3, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -62,11 +62,11 @@ void FEQ2<1>::initialize_matrices () restriction := array(0..1,0..2, 0..2); for i from 0 to 1 do - for j from 0 to 2 do - for k from 0 to 2 do - prolongation[i,j,k] := phi[k](points[i][j]); - od; - od; + for j from 0 to 2 do + for k from 0 to 2 do + prolongation[i,j,k] := phi[k](points[i][j]); + od; + od; od; @@ -76,26 +76,26 @@ void FEQ2<1>::initialize_matrices () global_points := array(0..2, [0,1,1/2]): child_phi[0] := proc(i, point) - if ((point<0) or (point>1/2)) then - 0: - else - phi[i](2*point): - fi: - end: + if ((point<0) or (point>1/2)) then + 0: + else + phi[i](2*point): + fi: + end: child_phi[1] := proc(i, point) - if ((point<1/2) or (point>1)) then - 0: - else - phi[i](2*point-1): - fi: - end: + if ((point<1/2) or (point>1)) then + 0: + else + phi[i](2*point-1): + fi: + end: for child from 0 to 1 do - for j from 0 to 2 do - for k from 0 to 2 do - restriction[child,j,k] := child_phi[child](k, global_points[j]): - od: - od: + for j from 0 to 2 do + for k from 0 to 2 do + restriction[child,j,k] := child_phi[child](k, global_points[j]): + od: + od: od: readlib(C); @@ -197,7 +197,7 @@ FEQ2<1>::shape_grad_grad (const unsigned int i, template <> -void FEQ2<1>::get_unit_support_points (vector > &unit_points) const +void FEQ2<1>::get_unit_support_points (std::vector > &unit_points) const { FiniteElement<1>::get_unit_support_points (unit_points); }; @@ -206,7 +206,7 @@ void FEQ2<1>::get_unit_support_points (vector > &unit_points) const template <> void FEQ2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; @@ -215,7 +215,7 @@ void FEQ2<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, template <> void FEQ2<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -249,7 +249,7 @@ void FEQ2<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, template <> FEQ2<2>::FEQ2 () : FEQ1Mapping<2> (1, 1, 1, 0, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,2) = 1.0; interface_constraints(1,0) = 3./8.; @@ -267,7 +267,7 @@ FEQ2<2>::FEQ2 () : template <> FEQ2<2>::FEQ2 (const int) : FEQ1Mapping<2> (0, 0, 9, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -305,11 +305,11 @@ void FEQ2<2>::initialize_matrices () prolongation := array(0..3,0..8, 0..8); for i from 0 to 3 do - for j from 0 to 8 do - for k from 0 to 8 do - prolongation[i,j,k] := phi[k](points_x[i][j], points_y[i][j]); - od; - od; + for j from 0 to 8 do + for k from 0 to 8 do + prolongation[i,j,k] := phi[k](points_x[i][j], points_y[i][j]); + od; + od; od; readlib(C); @@ -793,7 +793,7 @@ FEQ2<2>::shape_grad_grad (const unsigned int i, return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta; return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta; return_value[1][1] = -32.0*xi+32.0*xi*xi; - break; + break; }; return return_value; }; @@ -835,9 +835,9 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, M := array(0..8,0..8); for i from 0 to 8 do - for j from 0 to 8 do - M[i,j] := m(i,j); - od; + for j from 0 to 8 do + M[i,j] := m(i,j); + od; od; readlib(C); @@ -855,10 +855,10 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, /* check that the Jacobi determinant - t0 = (-x[0]*(1.0-eta)+x[1]*(1.0-eta)+x[2]*eta-x[3]*eta) * - (-y[0]*(1.0-xi)-y[1]*xi+y[2]*xi+y[3]*(1.0-xi)) - - (-x[0]*(1.0-xi)-x[1]*xi+x[2]*xi+x[3]*(1.0-xi)) * - (-y[0]*(1.0-eta)+y[1]*(1.0-eta)+y[2]*eta-y[3]*eta) + t0 = (-x[0]*(1.0-eta)+x[1]*(1.0-eta)+x[2]*eta-x[3]*eta) * + (-y[0]*(1.0-xi)-y[1]*xi+y[2]*xi+y[3]*(1.0-xi)) - + (-x[0]*(1.0-xi)-x[1]*xi+x[2]*xi+x[3]*(1.0-xi)) * + (-y[0]*(1.0-eta)+y[1]*(1.0-eta)+y[2]*eta-y[3]*eta) has the right sign. @@ -1077,7 +1077,7 @@ void FEQ2<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, template <> -void FEQ2<2>::get_unit_support_points (vector > &unit_points) const +void FEQ2<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -1097,7 +1097,7 @@ void FEQ2<2>::get_unit_support_points (vector > &unit_points) const template <> void FEQ2<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -1126,7 +1126,7 @@ void FEQ2<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, template <> void FEQ2<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_face, ExcWrongFieldDimension (support_points.size(), dofs_per_face)); @@ -1144,7 +1144,7 @@ void FEQ2<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, template <> FEQ2<3>::FEQ2 () : FEQ1Mapping<3> (1, 1, 1, 1, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,8) = 1.0; interface_constraints(1,4) = 1.0; @@ -1232,7 +1232,7 @@ FEQ2<3>::FEQ2 () : template <> FEQ2<3>::FEQ2 (const int) : FEQ1Mapping<3> (0, 0, 0, 27, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -2324,81 +2324,81 @@ FEQ2<3>::shape_value (const unsigned int i, switch (i) { case 0: return 1.0-3.0*xi+2.0*xi*xi+(-3.0+9.0*xi-6.0*xi*xi)*eta+(2.0 --6.0*xi+4.0*xi*xi)*eta*eta+(-3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+ -(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi --12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; + -6.0*xi+4.0*xi*xi)*eta*eta+(-3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+ + (-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi + -12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; case 1: return -xi+2.0*xi*xi+(3.0*xi-6.0*xi*xi)*eta+(-2.0*xi+4.0*xi*xi) -*eta*eta+(3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta -)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)* -zeta*zeta; + *eta*eta+(3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta + )*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)* + zeta*zeta; case 2: return (xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi) -*eta*eta)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)* -eta*eta)*zeta*zeta; + *eta*eta)*zeta+(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)* + eta*eta)*zeta*zeta; case 3: return (-1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+ -6.0*xi-4.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi) -*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; + 6.0*xi-4.0*xi*xi)*eta*eta)*zeta+(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi) + *eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; case 4: return (-1.0+3.0*xi-2.0*xi*xi)*eta+(2.0-6.0*xi+4.0*xi*xi)*eta* -eta+((3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+((-2.0+ -6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; + eta+((3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta)*zeta+((-2.0+ + 6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; case 5: return (xi-2.0*xi*xi)*eta+(-2.0*xi+4.0*xi*xi)*eta*eta+((-3.0*xi -+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta)*zeta+((2.0*xi-4.0*xi*xi)*eta+(-4.0 -*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; + +6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta)*zeta+((2.0*xi-4.0*xi*xi)*eta+(-4.0 + *xi+8.0*xi*xi)*eta*eta)*zeta*zeta; case 6: return ((-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta)*zeta+(( -2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; + 2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta*zeta; case 7: return ((1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta* -eta)*zeta+((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta* -zeta; + eta)*zeta+((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta* + zeta; case 8: return 4.0*xi-4.0*xi*xi+(-12.0*xi+12.0*xi*xi)*eta+(8.0*xi-8.0* -xi*xi)*eta*eta+(-12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi* -xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi* -xi)*eta*eta)*zeta*zeta; + xi*xi)*eta*eta+(-12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi* + xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi* + xi)*eta*eta)*zeta*zeta; case 9: return (-4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+ -16.0*xi*xi)*eta*eta)*zeta+(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi --16.0*xi*xi)*eta*eta)*zeta*zeta; + 16.0*xi*xi)*eta*eta)*zeta+(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi + -16.0*xi*xi)*eta*eta)*zeta*zeta; case 10: return (-4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+ -8.0*xi*xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi --16.0*xi*xi)*eta*eta)*zeta*zeta; + 8.0*xi*xi)*eta*eta)*zeta+(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi + -16.0*xi*xi)*eta*eta)*zeta*zeta; case 11: return (4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+( -8.0-24.0*xi+16.0*xi*xi)*eta*eta)*zeta+(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+ -24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + 8.0-24.0*xi+16.0*xi*xi)*eta*eta)*zeta+(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+ + 24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 12: return (-4.0*xi+4.0*xi*xi)*eta+(8.0*xi-8.0*xi*xi)*eta*eta+(( -12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+8.0*xi*xi -)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + 12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+8.0*xi*xi + )*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 13: return ((4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta)* -zeta+((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + zeta+((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 14: return ((4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta)* -zeta+((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + zeta+((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 15: return ((-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)* -eta*eta)*zeta+((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)* -zeta*zeta; + eta*eta)*zeta+((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)* + zeta*zeta; case 16: return (4.0-12.0*xi+8.0*xi*xi)*eta+(-4.0+12.0*xi-8.0*xi*xi)* -eta*eta+((-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta)*zeta -+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + eta*eta+((-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta)*zeta + +((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 17: return (-4.0*xi+8.0*xi*xi)*eta+(4.0*xi-8.0*xi*xi)*eta*eta+(( -12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+16.0*xi* -xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + 12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta)*zeta+((-8.0*xi+16.0*xi* + xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 18: return ((4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)* -zeta+((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; + zeta+((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta*zeta; case 19: return ((-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)* -eta*eta)*zeta+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)* -zeta*zeta; + eta*eta)*zeta+((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)* + zeta*zeta; case 20: return (16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi --32.0*xi*xi)*eta*eta)*zeta+(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0 -*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; + -32.0*xi*xi)*eta*eta)*zeta+(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0 + *xi+32.0*xi*xi)*eta*eta)*zeta*zeta; case 21: return ((-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta -)*zeta+((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; + )*zeta+((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; case 22: return (16.0*xi-16.0*xi*xi)*eta+(-16.0*xi+16.0*xi*xi)*eta*eta+ -((-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta)*zeta+((32.0*xi-32.0*xi -*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; + ((-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta)*zeta+((32.0*xi-32.0*xi + *xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; case 23: return ((-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta -)*zeta+((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; + )*zeta+((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; case 24: return ((-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta -)*zeta+((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; + )*zeta+((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta*zeta; case 25: return ((16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi* -xi)*eta*eta)*zeta+((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta -*eta)*zeta*zeta; + xi)*eta*eta)*zeta+((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta + *eta)*zeta*zeta; case 26: return ((64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta -)*zeta+((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta*zeta; + )*zeta+((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta*zeta; }; return 0; }; @@ -2423,86 +2423,86 @@ FEQ2<3>::shape_grad (const unsigned int i, switch (i) { case 0: return Point<3>(-3.0+4.0*xi+(9.0-12.0*xi)*eta+(-6.0+8.0*xi)*eta*eta+(9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta)*zeta+(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta, - -3.0+9.0*xi-6.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - -3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); + -3.0+9.0*xi-6.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + -3.0+9.0*xi-6.0*xi*xi+(9.0-27.0*xi+18.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 1: return Point<3>(-1.0+4.0*xi+(3.0-12.0*xi)*eta+(-2.0+8.0*xi)*eta*eta+(3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta)*zeta+(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta, - 3.0*xi-6.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - 3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); + 3.0*xi-6.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + 3.0*xi-6.0*xi*xi+(-9.0*xi+18.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 2: return Point<3>((1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta)*zeta+(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta, - (-3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); + (-3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + xi-2.0*xi*xi+(-3.0*xi+6.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*(-2.0*xi+4.0*xi*xi+(6.0*xi-12.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 3: return Point<3>((3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta)*zeta+(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta, - (3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - -1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); + (3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + -1.0+3.0*xi-2.0*xi*xi+(3.0-9.0*xi+6.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*(2.0-6.0*xi+4.0*xi*xi+(-6.0+18.0*xi-12.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 4: return Point<3>((3.0-4.0*xi)*eta+(-6.0+8.0*xi)*eta*eta+((-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta)*zeta+((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta, - -1.0+3.0*xi-2.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - (3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); + -1.0+3.0*xi-2.0*xi*xi+2.0*(2.0-6.0*xi+4.0*xi*xi)*eta+(3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + (3.0-9.0*xi+6.0*xi*xi)*eta+(-6.0+18.0*xi-12.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 5: return Point<3>((1.0-4.0*xi)*eta+(-2.0+8.0*xi)*eta*eta+((-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta)*zeta+((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta, - xi-2.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - (-3.0*xi+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); + xi-2.0*xi*xi+2.0*(-2.0*xi+4.0*xi*xi)*eta+(-3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + (-3.0*xi+6.0*xi*xi)*eta+(6.0*xi-12.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 6: return Point<3>(((-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta)*zeta+((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta*zeta, - (-xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - (-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); + (-xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta)*zeta+(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + (-xi+2.0*xi*xi)*eta+(2.0*xi-4.0*xi*xi)*eta*eta+2.0*((2.0*xi-4.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 7: return Point<3>(((-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta)*zeta+((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta*zeta, - (1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, - (1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); + (1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta)*zeta+(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta*zeta, + (1.0-3.0*xi+2.0*xi*xi)*eta+(-2.0+6.0*xi-4.0*xi*xi)*eta*eta+2.0*((-2.0+6.0*xi-4.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta)*zeta); case 8: return Point<3>(4.0-8.0*xi+(-12.0+24.0*xi)*eta+(8.0-16.0*xi)*eta*eta+(-12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta)*zeta+(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta, - -12.0*xi+12.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - -12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); + -12.0*xi+12.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + -12.0*xi+12.0*xi*xi+(36.0*xi-36.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 9: return Point<3>((-4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta)*zeta+(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta, - (12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*(4.0*xi-8.0*xi*xi+(-12.0*xi+24.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 10: return Point<3>((-4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta)*zeta+(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta, - (12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - -4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + -4.0*xi+4.0*xi*xi+(12.0*xi-12.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*(8.0*xi-8.0*xi*xi+(-24.0*xi+24.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 11: return Point<3>((-12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta)*zeta+(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta, - (-12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (-12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*(-4.0+12.0*xi-8.0*xi*xi+(12.0-36.0*xi+24.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 12: return Point<3>((-4.0+8.0*xi)*eta+(8.0-16.0*xi)*eta*eta+((12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta)*zeta+((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta, - -4.0*xi+4.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); + -4.0*xi+4.0*xi*xi+2.0*(8.0*xi-8.0*xi*xi)*eta+(12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (12.0*xi-12.0*xi*xi)*eta+(-24.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 13: return Point<3>(((4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta)*zeta+((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta, - (4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta)*zeta+(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (4.0*xi-8.0*xi*xi)*eta+(-8.0*xi+16.0*xi*xi)*eta*eta+2.0*((-4.0*xi+8.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 14: return Point<3>(((4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta)*zeta+((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta*zeta, - (4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (4.0*xi-4.0*xi*xi)*eta+(-8.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+8.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 15: return Point<3>(((12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta)*zeta+((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta, - (-4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (-4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta)*zeta+(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (-4.0+12.0*xi-8.0*xi*xi)*eta+(8.0-24.0*xi+16.0*xi*xi)*eta*eta+2.0*((4.0-12.0*xi+8.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 16: return Point<3>((-12.0+16.0*xi)*eta+(12.0-16.0*xi)*eta*eta+((36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta)*zeta+((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta, - 4.0-12.0*xi+8.0*xi*xi+2.0*(-4.0+12.0*xi-8.0*xi*xi)*eta+(-12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); + 4.0-12.0*xi+8.0*xi*xi+2.0*(-4.0+12.0*xi-8.0*xi*xi)*eta+(-12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (-12.0+36.0*xi-24.0*xi*xi)*eta+(12.0-36.0*xi+24.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 17: return Point<3>((-4.0+16.0*xi)*eta+(4.0-16.0*xi)*eta*eta+((12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta)*zeta+((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta, - -4.0*xi+8.0*xi*xi+2.0*(4.0*xi-8.0*xi*xi)*eta+(12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); + -4.0*xi+8.0*xi*xi+2.0*(4.0*xi-8.0*xi*xi)*eta+(12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (12.0*xi-24.0*xi*xi)*eta+(-12.0*xi+24.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 18: return Point<3>(((4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta+((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta*zeta, - (4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta+(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (4.0*xi-8.0*xi*xi)*eta+(-4.0*xi+8.0*xi*xi)*eta*eta+2.0*((-8.0*xi+16.0*xi*xi)*eta+(8.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 19: return Point<3>(((12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta+((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta*zeta, - (-4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, - (-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); + (-4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta+(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta*zeta, + (-4.0+12.0*xi-8.0*xi*xi)*eta+(4.0-12.0*xi+8.0*xi*xi)*eta*eta+2.0*((8.0-24.0*xi+16.0*xi*xi)*eta+(-8.0+24.0*xi-16.0*xi*xi)*eta*eta)*zeta); case 20: return Point<3>((16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta)*zeta+(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta, - (-48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); + (-48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*(-16.0*xi+16.0*xi*xi+(48.0*xi-48.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 21: return Point<3>(((-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta)*zeta+((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta, - (-16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - (-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); + (-16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + (-16.0*xi+16.0*xi*xi)*eta+(32.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-16.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 22: return Point<3>((16.0-32.0*xi)*eta+(-16.0+32.0*xi)*eta*eta+((-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta)*zeta+((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta, - 16.0*xi-16.0*xi*xi+2.0*(-16.0*xi+16.0*xi*xi)*eta+(-48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - (-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); + 16.0*xi-16.0*xi*xi+2.0*(-16.0*xi+16.0*xi*xi)*eta+(-48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + (-48.0*xi+48.0*xi*xi)*eta+(48.0*xi-48.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 23: return Point<3>(((-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta)*zeta+((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta*zeta, - (-16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - (-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta); + (-16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta)*zeta+(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + (-16.0*xi+32.0*xi*xi)*eta+(16.0*xi-32.0*xi*xi)*eta*eta+2.0*((16.0*xi-32.0*xi*xi)*eta+(-16.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 24: return Point<3>(((-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta+((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta*zeta, - (-16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - (-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); + (-16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta+(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + (-16.0*xi+16.0*xi*xi)*eta+(16.0*xi-16.0*xi*xi)*eta*eta+2.0*((32.0*xi-32.0*xi*xi)*eta+(-32.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 25: return Point<3>(((-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta)*zeta+((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta*zeta, - (16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta)*zeta+(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta*zeta, - (16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi*xi)*eta*eta+2.0*((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta*eta)*zeta); + (16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta)*zeta+(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta*zeta, + (16.0-48.0*xi+32.0*xi*xi)*eta+(-16.0+48.0*xi-32.0*xi*xi)*eta*eta+2.0*((-16.0+48.0*xi-32.0*xi*xi)*eta+(16.0-48.0*xi+32.0*xi*xi)*eta*eta)*zeta); case 26: return Point<3>(((64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta)*zeta+((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta*zeta, - (64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta)*zeta+(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta*zeta, - (64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta+2.0*((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta); + (64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta)*zeta+(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta*zeta, + (64.0*xi-64.0*xi*xi)*eta+(-64.0*xi+64.0*xi*xi)*eta*eta+2.0*((-64.0*xi+64.0*xi*xi)*eta+(64.0*xi-64.0*xi*xi)*eta*eta)*zeta); }; return Point<3> (); }; @@ -2523,269 +2523,269 @@ FEQ2<3>::shape_grad_grad (const unsigned int i, switch (i) { -case 0: -return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; -break; -case 1: -return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; -break; -case 2: -return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; -break; -case 3: -return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; -break; -case 4: -return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; -break; -case 5: -return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; -break; -case 6: -return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; -break; -case 7: -return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; -return_value[1][2] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; -return_value[2][1] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; -break; -case 8: -return_value[0][0] = -8.0+24.0*eta-16.0*eta*eta+(24.0-72.0*eta+48.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; -break; -case 9: -return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 8.0*xi-16.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (8.0-24.0*eta+16.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = -8.0+24.0*xi-16.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = 8.0*eta-16.0*eta*eta+(-24.0*eta+48.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-8.0*eta+16.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = -8.0+24.0*xi-16.0*xi*xi+(24.0-72.0*xi+48.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = 8.0*xi-16.0*xi*xi+(-24.0*xi+48.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-8.0*xi+16.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; -return_value[0][1] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[1][0] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (8.0-24.0*xi+16.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; -return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][0] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; -return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; -return_value[0][0] = (-32.0+96.0*eta-64.0*eta*eta)*zeta+(32.0-96.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = -32.0*xi+32.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = (32.0*eta-64.0*eta*eta)*zeta+(-32.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = -32.0*eta+32.0*eta*eta+(96.0*eta-96.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = -32.0*xi+32.0*xi*xi+(96.0*xi-96.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (32.0*xi-64.0*xi*xi)*zeta+(-32.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(-16.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = (32.0*eta-32.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (32.0*xi-32.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; -return_value[0][1] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta; -return_value[1][0] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-32.0+96.0*xi-64.0*xi*xi)*zeta+(32.0-96.0*xi+64.0*xi*xi)*zeta*zeta; -return_value[1][2] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][0] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta; -return_value[2][1] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta*eta; -return_value[0][0] = (-128.0*eta+128.0*eta*eta)*zeta+(128.0*eta-128.0*eta*eta)*zeta*zeta; -return_value[0][1] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta; -return_value[0][2] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta; -return_value[1][0] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta; -return_value[1][1] = (-128.0*xi+128.0*xi*xi)*zeta+(128.0*xi-128.0*xi*xi)*zeta*zeta; -return_value[1][2] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta; -return_value[2][0] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta; -return_value[2][1] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta; -return_value[2][2] = 2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(64.0*xi-64.0*xi*xi)*eta*eta; - break; + case 0: + return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = 9.0-12.0*xi+2.0*(-6.0+8.0*xi)*eta+(-27.0+36.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = 9.0-12.0*xi+(-27.0+36.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = 9.0-27.0*xi+18.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; + break; + case 1: + return_value[0][0] = 4.0-12.0*eta+8.0*eta*eta+(-12.0+36.0*eta-24.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = 3.0-12.0*xi+2.0*(-2.0+8.0*xi)*eta+(-9.0+36.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = 3.0-12.0*xi+(-9.0+36.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = -9.0*xi+18.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; + break; + case 2: + return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-3.0+12.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(6.0-24.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = 1.0-4.0*xi+(-3.0+12.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*(-2.0+8.0*xi+(6.0-24.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(6.0*xi-12.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = -4.0*xi+8.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; + break; + case 3: + return_value[0][0] = (-4.0+12.0*eta-8.0*eta*eta)*zeta+(8.0-24.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-9.0+12.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(18.0-24.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = 3.0-4.0*xi+(-9.0+12.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*(-6.0+8.0*xi+(18.0-24.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-6.0+18.0*xi-12.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 4.0-12.0*xi+8.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; + break; + case 4: + return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = 3.0-4.0*xi+2.0*(-6.0+8.0*xi)*eta+(-9.0+12.0*xi+2.0*(18.0-24.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = 4.0-12.0*xi+8.0*xi*xi+(-12.0+36.0*xi-24.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-9.0+12.0*xi)*eta+(18.0-24.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = 3.0-9.0*xi+6.0*xi*xi+2.0*(-6.0+18.0*xi-12.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; + break; + case 5: + return_value[0][0] = -4.0*eta+8.0*eta*eta+(12.0*eta-24.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = 1.0-4.0*xi+2.0*(-2.0+8.0*xi)*eta+(-3.0+12.0*xi+2.0*(6.0-24.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = -4.0*xi+8.0*xi*xi+(12.0*xi-24.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-3.0+12.0*xi)*eta+(6.0-24.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = -3.0*xi+6.0*xi*xi+2.0*(6.0*xi-12.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; + break; + case 6: + return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-1.0+4.0*xi+2.0*(2.0-8.0*xi)*eta)*zeta+(2.0-8.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (4.0*xi-8.0*xi*xi)*zeta+(-8.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-1.0+4.0*xi)*eta+(2.0-8.0*xi)*eta*eta+2.0*((2.0-8.0*xi)*eta+(-4.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = -xi+2.0*xi*xi+2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(2.0*xi-4.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(2.0*xi-4.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi)*eta*eta; + break; + case 7: + return_value[0][0] = (4.0*eta-8.0*eta*eta)*zeta+(-8.0*eta+16.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-3.0+4.0*xi+2.0*(6.0-8.0*xi)*eta)*zeta+(6.0-8.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-4.0+12.0*xi-8.0*xi*xi)*zeta+(8.0-24.0*xi+16.0*xi*xi)*zeta*zeta; + return_value[1][2] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-3.0+4.0*xi)*eta+(6.0-8.0*xi)*eta*eta+2.0*((6.0-8.0*xi)*eta+(-12.0+16.0*xi)*eta*eta)*zeta; + return_value[2][1] = 1.0-3.0*xi+2.0*xi*xi+2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(-2.0+6.0*xi-4.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-2.0+6.0*xi-4.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta*eta; + break; + case 8: + return_value[0][0] = -8.0+24.0*eta-16.0*eta*eta+(24.0-72.0*eta+48.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = -12.0+24.0*xi+2.0*(8.0-16.0*xi)*eta+(36.0-72.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = -12.0+24.0*xi+(36.0-72.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 36.0*xi-36.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; + break; + case 9: + return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (12.0-48.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-12.0+48.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = -4.0+16.0*xi+(12.0-48.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*(4.0-16.0*xi+(-12.0+48.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-12.0*xi+24.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 8.0*xi-16.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (8.0-24.0*eta+16.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (12.0-24.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-24.0+48.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = -4.0+8.0*xi+(12.0-24.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*(8.0-16.0*xi+(-24.0+48.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-24.0*xi+24.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 16.0*xi-16.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (16.0-48.0*eta+32.0*eta*eta)*zeta+(-16.0+48.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (36.0-48.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-36.0+48.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = -12.0+16.0*xi+(36.0-48.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*(12.0-16.0*xi+(-36.0+48.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(12.0-36.0*xi+24.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = -8.0+24.0*xi-16.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = 8.0*eta-16.0*eta*eta+(-24.0*eta+48.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = -4.0+8.0*xi+2.0*(8.0-16.0*xi)*eta+(12.0-24.0*xi+2.0*(-24.0+48.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = 16.0*xi-16.0*xi*xi+(-48.0*xi+48.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (12.0-24.0*xi)*eta+(-24.0+48.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 12.0*xi-12.0*xi*xi+2.0*(-24.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (4.0-16.0*xi+2.0*(-8.0+32.0*xi)*eta)*zeta+(-4.0+16.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-16.0*xi+32.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (4.0-16.0*xi)*eta+(-8.0+32.0*xi)*eta*eta+2.0*((-4.0+16.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(-4.0*xi+8.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-8.0*eta+16.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (4.0-8.0*xi+2.0*(-8.0+16.0*xi)*eta)*zeta+(-8.0+16.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-16.0*xi+16.0*xi*xi)*zeta+(32.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (4.0-8.0*xi)*eta+(-8.0+16.0*xi)*eta*eta+2.0*((-8.0+16.0*xi)*eta+(16.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 4.0*xi-4.0*xi*xi+2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+8.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-8.0*xi+8.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-16.0*eta+32.0*eta*eta)*zeta+(16.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (12.0-16.0*xi+2.0*(-24.0+32.0*xi)*eta)*zeta+(-12.0+16.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (16.0-48.0*xi+32.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (12.0-16.0*xi)*eta+(-24.0+32.0*xi)*eta*eta+2.0*((-12.0+16.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(4.0-12.0*xi+8.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = -12.0+16.0*xi+2.0*(12.0-16.0*xi)*eta+(36.0-48.0*xi+2.0*(-36.0+48.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = -8.0+24.0*xi-16.0*xi*xi+(24.0-72.0*xi+48.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (36.0-48.0*xi)*eta+(-36.0+48.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = -12.0+36.0*xi-24.0*xi*xi+2.0*(12.0-36.0*xi+24.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = 16.0*eta-16.0*eta*eta+(-48.0*eta+48.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = -4.0+16.0*xi+2.0*(4.0-16.0*xi)*eta+(12.0-48.0*xi+2.0*(-12.0+48.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = 8.0*xi-16.0*xi*xi+(-24.0*xi+48.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (12.0-48.0*xi)*eta+(-12.0+48.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 12.0*xi-24.0*xi*xi+2.0*(-12.0*xi+24.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (4.0-16.0*xi+2.0*(-4.0+16.0*xi)*eta)*zeta+(-8.0+32.0*xi+2.0*(8.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-8.0*xi+16.0*xi*xi)*zeta+(16.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (4.0-16.0*xi)*eta+(-4.0+16.0*xi)*eta*eta+2.0*((-8.0+32.0*xi)*eta+(8.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = 4.0*xi-8.0*xi*xi+2.0*(-4.0*xi+8.0*xi*xi)*eta+2.0*(-8.0*xi+16.0*xi*xi+2.0*(8.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-8.0*xi+16.0*xi*xi)*eta+2.0*(8.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-16.0*eta+16.0*eta*eta)*zeta+(32.0*eta-32.0*eta*eta)*zeta*zeta; + return_value[0][1] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[1][0] = (12.0-16.0*xi+2.0*(-12.0+16.0*xi)*eta)*zeta+(-24.0+32.0*xi+2.0*(24.0-32.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (8.0-24.0*xi+16.0*xi*xi)*zeta+(-16.0+48.0*xi-32.0*xi*xi)*zeta*zeta; + return_value[1][2] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][0] = (12.0-16.0*xi)*eta+(-12.0+16.0*xi)*eta*eta+2.0*((-24.0+32.0*xi)*eta+(24.0-32.0*xi)*eta*eta)*zeta; + return_value[2][1] = -4.0+12.0*xi-8.0*xi*xi+2.0*(4.0-12.0*xi+8.0*xi*xi)*eta+2.0*(8.0-24.0*xi+16.0*xi*xi+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(8.0-24.0*xi+16.0*xi*xi)*eta+2.0*(-8.0+24.0*xi-16.0*xi*xi)*eta*eta; + return_value[0][0] = (-32.0+96.0*eta-64.0*eta*eta)*zeta+(32.0-96.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-48.0+96.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(48.0-96.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = 16.0-32.0*xi+(-48.0+96.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*(-16.0+32.0*xi+(48.0-96.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(48.0*xi-48.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = -32.0*xi+32.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = (32.0*eta-64.0*eta*eta)*zeta+(-32.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-16.0+32.0*xi+2.0*(32.0-64.0*xi)*eta)*zeta+(16.0-32.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (64.0*xi-64.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-16.0+32.0*xi)*eta+(32.0-64.0*xi)*eta*eta+2.0*((16.0-32.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-16.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = -32.0*eta+32.0*eta*eta+(96.0*eta-96.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = 16.0-32.0*xi+2.0*(-16.0+32.0*xi)*eta+(-48.0+96.0*xi+2.0*(48.0-96.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = -32.0*xi+32.0*xi*xi+(96.0*xi-96.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-48.0+96.0*xi)*eta+(48.0-96.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = -48.0*xi+48.0*xi*xi+2.0*(48.0*xi-48.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-16.0+64.0*xi+2.0*(16.0-64.0*xi)*eta)*zeta+(16.0-64.0*xi+2.0*(-16.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (32.0*xi-64.0*xi*xi)*zeta+(-32.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-16.0+64.0*xi)*eta+(16.0-64.0*xi)*eta*eta+2.0*((16.0-64.0*xi)*eta+(-16.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = -16.0*xi+32.0*xi*xi+2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(16.0*xi-32.0*xi*xi+2.0*(-16.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(16.0*xi-32.0*xi*xi)*eta+2.0*(-16.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = (32.0*eta-32.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-16.0+32.0*xi+2.0*(16.0-32.0*xi)*eta)*zeta+(32.0-64.0*xi+2.0*(-32.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (32.0*xi-32.0*xi*xi)*zeta+(-64.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-16.0+32.0*xi)*eta+(16.0-32.0*xi)*eta*eta+2.0*((32.0-64.0*xi)*eta+(-32.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = -16.0*xi+16.0*xi*xi+2.0*(16.0*xi-16.0*xi*xi)*eta+2.0*(32.0*xi-32.0*xi*xi+2.0*(-32.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(32.0*xi-32.0*xi*xi)*eta+2.0*(-32.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = (64.0*eta-64.0*eta*eta)*zeta+(-64.0*eta+64.0*eta*eta)*zeta*zeta; + return_value[0][1] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta; + return_value[1][0] = (-48.0+64.0*xi+2.0*(48.0-64.0*xi)*eta)*zeta+(48.0-64.0*xi+2.0*(-48.0+64.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-32.0+96.0*xi-64.0*xi*xi)*zeta+(32.0-96.0*xi+64.0*xi*xi)*zeta*zeta; + return_value[1][2] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][0] = (-48.0+64.0*xi)*eta+(48.0-64.0*xi)*eta*eta+2.0*((48.0-64.0*xi)*eta+(-48.0+64.0*xi)*eta*eta)*zeta; + return_value[2][1] = 16.0-48.0*xi+32.0*xi*xi+2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(-16.0+48.0*xi-32.0*xi*xi+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-16.0+48.0*xi-32.0*xi*xi)*eta+2.0*(16.0-48.0*xi+32.0*xi*xi)*eta*eta; + return_value[0][0] = (-128.0*eta+128.0*eta*eta)*zeta+(128.0*eta-128.0*eta*eta)*zeta*zeta; + return_value[0][1] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta; + return_value[0][2] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta; + return_value[1][0] = (64.0-128.0*xi+2.0*(-64.0+128.0*xi)*eta)*zeta+(-64.0+128.0*xi+2.0*(64.0-128.0*xi)*eta)*zeta*zeta; + return_value[1][1] = (-128.0*xi+128.0*xi*xi)*zeta+(128.0*xi-128.0*xi*xi)*zeta*zeta; + return_value[1][2] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta; + return_value[2][0] = (64.0-128.0*xi)*eta+(-64.0+128.0*xi)*eta*eta+2.0*((-64.0+128.0*xi)*eta+(64.0-128.0*xi)*eta*eta)*zeta; + return_value[2][1] = 64.0*xi-64.0*xi*xi+2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(-64.0*xi+64.0*xi*xi+2.0*(64.0*xi-64.0*xi*xi)*eta)*zeta; + return_value[2][2] = 2.0*(-64.0*xi+64.0*xi*xi)*eta+2.0*(64.0*xi-64.0*xi*xi)*eta*eta; + break; }; return return_value; @@ -2808,7 +2808,7 @@ void FEQ2<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEQ2<3>::get_unit_support_points (vector > &unit_points) const +void FEQ2<3>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -2846,19 +2846,19 @@ void FEQ2<3>::get_unit_support_points (vector > &unit_points) const template <> void FEQ2<3>::get_support_points (const DoFHandler<3>::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); const Point<3> vertices[8] = { cell->vertex(0), - cell->vertex(1), - cell->vertex(2), - cell->vertex(3), - cell->vertex(4), - cell->vertex(5), - cell->vertex(6), - cell->vertex(7) }; + cell->vertex(1), + cell->vertex(2), + cell->vertex(3), + cell->vertex(4), + cell->vertex(5), + cell->vertex(6), + cell->vertex(7) }; support_points[0](0) = vertices[0](0); support_points[0](1) = vertices[0](1); @@ -2947,7 +2947,7 @@ void FEQ2<3>::get_support_points (const DoFHandler<3>::cell_iterator &cell, template <> void FEQ2<3>::get_face_support_points (const DoFHandler<3>::face_iterator &face, - vector > &support_points) const + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_face, ExcWrongFieldDimension (support_points.size(), dofs_per_face)); diff --git a/deal.II/deal.II/source/fe/fe_lib.quartic.cc b/deal.II/deal.II/source/fe/fe_lib.quartic.cc index 8e45532d87..a492010449 100644 --- a/deal.II/deal.II/source/fe/fe_lib.quartic.cc +++ b/deal.II/deal.II/source/fe/fe_lib.quartic.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -28,7 +28,7 @@ template <> void FEQ4::initialize_matrices (); template <> FEQ4<1>::FEQ4 () : FEQ1Mapping<1> (1, 3, 0, 0, 1, - vector (1, false)) + std::vector (1, false)) { initialize_matrices (); }; @@ -37,7 +37,7 @@ FEQ4<1>::FEQ4 () : template <> FEQ4<1>::FEQ4 (const int) : FEQ1Mapping<1> (0, 5, 0, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -85,7 +85,7 @@ void FEQ4<1>::initialize_matrices () template <> double FEQ4<1>::shape_value(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i::shape_value(const unsigned int i, template <> Tensor<1,1> FEQ4<1>::shape_grad(const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert((i::shape_grad(const unsigned int i, template <> Tensor<2,1> FEQ4<1>::shape_grad_grad (const unsigned int i, - const Point<1> &p) const + const Point<1> &p) const { Assert (i::shape_grad_grad (const unsigned int i, template <> -void FEQ4<1>::get_unit_support_points (vector > &unit_points) const { +void FEQ4<1>::get_unit_support_points (std::vector > &unit_points) const { FiniteElement<1>::get_unit_support_points (unit_points); }; template <> void FEQ4<1>::get_support_points (const DoFHandler<1>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { FiniteElement<1>::get_support_points (cell, support_points); }; template <> void FEQ4<1>::get_face_support_points (const DoFHandler<1>::face_iterator &, - vector > &) const { + std::vector > &) const { Assert (false, ExcInternalError()); }; template <> void FEQ4<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -221,7 +221,7 @@ void FEQ4<1>::get_local_mass_matrix (const DoFHandler<1>::cell_iterator &cell, template <> FEQ4<2>::FEQ4 () : FEQ1Mapping<2> (1, 3, 9, 0, 1, - vector (1, false)) + std::vector (1, false)) { interface_constraints(0,3) = 1.0; interface_constraints(1,0) = 35.0/128.0; @@ -254,7 +254,7 @@ FEQ4<2>::FEQ4 () : template <> FEQ4<2>::FEQ4 (const int) : FEQ1Mapping<2> (0, 0, 25, 0, 1, - vector (1, true)) + std::vector (1, true)) { initialize_matrices (); }; @@ -982,7 +982,7 @@ void FEQ4<2>::initialize_matrices () template <> double FEQ4<2>::shape_value (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_value (const unsigned int i, template <> Tensor<1,2> FEQ4<2>::shape_grad (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_grad (const unsigned int i, template <> Tensor<2,2> FEQ4<2>::shape_grad_grad (const unsigned int i, - const Point<2> &p) const + const Point<2> &p) const { Assert (i::shape_grad_grad (const unsigned int i, template <> void FEQ4<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, - FullMatrix &local_mass_matrix) const { + FullMatrix &local_mass_matrix) const { Assert (local_mass_matrix.n() == dofs_per_cell, ExcWrongFieldDimension(local_mass_matrix.n(),dofs_per_cell)); Assert (local_mass_matrix.m() == dofs_per_cell, @@ -2601,7 +2601,7 @@ void FEQ4<2>::get_local_mass_matrix (const DoFHandler<2>::cell_iterator &cell, template <> -void FEQ4<2>::get_unit_support_points (vector > &unit_points) const { +void FEQ4<2>::get_unit_support_points (std::vector > &unit_points) const { Assert (unit_points.size() == dofs_per_cell, ExcWrongFieldDimension (unit_points.size(), dofs_per_cell)); @@ -2635,7 +2635,7 @@ void FEQ4<2>::get_unit_support_points (vector > &unit_points) const { template <> void FEQ4<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_cell, ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); @@ -2743,7 +2743,7 @@ void FEQ4<2>::get_support_points (const DoFHandler<2>::cell_iterator &cell, template <> void FEQ4<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, - vector > &support_points) const { + std::vector > &support_points) const { Assert (support_points.size() == dofs_per_face, ExcWrongFieldDimension (support_points.size(), dofs_per_face)); @@ -2767,7 +2767,7 @@ void FEQ4<2>::get_face_support_points (const DoFHandler<2>::face_iterator &face, template <> FEQ4<3>::FEQ4 () : FEQ1Mapping<3> (1, 3, 9, 27, 1, - vector (1, false)) + std::vector (1, false)) { Assert (false, ExcNotImplemented()); }; @@ -2776,7 +2776,7 @@ FEQ4<3>::FEQ4 () : template <> FEQ4<3>::FEQ4 (const int) : FEQ1Mapping<3> (0, 0, 0, 64, 1, - vector (1, true)) + std::vector (1, true)) { Assert (false, ExcNotImplemented()); }; @@ -2829,7 +2829,7 @@ FEQ4<3>::get_local_mass_matrix (const DoFHandler<3>::cell_iterator &, template <> -void FEQ4<3>::get_unit_support_points (vector > &) const +void FEQ4<3>::get_unit_support_points (std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -2837,7 +2837,7 @@ void FEQ4<3>::get_unit_support_points (vector > &) const template <> void FEQ4<3>::get_support_points (const DoFHandler<3>::cell_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; @@ -2845,7 +2845,7 @@ void FEQ4<3>::get_support_points (const DoFHandler<3>::cell_iterator &, template <> void FEQ4<3>::get_face_support_points (const DoFHandler<3>::face_iterator &, - vector > &) const + std::vector > &) const { Assert (false, ExcNotImplemented()); }; diff --git a/deal.II/deal.II/source/fe/fe_system.cc b/deal.II/deal.II/source/fe/fe_system.cc index b91fe98f89..9018115f87 100644 --- a/deal.II/deal.II/source/fe/fe_system.cc +++ b/deal.II/deal.II/source/fe/fe_system.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -60,9 +60,9 @@ FESystem::build_cell_table() ++local_index) { system_to_component_table[total_index++] - = make_pair (comp_start+m, - vertex_number*base_element(base).dofs_per_vertex - +local_index); + = std::make_pair (comp_start+m, + vertex_number*base_element(base).dofs_per_vertex + +local_index); } } comp_start += element_multiplicity(base); @@ -71,7 +71,7 @@ FESystem::build_cell_table() // 2. Lines for (unsigned int line_number= 0 ; ((line_number != GeometryInfo::lines_per_cell) && - (GeometryInfo::lines_per_cell > 0)); + (GeometryInfo::lines_per_cell > 0)); ++line_number) { unsigned comp_start = 0; @@ -85,7 +85,7 @@ FESystem::build_cell_table() ++local_index) { system_to_component_table[total_index++] - = pair + = std::pair (comp_start+m, line_number*base_element(base).dofs_per_line +local_index+base_element(base).first_line_index); @@ -112,9 +112,9 @@ FESystem::build_cell_table() ++local_index) { system_to_component_table[total_index++] - = make_pair (comp_start+m, - quad_number*base_element(base).dofs_per_quad - +local_index+base_element(base).first_quad_index); + = std::make_pair (comp_start+m, + quad_number*base_element(base).dofs_per_quad + +local_index+base_element(base).first_quad_index); } } comp_start += element_multiplicity(base); @@ -138,9 +138,9 @@ FESystem::build_cell_table() ++local_index) { system_to_component_table[total_index++] - = make_pair (comp_start+m, - hex_number*base_element(base).dofs_per_hex - +local_index+base_element(base).first_hex_index); + = std::make_pair (comp_start+m, + hex_number*base_element(base).dofs_per_hex + +local_index+base_element(base).first_hex_index); } } comp_start += element_multiplicity(base); @@ -191,7 +191,7 @@ FESystem::build_face_table() ++local_index) { face_system_to_component_table[total_index++] - = pair + = std::pair (comp_start+m, vertex_number*base_element(base).dofs_per_vertex+local_index); } @@ -218,7 +218,7 @@ FESystem::build_face_table() ++local_index) { face_system_to_component_table[total_index++] - = pair + = std::pair (comp_start+m, line_number*base_element(base).dofs_per_line +local_index+base_element(base).first_face_line_index); @@ -246,7 +246,7 @@ FESystem::build_face_table() ++local_index) { face_system_to_component_table[total_index++] - = pair + = std::pair (comp_start+m, quad_number*base_element(base).dofs_per_quad +local_index+base_element(base).first_face_quad_index); @@ -298,10 +298,10 @@ void FESystem::build_interface_constraints () // // first value in pair is component, // second is index - const pair n_index + const std::pair n_index = face_system_to_component_index (n); - pair m_index; + std::pair m_index; switch (dim) { case 1: @@ -350,12 +350,12 @@ void FESystem::build_interface_constraints () (GeometryInfo<2>::vertices_per_cell * dofs_per_vertex + index_in_line).second - base_element (component_to_base_table[m_index.first]).first_line_index) - // then add the number of dofs - // per vertex to get the index - // on the first line + // then add the number of dofs + // per vertex to get the index + // on the first line + base_element(component_to_base_table[m_index.first]).dofs_per_vertex - // if on the second line: add - // some more + // if on the second line: add + // some more + base_element(component_to_base_table[m_index.first]).dofs_per_line * sub_line; }; break; @@ -670,11 +670,11 @@ FESystem<3>::multiply_dof_numbers (const FiniteElementData<3> &fe1, template -vector +std::vector FESystem::compute_restriction_is_additive_flags (const FiniteElement &fe, const unsigned int n_elements) { - vector tmp; + std::vector tmp; for (unsigned int i=0; i::compute_restriction_is_additive_flags (const FiniteElement & template -vector +std::vector FESystem::compute_restriction_is_additive_flags (const FiniteElement &fe1, const unsigned int N1, const FiniteElement &fe2, const unsigned int N2) { - vector tmp; + std::vector tmp; for (unsigned int i=0; i::compute_restriction_is_additive_flags (const FiniteElement & template -vector +std::vector FESystem::compute_restriction_is_additive_flags (const FiniteElement &fe1, const unsigned int N1, const FiniteElement &fe2, @@ -709,7 +709,7 @@ FESystem::compute_restriction_is_additive_flags (const FiniteElement & const FiniteElement &fe3, const unsigned int N3) { - vector tmp; + std::vector tmp; for (unsigned int i=0; i::shape_value (const unsigned int i, { Assert((i comp = system_to_component_index(i); + std::pair comp = system_to_component_index(i); return base_element(component_to_base_table[comp.first]) .shape_value(comp.second, p); @@ -744,7 +744,7 @@ FESystem::shape_grad (const unsigned int i, { Assert((i comp = system_to_component_index(i); + std::pair comp = system_to_component_index(i); return base_element(component_to_base_table[comp.first]) .shape_grad(comp.second, p); @@ -755,11 +755,11 @@ template Tensor<2,dim> FESystem::shape_grad_grad (const unsigned int i, const Point &p) const - { +{ Assert((i comp = system_to_component_index(i); + std::pair comp = system_to_component_index(i); return base_element(component_to_base_table[comp.first]) .shape_grad_grad(comp.second, p); @@ -768,14 +768,14 @@ FESystem::shape_grad_grad (const unsigned int i, template void FESystem::get_unit_support_points ( - vector > &unit_support_points) const + std::vector > &unit_support_points) const { Assert(unit_support_points.size() == dofs_per_cell, typename FiniteElementBase:: ExcWrongFieldDimension (unit_support_points.size(), dofs_per_cell)); - vector > base_unit_support_points (base_element(0).dofs_per_cell); + std::vector > base_unit_support_points (base_element(0).dofs_per_cell); unsigned int component = 0; for (unsigned int base_el=0 ; base_el::get_unit_support_points ( template void FESystem::get_support_points (const DoFHandler::cell_iterator &cell, - vector > &support_points) const + std::vector > &support_points) const { Assert(support_points.size() == dofs_per_cell, typename FiniteElementBase:: ExcWrongFieldDimension (support_points.size(), dofs_per_cell)); - vector > base_support_points (base_element(0).dofs_per_cell); + std::vector > base_support_points (base_element(0).dofs_per_cell); unsigned int component = 0; for (unsigned int base_el=0 ; base_el::get_support_points (const DoFHandler::cell_iterator &ce template void FESystem::get_face_support_points (const DoFHandler::face_iterator & face, - vector > & support_points) const + std::vector > & support_points) const { Assert (support_points.size() == dofs_per_face, typename FiniteElementBase:: ExcWrongFieldDimension (support_points.size(), dofs_per_face)); - vector > base_support_points (base_element(0).dofs_per_face); + std::vector > base_support_points (base_element(0).dofs_per_face); unsigned int comp = 0; for (unsigned int base=0 ; base::get_face_support_points (const DoFHandler::face_iterato = base_support_points[i]; } - ++comp; + ++comp; } } } @@ -914,7 +914,7 @@ void FESystem::get_local_mass_matrix (const DoFHandler::cell_iterator { for (unsigned int i=0; i FESystem::shape_grad_transform (const unsigned int i, template void FESystem::get_face_jacobians (const DoFHandler::face_iterator &face, - const vector > &unit_points, - vector &face_jacobi_determinants) const + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const { base_elements[0].first->get_face_jacobians (face, unit_points, face_jacobi_determinants); @@ -972,22 +972,22 @@ void FESystem::get_face_jacobians (const DoFHandler::face_iterator &fa template void FESystem::get_subface_jacobians (const DoFHandler::face_iterator &face, const unsigned int subface_no, - const vector > &unit_points, - vector &face_jacobi_determinants) const + const std::vector > &unit_points, + std::vector &face_jacobi_determinants) const { base_elements[0].first->get_subface_jacobians (face, subface_no, unit_points, - face_jacobi_determinants); + face_jacobi_determinants); }; template void FESystem::get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const + const std::vector > &unit_points, + std::vector > &normal_vectors) const { base_elements[0].first->get_normal_vectors (cell, face_no, unit_points, - normal_vectors); + normal_vectors); }; @@ -995,37 +995,37 @@ template void FESystem::get_normal_vectors (const DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, - const vector > &unit_points, - vector > &normal_vectors) const + const std::vector > &unit_points, + std::vector > &normal_vectors) const { base_elements[0].first->get_normal_vectors (cell, face_no, subface_no, unit_points, - normal_vectors); + normal_vectors); }; template void FESystem::fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_grad_transform) const + const std::vector > > &shape_grad_transform) const { // if we are to compute the support // points, then we need to get them // from each base element. the // following variable is used as // temporary - vector > supp(compute_support_points ? - base_elements[0].first->dofs_per_cell : - 0); + std::vector > supp(compute_support_points ? + base_elements[0].first->dofs_per_cell : + 0); base_elements[0].first->fill_fe_values (cell, unit_points, jacobians, compute_jacobians, jacobians_grad, compute_jacobians_grad, diff --git a/deal.II/deal.II/source/fe/fe_tools.cc b/deal.II/deal.II/source/fe/fe_tools.cc index 63ad0ced20..f72796dc7f 100644 --- a/deal.II/deal.II/source/fe/fe_tools.cc +++ b/deal.II/deal.II/source/fe/fe_tools.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -42,8 +42,8 @@ void FETools::get_interpolation_matrix(const FiniteElement &fe1, // Initialize FEValues for fe1 at // the unit support points of the // fe2 element. - vector phantom_weights(fe2.dofs_per_cell,1.); - vector > fe2_support_points (fe2.dofs_per_cell); + std::vector phantom_weights(fe2.dofs_per_cell,1.); + std::vector > fe2_support_points (fe2.dofs_per_cell); fe2.get_unit_support_points (fe2_support_points); Quadrature fe2_support_points_quadrature(fe2_support_points, phantom_weights); @@ -117,7 +117,7 @@ void FETools::get_interpolation_difference_matrix(const FiniteElement &fe1, for (unsigned int i=0; i &dof1, cell2 = dof2.begin_active(), endc2 = dof2.end(); - vector index_multiplicity(dof2.n_dofs(),0); - vector dofs (dofs_per_cell2); + std::vector index_multiplicity(dof2.n_dofs(),0); + std::vector dofs (dofs_per_cell2); u2.clear (); for (; cell1!=endc1, cell2!=endc2; ++cell1, ++cell2) diff --git a/deal.II/deal.II/source/fe/fe_values.cc b/deal.II/deal.II/source/fe/fe_values.cc index c93fc08039..c61e3d3966 100644 --- a/deal.II/deal.II/source/fe/fe_values.cc +++ b/deal.II/deal.II/source/fe/fe_values.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -40,8 +40,8 @@ FEValuesBase::FEValuesBase (const unsigned int n_q_points, dofs_per_cell (dofs_per_cell), n_transform_functions (n_transform_functions), shape_values (n_values_arrays, FullMatrix(dofs_per_cell, n_q_points)), - shape_gradients (dofs_per_cell, vector >(n_q_points)), - shape_2nd_derivatives (dofs_per_cell, vector >(n_q_points)), + shape_gradients (dofs_per_cell, std::vector >(n_q_points)), + shape_2nd_derivatives (dofs_per_cell, std::vector >(n_q_points)), weights (n_q_points, 0), JxW_values (n_q_points, 0), quadrature_points (n_q_points, Point()), @@ -78,7 +78,7 @@ double FEValuesBase::shape_value (const unsigned int i, template template void FEValuesBase::get_function_values (const InputVector &fe_function, - vector &values) const + std::vector &values) const { Assert (fe->n_components() == 1, ExcWrongNoOfComponents()); @@ -112,7 +112,7 @@ void FEValuesBase::get_function_values (const InputVector &fe_function, template template void FEValuesBase::get_function_values (const InputVector &fe_function, - vector > &values) const + std::vector > &values) const { Assert (n_quadrature_points == values.size(), ExcWrongVectorSize(values.size(), n_quadrature_points)); @@ -133,7 +133,7 @@ void FEValuesBase::get_function_values (const InputVector &fe_functio // initialize with zero for (unsigned i=0;i::shape_grad (const unsigned int i, template template void FEValuesBase::get_function_grads (const InputVector &fe_function, - vector > &gradients) const + std::vector > &gradients) const { Assert (fe->n_components() == 1, ExcWrongNoOfComponents()); @@ -199,7 +199,7 @@ void FEValuesBase::get_function_grads (const InputVector &fe_function, template template void FEValuesBase::get_function_grads (const InputVector &fe_function, - vector > > &gradients) const + std::vector > > &gradients) const { Assert (n_quadrature_points == gradients.size(), ExcWrongNoOfComponents()); @@ -255,7 +255,7 @@ FEValuesBase::shape_2nd_derivative (const unsigned int i, template template void FEValuesBase::get_function_2nd_derivatives (const InputVector &fe_function, - vector > &second_derivatives) const + std::vector > &second_derivatives) const { Assert (fe->n_components() == 1, ExcWrongNoOfComponents()); @@ -292,7 +292,7 @@ template void FEValuesBase:: get_function_2nd_derivatives (const InputVector &fe_function, - vector > > &second_derivs) const + std::vector > > &second_derivs) const { Assert (n_quadrature_points == second_derivs.size(), ExcWrongNoOfComponents()); @@ -400,13 +400,13 @@ FEValues::FEValues (const FiniteElement &fe, 1, update_flags, fe), - unit_shape_gradients(fe.dofs_per_cell, - vector >(quadrature.n_quadrature_points)), - unit_shape_2nd_derivatives(fe.dofs_per_cell, - vector >(quadrature.n_quadrature_points)), - unit_shape_gradients_transform(fe.n_transform_functions(), - vector >(quadrature.n_quadrature_points)), - unit_quadrature_points(quadrature.get_points()) + unit_shape_gradients(fe.dofs_per_cell, + std::vector >(quadrature.n_quadrature_points)), + unit_shape_2nd_derivatives(fe.dofs_per_cell, + std::vector >(quadrature.n_quadrature_points)), + unit_shape_gradients_transform(fe.n_transform_functions(), + std::vector >(quadrature.n_quadrature_points)), + unit_quadrature_points(quadrature.get_points()) { Assert ((update_flags & update_normal_vectors) == false, typename FEValuesBase::ExcInvalidUpdateFlag()); @@ -496,7 +496,7 @@ void FEValues::reinit (const typename DoFHandler::cell_iterator &cell) for (unsigned int i=0; idofs_per_cell; ++i) for (unsigned int j=0; j::FEFaceValuesBase (const unsigned int n_q_points, n_faces_or_subfaces, update_flags, fe), - unit_shape_gradients (n_faces_or_subfaces, - vector > >(dofs_per_cell, - vector >(n_q_points))), - unit_shape_2nd_derivatives(n_faces_or_subfaces, - vector > >(dofs_per_cell, - vector >(n_q_points))), - unit_shape_gradients_transform (n_faces_or_subfaces, - vector > >(n_transform_functions, - vector >(n_q_points))), - unit_face_quadrature_points (n_q_points, Point()), - unit_quadrature_points (n_faces_or_subfaces, - vector >(n_q_points, Point())), - face_jacobi_determinants (n_q_points, 0), - normal_vectors (n_q_points) + unit_shape_gradients (n_faces_or_subfaces, + std::vector > >(dofs_per_cell, + std::vector >(n_q_points))), + unit_shape_2nd_derivatives(n_faces_or_subfaces, + std::vector > >(dofs_per_cell, + std::vector >(n_q_points))), + unit_shape_gradients_transform (n_faces_or_subfaces, + std::vector > >(n_transform_functions, + std::vector >(n_q_points))), + unit_face_quadrature_points (n_q_points, Point()), + unit_quadrature_points (n_faces_or_subfaces, + std::vector >(n_q_points, Point())), + face_jacobi_determinants (n_q_points, 0), + normal_vectors (n_q_points) {}; @@ -815,8 +815,8 @@ FESubfaceValues::FESubfaceValues (const FiniteElement &fe, if (update_flags & update_second_derivatives) unit_shape_2nd_derivatives[face*GeometryInfo::subfaces_per_face+subface][i][j] = fe.shape_grad_grad(i, unit_quadrature_points[face * - GeometryInfo:: - subfaces_per_face+subface][j]); + GeometryInfo:: + subfaces_per_face+subface][j]); }; for (unsigned int i=0; i; template void FEValuesBase::get_function_values (const Vector &, - vector &) const; + std::vector &) const; template void FEValuesBase::get_function_values (const Vector &, - vector &) const; + std::vector &) const; template void FEValuesBase::get_function_values (const BlockVector &, - vector &) const; + std::vector &) const; //----------------------------------------------------------------------------- template void FEValuesBase::get_function_values (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_values (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_values (const BlockVector &, - vector > &) const; + std::vector > &) const; //----------------------------------------------------------------------------- template void FEValuesBase::get_function_grads (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_grads (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_grads (const BlockVector &, - vector > &) const; + std::vector > &) const; //----------------------------------------------------------------------------- template void FEValuesBase::get_function_grads (const Vector &, - vector > > &) const; + std::vector > > &) const; template void FEValuesBase::get_function_grads (const Vector &, - vector > > &) const; + std::vector > > &) const; template void FEValuesBase::get_function_grads (const BlockVector &, - vector > > &) const; + std::vector > > &) const; //----------------------------------------------------------------------------- template void FEValuesBase::get_function_2nd_derivatives (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_2nd_derivatives (const Vector &, - vector > &) const; + std::vector > &) const; template void FEValuesBase::get_function_2nd_derivatives (const BlockVector &, - vector > &) const; + std::vector > &) const; //----------------------------------------------------------------------------- template void FEValuesBase::get_function_2nd_derivatives (const Vector &, - vector > > &) const; + std::vector > > &) const; template void FEValuesBase::get_function_2nd_derivatives (const Vector &, - vector > > &) const; + std::vector > > &) const; template void FEValuesBase::get_function_2nd_derivatives (const BlockVector &, - vector > > &) const; + std::vector > > &) const; diff --git a/deal.II/deal.II/source/fe/q1_mapping.cc b/deal.II/deal.II/source/fe/q1_mapping.cc index e0e42046e6..d886e68c31 100644 --- a/deal.II/deal.II/source/fe/q1_mapping.cc +++ b/deal.II/deal.II/source/fe/q1_mapping.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -33,7 +33,7 @@ FEQ1Mapping<1>::FEQ1Mapping (const unsigned int dofs_per_vertex, const unsigned int dofs_per_quad, const unsigned int dofs_per_hex, const unsigned int n_components, - const vector &restriction_is_additive_flags) : + const std::vector &restriction_is_additive_flags) : FiniteElement<1> (FiniteElementData<1> (dofs_per_vertex, dofs_per_line, GeometryInfo<1>::vertices_per_cell, @@ -78,8 +78,8 @@ FEQ1Mapping<1>::shape_grad_transform(const unsigned int i, template <> void FEQ1Mapping<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &, - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcInternalError()); }; @@ -87,8 +87,8 @@ void FEQ1Mapping<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &, template <> void FEQ1Mapping<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &, const unsigned int , - const vector > &, - vector &) const { + const std::vector > &, + std::vector &) const { Assert (false, ExcInternalError()); }; @@ -96,8 +96,8 @@ void FEQ1Mapping<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator & template <> void FEQ1Mapping<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcInternalError()); }; @@ -106,25 +106,25 @@ template <> void FEQ1Mapping<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &, const unsigned int, const unsigned int, - const vector > &, - vector > &) const { + const std::vector > &, + std::vector > &) const { Assert (false, ExcInternalError()); }; template <> void FEQ1Mapping<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_gradients_transform) const { + const std::vector > > &shape_gradients_transform) const { // simply pass down FiniteElement<1>::fill_fe_values (cell, unit_points, jacobians, compute_jacobians, @@ -146,7 +146,7 @@ FEQ1Mapping<2>::FEQ1Mapping (const unsigned int dofs_per_vertex, const unsigned int dofs_per_quad, const unsigned int dofs_per_hex, const unsigned int n_components, - const vector &restriction_is_additive_flags) : + const std::vector &restriction_is_additive_flags) : FiniteElement<2> (FiniteElementData<2> (dofs_per_vertex, dofs_per_line, dofs_per_quad, @@ -194,8 +194,8 @@ FEQ1Mapping<2>::shape_grad_transform (const unsigned int i, template <> void FEQ1Mapping<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face, - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { // more or less copied from the linear // finite element Assert (unit_points.size() == face_jacobians.size(), @@ -215,8 +215,8 @@ void FEQ1Mapping<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &fac template <> void FEQ1Mapping<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &face, const unsigned int , - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { // more or less copied from the linear // finite element Assert (unit_points.size() == face_jacobians.size(), @@ -238,8 +238,8 @@ void FEQ1Mapping<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator & template <> void FEQ1Mapping<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { // more or less copied from the linear // finite element Assert (unit_points.size() == normal_vectors.size(), @@ -269,8 +269,8 @@ template <> void FEQ1Mapping<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell, const unsigned int face_no, const unsigned int, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { // more or less copied from the linear // finite element // note, that in 2D the normal vectors to the @@ -311,7 +311,7 @@ FEQ1Mapping<3>::FEQ1Mapping (const unsigned int dofs_per_vertex, const unsigned int dofs_per_quad, const unsigned int dofs_per_hex, const unsigned int n_components, - const vector &restriction_is_additive_flags) : + const std::vector &restriction_is_additive_flags) : FiniteElement<3> (FiniteElementData<3> (dofs_per_vertex, dofs_per_line, dofs_per_quad, @@ -382,8 +382,8 @@ FEQ1Mapping<3>::shape_grad_transform (const unsigned int i, template <> void FEQ1Mapping<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &face, - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { Assert (unit_points.size() == face_jacobians.size(), ExcWrongFieldDimension (unit_points.size(), face_jacobians.size())); @@ -454,8 +454,8 @@ void FEQ1Mapping<3>::get_face_jacobians (const DoFHandler<3>::face_iterator &fac template <> void FEQ1Mapping<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator &/*face*/, const unsigned int , - const vector > &unit_points, - vector &face_jacobians) const { + const std::vector > &unit_points, + std::vector &face_jacobians) const { Assert (false, ExcWrongFieldDimension (unit_points.size(), face_jacobians.size())); }; @@ -464,8 +464,8 @@ void FEQ1Mapping<3>::get_subface_jacobians (const DoFHandler<3>::face_iterator & template <> void FEQ1Mapping<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &cell, const unsigned int face_no, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { Assert (unit_points.size() == normal_vectors.size(), ExcWrongFieldDimension (unit_points.size(), normal_vectors.size())); @@ -519,8 +519,8 @@ template <> void FEQ1Mapping<3>::get_normal_vectors (const DoFHandler<3>::cell_iterator &/*cell*/, const unsigned int /*face_no*/, const unsigned int, - const vector > &unit_points, - vector > &normal_vectors) const { + const std::vector > &unit_points, + std::vector > &normal_vectors) const { // more or less copied from the linear // finite element // note, that in 2D the normal vectors to the @@ -589,7 +589,7 @@ Point FEQ1Mapping::transform_real_to_unit_cell ( contract (d, df_1, f); p_unit -= d; - // f(x) + // f(x) p_real=transform_unit_to_real_cell(cell, p_unit); f = p_real-p; } @@ -600,17 +600,17 @@ Point FEQ1Mapping::transform_real_to_unit_cell ( template void FEQ1Mapping::fill_fe_values (const DoFHandler::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians, + const std::vector > &unit_points, + std::vector > &jacobians, const bool compute_jacobians, - vector > &jacobians_grad, + std::vector > &jacobians_grad, const bool compute_jacobians_grad, - vector > &support_points, + std::vector > &support_points, const bool compute_support_points, - vector > &q_points, + std::vector > &q_points, const bool compute_q_points, const FullMatrix &shape_values_transform, - const vector > > &shape_grad_transform) const + const std::vector > > &shape_grad_transform) const { Assert ((!compute_jacobians) || (jacobians.size() == unit_points.size()), typename FiniteElementBase::ExcWrongFieldDimension(jacobians.size(), @@ -659,85 +659,85 @@ void FEQ1Mapping::fill_fe_values (const DoFHandler::cell_iterator &cel /* jacobi matrices: compute d(x)/d(xi) and invert this Let M(l) be the inverse of J at the quadrature point l, then - M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j) - where p_i(s) is the i-th coordinate of the s-th vertex vector, + M_{ij}(l) = sum_s p_i(s) d(N_s(l))/d(xi_j) + where p_i(s) is the i-th coordinate of the s-th vertex std::vector, N_s(l) is the value of the s-th vertex shape function at the quadrature point l. We could therefore write: l=0..n_points-1 - i=0..dim-1 - j=0..dim-1 - M_{ij}(l) = 0 - s=0..n_vertices - M_{ij}(l) += p_i(s) d(N_s(l))/d(xi_j) - - However, we rewrite the loops to only compute the gradient once for - each integration point and basis function. - - One last note regarding whether we have to invert M or M transposed: it is - easy to try out, by computing the gradients of a function on a distorted - cell (just move one vertex) where the nodal values for linear elements - are one for the moved vertex and zero otherwise. Please also note that - when computing the gradients on the real cell, the jacobian matrix - is multiplied to the unit cell gradient *from the right*! be very careful - with these things. - - The following little program tests the correct behaviour. The program can - also be found in the directory. - - ------------------------------------------- - #include - #include - #include - #include - #include - #include - #include - #include - #include - - int main () { - Triangulation<2> tria; - tria.create_hypercube (0,1); - tria.begin_active()->vertex(2)(0) = 2; - - DoFHandler<2> dof(&tria); - FELinear<2> fe; - dof.distribute_dofs(fe); - - StraightBoundary<2> b; - QTrapez<2> q; - FEValues<2> fevalues(fe,q,update_gradients); - fevalues.reinit (dof.begin_active(),b); - - - Vector val(4); - val(2) = 1; - - vector > grads(4); - fevalues.get_function_grads (val, grads); - - for (unsigned int i=0; i<4; ++i) - cout << "Vertex " << i - << " grad=" << grads[i] << endl; - }; - --------------------------------------------- + i=0..dim-1 + j=0..dim-1 + M_{ij}(l) = 0 + s=0..n_vertices + M_{ij}(l) += p_i(s) d(N_s(l))/d(xi_j) + + However, we rewrite the loops to only compute the gradient once for + each integration point and basis function. + + One last note regarding whether we have to invert M or M transposed: it is + easy to try out, by computing the gradients of a function on a distorted + cell (just move one vertex) where the nodal values for linear elements + are one for the moved vertex and zero otherwise. Please also note that + when computing the gradients on the real cell, the jacobian matrix + is multiplied to the unit cell gradient *from the right*! be very careful + with these things. + + The following little program tests the correct behaviour. The program can + also be found in the directory. + + ------------------------------------------- + #include + #include + #include + #include + #include + #include + #include + #include + #include + + int main () { + Triangulation<2> tria; + tria.create_hypercube (0,1); + tria.begin_active()->vertex(2)(0) = 2; + + DoFHandler<2> dof(&tria); + FELinear<2> fe; + dof.distribute_dofs(fe); + + StraightBoundary<2> b; + QTrapez<2> q; + FEValues<2> fevalues(fe,q,update_gradients); + fevalues.reinit (dof.begin_active(),b); + + + Vector val(4); + val(2) = 1; + + std::vector > grads(4); + fevalues.get_function_grads (val, grads); + + for (unsigned int i=0; i<4; ++i) + std::cout << "Vertex " << i + << " grad=" << grads[i] << std::endl; + }; + --------------------------------------------- - The correct output should be - -------------------------------- - Vertex 0 grad=0 0 - Vertex 1 grad=0.5 0 - Vertex 2 grad=0 1 - Vertex 3 grad=0.5 0.5 - -------------------------------- - and the wrong would be - -------------------------------- - Vertex 0 grad=0 0 - Vertex 1 grad=0.5 0 - Vertex 2 grad=-1 1 - Vertex 3 grad=0 1 - -------------------------------- + The correct output should be + -------------------------------- + Vertex 0 grad=0 0 + Vertex 1 grad=0.5 0 + Vertex 2 grad=0 1 + Vertex 3 grad=0.5 0.5 + -------------------------------- + and the wrong would be + -------------------------------- + Vertex 0 grad=0 0 + Vertex 1 grad=0.5 0 + Vertex 2 grad=-1 1 + Vertex 3 grad=0 1 + -------------------------------- */ if (compute_jacobians) diff --git a/deal.II/deal.II/source/fe/q1_mapping.jacobians.cc b/deal.II/deal.II/source/fe/q1_mapping.jacobians.cc index 220b8ee59b..683332fee7 100644 --- a/deal.II/deal.II/source/fe/q1_mapping.jacobians.cc +++ b/deal.II/deal.II/source/fe/q1_mapping.jacobians.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -33,8 +33,8 @@ template <> void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_iterator &, - const vector > &unit_points, - vector > &jacobians_grad) + const std::vector > &unit_points, + std::vector > &jacobians_grad) { Assert (unit_points.size() == jacobians_grad.size(), ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size())); @@ -54,8 +54,8 @@ void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_itera template <> void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians_grad) + const std::vector > &unit_points, + std::vector > &jacobians_grad) { Assert (unit_points.size() == jacobians_grad.size(), ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size())); @@ -137,8 +137,8 @@ void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_itera template <> void FEQ1Mapping<3>::compute_jacobian_gradients (const DoFHandler<3>::cell_iterator &cell, - const vector > &unit_points, - vector > &jacobians_grad) + const std::vector > &unit_points, + std::vector > &jacobians_grad) { Assert (unit_points.size() == jacobians_grad.size(), ExcWrongFieldDimension(jacobians_grad.size(), unit_points.size())); diff --git a/deal.II/deal.II/source/grid/geometry_info.cc b/deal.II/deal.II/source/grid/geometry_info.cc index 62a8412a51..f4b94fb80f 100644 --- a/deal.II/deal.II/source/grid/geometry_info.cc +++ b/deal.II/deal.II/source/grid/geometry_info.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -21,11 +21,11 @@ // to mirror from the .h file. rather, we omit it here #if ! ((__GNUC__==2) && (__GNUC_MINOR__ < 95)) - const unsigned int GeometryInfo::vertices_per_cell; - const unsigned int GeometryInfo::lines_per_cell; - const unsigned int GeometryInfo::quads_per_cell; - const unsigned int GeometryInfo::hexes_per_cell; - const unsigned int GeometryInfo::children_per_cell; +const unsigned int GeometryInfo::vertices_per_cell; +const unsigned int GeometryInfo::lines_per_cell; +const unsigned int GeometryInfo::quads_per_cell; +const unsigned int GeometryInfo::hexes_per_cell; +const unsigned int GeometryInfo::children_per_cell; #endif diff --git a/deal.II/deal.II/source/grid/grid_generator.cc b/deal.II/deal.II/source/grid/grid_generator.cc index 013f528db0..cbd0fe50e8 100644 --- a/deal.II/deal.II/source/grid/grid_generator.cc +++ b/deal.II/deal.II/source/grid/grid_generator.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -24,12 +24,12 @@ void GridGenerator::hyper_cube<> (Triangulation<1> &tria, const double left, const double right) { const Point<1> vertices[2] = { Point<1>(left), Point<1>(right) }; - vector > cells (1, CellData<1>()); + std::vector > cells (1, CellData<1>()); cells[0].vertices[0] = 0; cells[0].vertices[1] = 1; cells[0].material_id = 0; - tria.create_triangulation (vector >(&vertices[0], &vertices[2]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[2]), cells, SubCellData()); // no boundary information }; @@ -84,16 +84,16 @@ void GridGenerator::hyper_cube<> (Triangulation<2> &tria, const double right) { const Point<2> vertices[4] = { Point<2>(left,left), - Point<2>(right,left), - Point<2>(right,right), - Point<2>(left,right) }; + Point<2>(right,left), + Point<2>(right,right), + Point<2>(left,right) }; const int cell_vertices[1][4] = { { 0,1,2,3 } }; - vector > cells (1, CellData<2>()); + std::vector > cells (1, CellData<2>()); for (unsigned int j=0; j<4; ++j) cells[0].vertices[j] = cell_vertices[0][j]; cells[0].material_id = 0; - tria.create_triangulation (vector >(&vertices[0], &vertices[4]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[4]), cells, SubCellData()); // no boundary information } @@ -107,7 +107,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<2> &tria, const double d, bool colorize) { - vector > vertices(16); + std::vector > vertices(16); double coords[4]; coords[0] = l-d; coords[1] = l; @@ -124,7 +124,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<2> &tria, 9, 8,10 }; - vector > cells(9); + std::vector > cells(9); k = 0; for (unsigned int i0=0;i0<3;++i0) for (unsigned int i1=0;i1<3;++i1) @@ -150,27 +150,27 @@ void GridGenerator::hyper_cube_slit<> (Triangulation<2> &tria, const double right) { const double rl2=(right+left)/2; const Point<2> vertices[10] = { Point<2>(left, left ), - Point<2>(rl2, left ), - Point<2>(rl2, rl2 ), - Point<2>(left, rl2 ), - Point<2>(right,left ), - Point<2>(right,rl2 ), - Point<2>(rl2, right), - Point<2>(left, right), - Point<2>(right,right), - Point<2>(rl2, left ) }; + Point<2>(rl2, left ), + Point<2>(rl2, rl2 ), + Point<2>(left, rl2 ), + Point<2>(right,left ), + Point<2>(right,rl2 ), + Point<2>(rl2, right), + Point<2>(left, right), + Point<2>(right,right), + Point<2>(rl2, left ) }; const int cell_vertices[4][4] = { { 0,1,2,3 }, { 9,4,5,2 }, { 3,2,6,7 }, { 2,5,8,6 } }; - vector > cells (4, CellData<2>()); + std::vector > cells (4, CellData<2>()); for (unsigned int i=0; i<4; ++i) { for (unsigned int j=0; j<4; ++j) cells[i].vertices[j] = cell_vertices[i][j]; cells[i].material_id = 0; }; - tria.create_triangulation (vector >(&vertices[0], &vertices[10]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[10]), cells, SubCellData()); // no boundary information }; @@ -183,18 +183,18 @@ void GridGenerator::hyper_L<> (Triangulation<2> &tria, const double b) { const unsigned int dim=2; const Point vertices[8] = { Point (a,a), - Point ((a+b)/2,a), - Point (b,a), - Point (a,(a+b)/2), - Point ((a+b)/2,(a+b)/2), - Point (b,(a+b)/2), - Point (a,b), - Point ((a+b)/2,b) }; + Point ((a+b)/2,a), + Point (b,a), + Point (a,(a+b)/2), + Point ((a+b)/2,(a+b)/2), + Point (b,(a+b)/2), + Point (a,b), + Point ((a+b)/2,b) }; const int cell_vertices[3][4] = {{0, 1, 4, 3}, {1, 2, 5, 4}, {3, 4, 7, 6}}; - vector > cells (3, CellData<2>()); + std::vector > cells (3, CellData<2>()); for (unsigned int i=0; i<3; ++i) { @@ -203,7 +203,7 @@ void GridGenerator::hyper_L<> (Triangulation<2> &tria, cells[i].material_id = 0; }; - tria.create_triangulation (vector >(&vertices[0], &vertices[8]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[8]), cells, SubCellData()); // no boundary information }; @@ -218,13 +218,13 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria, // from the inner part to the radial // cells const Point<2> vertices[8] = { p+Point<2>(-1,-1)*(radius/sqrt(2)), - p+Point<2>(+1,-1)*(radius/sqrt(2)), - p+Point<2>(-1,-1)*(radius/sqrt(2)*a), - p+Point<2>(+1,-1)*(radius/sqrt(2)*a), - p+Point<2>(-1,+1)*(radius/sqrt(2)*a), - p+Point<2>(+1,+1)*(radius/sqrt(2)*a), - p+Point<2>(-1,+1)*(radius/sqrt(2)), - p+Point<2>(+1,+1)*(radius/sqrt(2)) }; + p+Point<2>(+1,-1)*(radius/sqrt(2)), + p+Point<2>(-1,-1)*(radius/sqrt(2)*a), + p+Point<2>(+1,-1)*(radius/sqrt(2)*a), + p+Point<2>(-1,+1)*(radius/sqrt(2)*a), + p+Point<2>(+1,+1)*(radius/sqrt(2)*a), + p+Point<2>(-1,+1)*(radius/sqrt(2)), + p+Point<2>(+1,+1)*(radius/sqrt(2)) }; const int cell_vertices[5][4] = {{0, 1, 3, 2}, {0, 2, 4, 6}, @@ -232,7 +232,7 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria, {1, 7, 5, 3}, {6, 4, 5, 7}}; - vector > cells (5, CellData<2>()); + std::vector > cells (5, CellData<2>()); for (unsigned int i=0; i<5; ++i) { @@ -241,7 +241,7 @@ void GridGenerator::hyper_ball<> (Triangulation<2> &tria, cells[i].material_id = 0; }; - tria.create_triangulation (vector >(&vertices[0], &vertices[8]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[8]), cells, SubCellData()); // no boundary information }; @@ -281,7 +281,7 @@ void GridGenerator::hyper_shell<> (Triangulation<2> &tria, // first N ones are on the // outer one, and all are // numbered counter-clockwise - vector > vertices(2*N); + std::vector > vertices(2*N); for (unsigned int i=0; i( cos(2*pi * i/N), @@ -292,7 +292,7 @@ void GridGenerator::hyper_shell<> (Triangulation<2> &tria, vertices[i+N] += center; }; - vector > cells (N, CellData<2>()); + std::vector > cells (N, CellData<2>()); for (unsigned int i=0; i (Triangulation<2> &tria, // first N+1 ones are on the // outer one, and all are // numbered counter-clockwise - vector > vertices(2*(N+1)); + std::vector > vertices(2*(N+1)); for (unsigned int i=0; i<=N; ++i) { - // enforce that the x-coordinates - // of the first and last point of - // each half-circle are exactly - // zero (contrary to what we may - // compute using the imprecise - // value of pi) + // enforce that the x-coordinates + // of the first and last point of + // each half-circle are exactly + // zero (contrary to what we may + // compute using the imprecise + // value of pi) vertices[i] = Point<2>( ( (i==0) || (i==N) ? 0 : cos(pi * i/N - pi/2) ), @@ -361,7 +361,7 @@ void GridGenerator::half_hyper_shell<> (Triangulation<2> &tria, }; - vector > cells (N, CellData<2>()); + std::vector > cells (N, CellData<2>()); for (unsigned int i=0; i (Triangulation<3> &tria, const double left, const double right) { const Point<3> vertices[8] = { Point<3>(left,left,left), - Point<3>(right,left,left), - Point<3>(right,left,right), - Point<3>(left,left,right), - - Point<3>(left,right,left), - Point<3>(right,right,left), - Point<3>(right,right,right), - Point<3>(left,right,right)}; + Point<3>(right,left,left), + Point<3>(right,left,right), + Point<3>(left,left,right), + + Point<3>(left,right,left), + Point<3>(right,right,left), + Point<3>(right,right,right), + Point<3>(left,right,right)}; const int cell_vertices[1][8] = { { 0,1,2,3,4,5,6,7 } }; - vector > cells (1, CellData<3>()); + std::vector > cells (1, CellData<3>()); for (unsigned int j=0; j<8; ++j) cells[0].vertices[j] = cell_vertices[0][j]; cells[0].material_id = 0; - tria.create_triangulation (vector >(&vertices[0], &vertices[8]), - cells, - SubCellData()); // no boundary information + tria.create_triangulation (std::vector >(&vertices[0], &vertices[8]), + cells, + SubCellData()); // no boundary information }; @@ -425,7 +425,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<3> &tria, const double d, bool colorize) { - vector > vertices(64); + std::vector > vertices(64); double coords[4]; coords[0] = l-d; coords[1] = l; @@ -450,7 +450,7 @@ void GridGenerator::enclosed_hyper_cube (Triangulation<3> &tria, 41,40,42 }; - vector > cells(27); + std::vector > cells(27); k = 0; for (unsigned int i0=0;i0<3;++i0) for (unsigned int i1=0;i1<3;++i1) @@ -482,37 +482,37 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria, // part of the cube const Point vertices[26] = { - // front face of the big cube - Point (a, a,a), - Point ((a+b)/2,a,a), - Point (b, a,a), - Point (a, a,(a+b)/2), - Point ((a+b)/2,a,(a+b)/2), - Point (b, a,(a+b)/2), - Point (a, a,b), - Point ((a+b)/2,a,b), - Point (b, a,b), - // middle face of the big cube - Point (a, (a+b)/2,a), - Point ((a+b)/2,(a+b)/2,a), - Point (b, (a+b)/2,a), - Point (a, (a+b)/2,(a+b)/2), - Point ((a+b)/2,(a+b)/2,(a+b)/2), - Point (b, (a+b)/2,(a+b)/2), - Point (a, (a+b)/2,b), - Point ((a+b)/2,(a+b)/2,b), - Point (b, (a+b)/2,b), - // back face of the big cube - // last (top right) point is missing - Point (a, b,a), - Point ((a+b)/2,b,a), - Point (b, b,a), - Point (a, b,(a+b)/2), - Point ((a+b)/2,b,(a+b)/2), - Point (b, b,(a+b)/2), - Point (a, b,b), - Point ((a+b)/2,b,b) - }; + // front face of the big cube + Point (a, a,a), + Point ((a+b)/2,a,a), + Point (b, a,a), + Point (a, a,(a+b)/2), + Point ((a+b)/2,a,(a+b)/2), + Point (b, a,(a+b)/2), + Point (a, a,b), + Point ((a+b)/2,a,b), + Point (b, a,b), + // middle face of the big cube + Point (a, (a+b)/2,a), + Point ((a+b)/2,(a+b)/2,a), + Point (b, (a+b)/2,a), + Point (a, (a+b)/2,(a+b)/2), + Point ((a+b)/2,(a+b)/2,(a+b)/2), + Point (b, (a+b)/2,(a+b)/2), + Point (a, (a+b)/2,b), + Point ((a+b)/2,(a+b)/2,b), + Point (b, (a+b)/2,b), + // back face of the big cube + // last (top right) point is missing + Point (a, b,a), + Point ((a+b)/2,b,a), + Point (b, b,a), + Point (a, b,(a+b)/2), + Point ((a+b)/2,b,(a+b)/2), + Point (b, b,(a+b)/2), + Point (a, b,b), + Point ((a+b)/2,b,b) + }; const int cell_vertices[7][8] = {{0, 1, 4, 3, 9, 10, 13, 12}, {1, 2, 5, 4, 10, 11, 14, 13}, {3, 4, 7, 6, 12, 13, 16, 15}, @@ -521,7 +521,7 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria, {10, 11, 14, 13, 19, 20, 23, 22}, {12, 13, 16, 15, 21, 22, 25, 24}}; - vector > cells (7, CellData<3>()); + std::vector > cells (7, CellData<3>()); for (unsigned int i=0; i<7; ++i) { @@ -530,7 +530,7 @@ void GridGenerator::hyper_L<> (Triangulation<3> &tria, cells[i].material_id = 0; }; - tria.create_triangulation (vector >(&vertices[0], &vertices[26]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[26]), cells, SubCellData()); // no boundary information }; @@ -546,27 +546,27 @@ void GridGenerator::hyper_ball<> (Triangulation<3> &tria, const unsigned int n_vertices = 16; const Point<3> vertices[n_vertices] = { - // first the vertices of the inner - // cell - p+Point<3>(-1,-1,-1)*(radius/sqrt(3)*a), - p+Point<3>(+1,-1,-1)*(radius/sqrt(3)*a), - p+Point<3>(+1,+1,-1)*(radius/sqrt(3)*a), - p+Point<3>(-1,+1,-1)*(radius/sqrt(3)*a), - p+Point<3>(-1,-1,+1)*(radius/sqrt(3)*a), - p+Point<3>(+1,-1,+1)*(radius/sqrt(3)*a), - p+Point<3>(+1,+1,+1)*(radius/sqrt(3)*a), - p+Point<3>(-1,+1,+1)*(radius/sqrt(3)*a), - // now the eight vertices at - // the outer sphere - p+Point<3>(-1,-1,-1)*(radius/sqrt(3)), - p+Point<3>(+1,-1,-1)*(radius/sqrt(3)), - p+Point<3>(+1,+1,-1)*(radius/sqrt(3)), - p+Point<3>(-1,+1,-1)*(radius/sqrt(3)), - p+Point<3>(-1,-1,+1)*(radius/sqrt(3)), - p+Point<3>(+1,-1,+1)*(radius/sqrt(3)), - p+Point<3>(+1,+1,+1)*(radius/sqrt(3)), - p+Point<3>(-1,+1,+1)*(radius/sqrt(3)) - }; + // first the vertices of the inner + // cell + p+Point<3>(-1,-1,-1)*(radius/sqrt(3)*a), + p+Point<3>(+1,-1,-1)*(radius/sqrt(3)*a), + p+Point<3>(+1,+1,-1)*(radius/sqrt(3)*a), + p+Point<3>(-1,+1,-1)*(radius/sqrt(3)*a), + p+Point<3>(-1,-1,+1)*(radius/sqrt(3)*a), + p+Point<3>(+1,-1,+1)*(radius/sqrt(3)*a), + p+Point<3>(+1,+1,+1)*(radius/sqrt(3)*a), + p+Point<3>(-1,+1,+1)*(radius/sqrt(3)*a), + // now the eight vertices at + // the outer sphere + p+Point<3>(-1,-1,-1)*(radius/sqrt(3)), + p+Point<3>(+1,-1,-1)*(radius/sqrt(3)), + p+Point<3>(+1,+1,-1)*(radius/sqrt(3)), + p+Point<3>(-1,+1,-1)*(radius/sqrt(3)), + p+Point<3>(-1,-1,+1)*(radius/sqrt(3)), + p+Point<3>(+1,-1,+1)*(radius/sqrt(3)), + p+Point<3>(+1,+1,+1)*(radius/sqrt(3)), + p+Point<3>(-1,+1,+1)*(radius/sqrt(3)) + }; // one needs to draw the seven cubes to // understand what's going on here @@ -579,7 +579,7 @@ void GridGenerator::hyper_ball<> (Triangulation<3> &tria, {11, 10,14, 15, 3, 2, 6, 7}, {8, 9, 13, 12, 0, 1, 5, 4}}; - vector > cells (n_cells, CellData<3>()); + std::vector > cells (n_cells, CellData<3>()); for (unsigned int i=0; i (Triangulation<3> &tria, cells[i].material_id = 0; }; - tria.create_triangulation (vector >(&vertices[0], &vertices[n_vertices]), + tria.create_triangulation (std::vector >(&vertices[0], &vertices[n_vertices]), cells, SubCellData()); // no boundary information }; diff --git a/deal.II/deal.II/source/grid/grid_in.cc b/deal.II/deal.II/source/grid/grid_in.cc index 256f8884ff..66a3b4d910 100644 --- a/deal.II/deal.II/source/grid/grid_in.cc +++ b/deal.II/deal.II/source/grid/grid_in.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -35,7 +35,7 @@ void GridIn::attach_triangulation (Triangulation &t) template -void GridIn::read_ucd (istream &in) +void GridIn::read_ucd (std::istream &in) { Assert (tria != 0, ExcNoTriangulationSelected()); AssertThrow (in, ExcIO()); @@ -55,11 +55,11 @@ void GridIn::read_ucd (istream &in) >> dummy; // model data // set up array of vertices - vector > vertices (n_vertices); + std::vector > vertices (n_vertices); // set up mapping between numbering // in ucd-file (key) and in the // vertices vector - map vertex_indices; + std::map vertex_indices; for (unsigned int vertex=0; vertex::read_ucd (istream &in) }; // set up array of cells - vector > cells; - SubCellData subcelldata; + std::vector > cells; + SubCellData subcelldata; for (unsigned int cell=0; cell> dummy // cell number @@ -193,7 +193,7 @@ void GridIn::read_ucd (istream &in) template -void GridIn::read_dbmesh (istream &in) +void GridIn::read_dbmesh (std::istream &in) { Assert (tria != 0, ExcNoTriangulationSelected()); Assert (dim==2, ExcNotImplemented()); @@ -205,7 +205,7 @@ void GridIn::read_dbmesh (istream &in) // first read in identifier string - string line; + std::string line; getline (in, line); AssertThrow (line=="MeshVersionFormatted 0", @@ -232,7 +232,7 @@ void GridIn::read_dbmesh (istream &in) // knowledge to parse and interpret // the other fields in between as // well... - while (getline(in,line), line.find("# END")==string::npos); + while (getline(in,line), line.find("# END")==std::string::npos); skip_empty_lines (in); @@ -244,7 +244,7 @@ void GridIn::read_dbmesh (istream &in) double dummy; in >> n_vertices; - vector > vertices (n_vertices); + std::vector > vertices (n_vertices); for (unsigned int vertex=0; vertex::read_dbmesh (istream &in) getline (in, line); AssertThrow (line=="Quadrilaterals", ExcInvalidDBMESHInput(line)); - vector > cells; + std::vector > cells; SubCellData subcelldata; unsigned int n_cells; in >> n_cells; @@ -337,7 +337,7 @@ void GridIn::read_dbmesh (istream &in) // clue what they mean. skip them // all and leave the interpretation // to other implementors... - while (getline(in,line), ((line.find("End")==string::npos) && (in))); + while (getline(in,line), ((line.find("End")==std::string::npos) && (in))); // ok, so we are not at the end of // the file, that's it, mostly @@ -357,9 +357,9 @@ void GridIn::read_dbmesh (istream &in) template -void GridIn::skip_empty_lines (istream &in) +void GridIn::skip_empty_lines (std::istream &in) { - string line; + std::string line; while (in) { // get line @@ -385,8 +385,8 @@ void GridIn::skip_empty_lines (istream &in) template -void GridIn::skip_comment_lines (istream &in, - const char comment_start) +void GridIn::skip_comment_lines (std::istream &in, + const char comment_start) { char c; while (in.get(c), c==comment_start) @@ -405,13 +405,13 @@ void GridIn::skip_comment_lines (istream &in, template void -GridIn::delete_unused_vertices (vector > &vertices, - vector > &cells, - SubCellData &subcelldata) +GridIn::delete_unused_vertices (std::vector > &vertices, + std::vector > &cells, + SubCellData &subcelldata) { // first check which vertices are // actually used - vector vertex_used (vertices.size(), false); + std::vector vertex_used (vertices.size(), false); for (unsigned int c=0; c::vertices_per_cell; ++v) vertex_used[cells[c].vertices[v]] = true; @@ -420,7 +420,7 @@ GridIn::delete_unused_vertices (vector > &vertices, // are actually used in the same // order as they were beforehand const unsigned int invalid_vertex = static_cast(-1); - vector new_vertex_numbers (vertices.size(), invalid_vertex); + std::vector new_vertex_numbers (vertices.size(), invalid_vertex); unsigned int next_free_number = 0; for (unsigned int i=0; i::delete_unused_vertices (vector > &vertices, // which we really need to a new // array and replace the old one by // the new one - vector > tmp; + std::vector > tmp; tmp.reserve (count(vertex_used.begin(), vertex_used.end(), true)); for (unsigned int v=0; v::delete_unused_vertices (vector > &vertices, template -void GridIn::debug_output_grid (const vector > &/*cells*/, - const vector > &/*vertices*/, - ostream &/*out*/) +void GridIn::debug_output_grid (const std::vector > &/*cells*/, + const std::vector > &/*vertices*/, + std::ostream &/*out*/) { Assert (false, ExcNotImplemented()); }; @@ -472,9 +472,9 @@ void GridIn::debug_output_grid (const vector > &/*cells*/, template <> void -GridIn<2>::debug_output_grid (const vector > &cells, - const vector > &vertices, - ostream &out) +GridIn<2>::debug_output_grid (const std::vector > &cells, + const std::vector > &vertices, + std::ostream &out) { double min_x = vertices[cells[0].vertices[0]](0), max_x = vertices[cells[0].vertices[0]](0), @@ -497,7 +497,7 @@ GridIn<2>::debug_output_grid (const vector > &cells, max_y = p(1); }; - out << "# cell " << i << endl; + out << "# cell " << i << std::endl; Point<2> center; for (unsigned int f=0; f<4; ++f) center += vertices[cells[i].vertices[f]]; @@ -506,7 +506,7 @@ GridIn<2>::debug_output_grid (const vector > &cells, out << "set label \"" << i << "\" at " << center(0) << ',' << center(1) << " center" - << endl; + << std::endl; // first two line right direction for (unsigned int f=0; f<2; ++f) @@ -516,7 +516,7 @@ GridIn<2>::debug_output_grid (const vector > &cells, << " to " << vertices[cells[i].vertices[(f+1)%4]](0) << ',' << vertices[cells[i].vertices[(f+1)%4]](1) - << endl; + << std::endl; // other two lines reverse direction for (unsigned int f=2; f<4; ++f) out << "set arrow from " @@ -525,17 +525,17 @@ GridIn<2>::debug_output_grid (const vector > &cells, << " to " << vertices[cells[i].vertices[f]](0) << ',' << vertices[cells[i].vertices[f]](1) - << endl; - out << endl; + << std::endl; + out << std::endl; }; - out << endl - << "set nokey" << endl + out << std::endl + << "set nokey" << std::endl << "pl [" << min_x << ':' << max_x << "][" << min_y << ':' << max_y << "] " - << min_y << endl - << "pause -1" << endl; + << min_y << std::endl + << "pause -1" << std::endl; }; #endif @@ -545,72 +545,72 @@ GridIn<2>::debug_output_grid (const vector > &cells, template <> void -GridIn<3>::debug_output_grid (const vector > &cells, - const vector > &vertices, - ostream &out) +GridIn<3>::debug_output_grid (const std::vector > &cells, + const std::vector > &vertices, + std::ostream &out) { for (unsigned int cell=0; cell &flags) }; -string GridOut::default_suffix (const OutputFormat output_format) +std::string GridOut::default_suffix (const OutputFormat output_format) { switch (output_format) { @@ -100,7 +100,7 @@ string GridOut::default_suffix (const OutputFormat output_format) GridOut::OutputFormat -GridOut::parse_output_format (const string &format_name) +GridOut::parse_output_format (const std::string &format_name) { if (format_name == "ucd") return ucd; @@ -117,7 +117,7 @@ GridOut::parse_output_format (const string &format_name) }; -string GridOut::get_output_format_names () +std::string GridOut::get_output_format_names () { return "gnuplot|eps"; }; diff --git a/deal.II/deal.II/source/grid/grid_out.cc b/deal.II/deal.II/source/grid/grid_out.cc index 46155a926e..9d9d1d85d5 100644 --- a/deal.II/deal.II/source/grid/grid_out.cc +++ b/deal.II/deal.II/source/grid/grid_out.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -27,7 +27,7 @@ template void GridOut::write_ucd (const Triangulation &tria, - ostream &out) + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -38,8 +38,8 @@ void GridOut::write_ucd (const Triangulation &tria, // find out the vertices which // are in use. copy them for fast // output - vector > vertices (tria.n_vertices()); - vector vertex_used (tria.n_vertices(), false); + std::vector > vertices (tria.n_vertices()); + std::vector vertex_used (tria.n_vertices(), false); unsigned int n_vertices = 0; for (cell=tria.begin_active(); cell!=endc; ++cell) @@ -62,19 +62,19 @@ void GridOut::write_ucd (const Triangulation &tria, // use time_t time1= time (0); tm *time = localtime(&time1); - out << "# This file was generated by the deal.II library." << endl + out << "# This file was generated by the deal.II library." << std::endl << "# Date = " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" - << time->tm_mday << endl + << time->tm_mday << std::endl << "# Time = " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl - << "#" << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl + << "#" << std::endl << "# For a description of the UCD format see the AVS Developer's guide." - << endl - << "#" << endl; + << std::endl + << "#" << std::endl; }; // start with ucd data @@ -83,7 +83,7 @@ void GridOut::write_ucd (const Triangulation &tria, n_boundary_faces(tria) : 0) << " 0 0 0" // no data - << endl; + << std::endl; // actually write the vertices. // note that we shall number them @@ -96,7 +96,7 @@ void GridOut::write_ucd (const Triangulation &tria, << vertices[i]; for (unsigned int d=dim+1; d<=3; ++d) out << " 0"; // fill with zeroes - out << endl; + out << std::endl; }; // write cells. Enumerate cells @@ -135,7 +135,7 @@ void GridOut::write_ucd (const Triangulation &tria, for (unsigned int vertex=0; vertex::vertices_per_cell; ++vertex) out << cell->vertex_index(vertex)+1 << ' '; - out << endl; + out << std::endl; }; // write faces with non-zero boundary @@ -182,7 +182,7 @@ unsigned int GridOut::n_boundary_faces (const Triangulation &tria) const template <> void GridOut::write_ucd_faces (const Triangulation<1> &, const unsigned int, - ostream &) const + std::ostream &) const { return; }; @@ -194,7 +194,7 @@ void GridOut::write_ucd_faces (const Triangulation<1> &, template void GridOut::write_ucd_faces (const Triangulation &tria, const unsigned int starting_index, - ostream &out) const + std::ostream &out) const { typename Triangulation::active_face_iterator face, endf; unsigned int index=starting_index; @@ -216,7 +216,7 @@ void GridOut::write_ucd_faces (const Triangulation &tria, }; for (unsigned int vertex=0; vertex::vertices_per_face; ++vertex) out << face->vertex_index(vertex) << ' '; - out << endl; + out << std::endl; ++index; }; @@ -226,7 +226,7 @@ void GridOut::write_ucd_faces (const Triangulation &tria, template void GridOut::write_gnuplot (const Triangulation &tria, - ostream &out) + std::ostream &out) { AssertThrow (out, ExcIO()); @@ -235,105 +235,105 @@ void GridOut::write_gnuplot (const Triangulation &tria, for (; cell!=endc; ++cell) { if (gnuplot_flags.write_cell_numbers) - out << "# cell " << cell << endl; + out << "# cell " << cell << std::endl; //TODO: plot level and material according to switches switch (dim) { case 1: out << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(1) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; break; case 2: out << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(1) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(2) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(3) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl // double new line for gnuplot 3d plots - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl // double new line for gnuplot 3d plots + << std::endl; break; case 3: // front face out << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(1) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(2) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(3) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; // back face out << cell->vertex(4) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(5) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(6) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(7) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(4) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; // now for the four connecting lines out << cell->vertex(0) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(4) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; out << cell->vertex(1) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(5) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; out << cell->vertex(2) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(6) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; out << cell->vertex(3) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl + << ' ' << (unsigned int) cell->material_id() << std::endl << cell->vertex(7) << ' ' << cell->level() - << ' ' << (unsigned int) cell->material_id() << endl - << endl; + << ' ' << (unsigned int) cell->material_id() << std::endl + << std::endl; break; }; }; @@ -358,10 +358,10 @@ struct LineEntry template void GridOut::write_eps (const Triangulation &tria, - ostream &out) + std::ostream &out) { - typedef list LineList; + typedef std::list LineList; // get a pointer to the flags // common to all dimensions, @@ -499,17 +499,17 @@ void GridOut::write_eps (const Triangulation &tria, for (LineList::const_iterator line=line_list.begin(); line!=line_list.end(); ++line) { - x_min = min (x_min, line->first(0)); - x_min = min (x_min, line->second(0)); + x_min = std::min (x_min, line->first(0)); + x_min = std::min (x_min, line->second(0)); - x_max = max (x_max, line->first(0)); - x_max = max (x_max, line->second(0)); + x_max = std::max (x_max, line->first(0)); + x_max = std::max (x_max, line->second(0)); - y_min = min (y_min, line->first(1)); - y_min = min (y_min, line->second(1)); + y_min = std::min (y_min, line->first(1)); + y_min = std::min (y_min, line->second(1)); - y_max = max (y_max, line->first(1)); - y_max = max (y_max, line->second(1)); + y_max = std::max (y_max, line->first(1)); + y_max = std::max (y_max, line->second(1)); }; // scale in x-direction such that @@ -531,16 +531,16 @@ void GridOut::write_eps (const Triangulation &tria, // use time_t time1= time (0); tm *time = localtime(&time1); - out << "%!PS-Adobe-2.0 EPSF-1.2" << endl - << "%%Title: deal.II Output" << endl - << "%%Creator: the deal.II library" << endl + out << "%!PS-Adobe-2.0 EPSF-1.2" << std::endl + << "%%Title: deal.II Output" << std::endl + << "%%Creator: the deal.II library" << std::endl << "%%Creation Date: " << time->tm_year+1900 << "/" << time->tm_mon+1 << "/" << time->tm_mday << " - " << time->tm_hour << ":" - << setw(2) << time->tm_min << ":" - << setw(2) << time->tm_sec << endl + << std::setw(2) << time->tm_min << ":" + << std::setw(2) << time->tm_sec << std::endl << "%%BoundingBox: " // lower left corner << "0 0 " @@ -548,7 +548,7 @@ void GridOut::write_eps (const Triangulation &tria, << static_cast( (x_max-x_min) * scale ) << ' ' << static_cast( (y_max-y_min) * scale ) - << endl; + << std::endl; // define some abbreviations to keep // the output small: @@ -556,16 +556,16 @@ void GridOut::write_eps (const Triangulation &tria, // x=execute line stroke // b=black pen // r=red pen - out << "/m {moveto} bind def" << endl - << "/x {lineto stroke} bind def" << endl - << "/b {0 0 0 setrgbcolor} def" << endl - << "/r {1 0 0 setrgbcolor} def" << endl; + out << "/m {moveto} bind def" << std::endl + << "/x {lineto stroke} bind def" << std::endl + << "/b {0 0 0 setrgbcolor} def" << std::endl + << "/r {1 0 0 setrgbcolor} def" << std::endl; - out << "%%EndProlog" << endl - << endl; + out << "%%EndProlog" << std::endl + << std::endl; // set fine lines - out << eps_flags_base.line_width << " setlinewidth" << endl; + out << eps_flags_base.line_width << " setlinewidth" << std::endl; }; // now write the lines @@ -575,9 +575,9 @@ void GridOut::write_eps (const Triangulation &tria, line!=line_list.end(); ++line) out << ((line->colorize && eps_flags_base.color_lines_on_user_flag) ? "r " : "b ") << (line->first - offset) * scale << " m " - << (line->second - offset) * scale << " x" << endl; + << (line->second - offset) * scale << " x" << std::endl; - out << "showpage" << endl; + out << "showpage" << std::endl; AssertThrow (out, ExcIO()); }; @@ -586,7 +586,7 @@ void GridOut::write_eps (const Triangulation &tria, template void GridOut::write (const Triangulation &tria, - ostream &out, + std::ostream &out, OutputFormat output_format) { switch (output_format) @@ -611,11 +611,11 @@ void GridOut::write (const Triangulation &tria, // explicit instantiations template void GridOut::write_ucd (const Triangulation &, - ostream &); + std::ostream &); template void GridOut::write_gnuplot (const Triangulation &, - ostream &); + std::ostream &); template void GridOut::write_eps (const Triangulation &, - ostream &); + std::ostream &); template void GridOut::write (const Triangulation &, - ostream &, + std::ostream &, OutputFormat); diff --git a/deal.II/deal.II/source/grid/grid_refinement.cc b/deal.II/deal.II/source/grid/grid_refinement.cc index 1aeff52c7d..fd6ecdf281 100644 --- a/deal.II/deal.II/source/grid/grid_refinement.cc +++ b/deal.II/deal.II/source/grid/grid_refinement.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -24,10 +24,10 @@ #include template -void GridRefinement::qsort_index(const Vector &a, - vector &ind, - int l, - int r) +void GridRefinement::qsort_index(const Vector &a, + std::vector &ind, + int l, + int r) { int i,j,t; number v; @@ -79,7 +79,7 @@ void GridRefinement::refine (Triangulation &tria, { Assert (criteria.size() == tria.n_active_cells(), ExcInvalidVectorSize(criteria.size(), tria.n_active_cells())); - Assert (*min_element(criteria.begin(), criteria.end()) >= 0, + Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0, ExcInvalidParameterValue()); // nothing to do; especially we @@ -107,7 +107,7 @@ void GridRefinement::coarsen (Triangulation &tria, { Assert (criteria.size() == tria.n_active_cells(), ExcInvalidVectorSize(criteria.size(), tria.n_active_cells())); - Assert (*min_element(criteria.begin(), criteria.end()) >= 0, + Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0, ExcInvalidParameterValue()); Triangulation::active_cell_iterator cell = tria.begin_active(); @@ -132,7 +132,7 @@ GridRefinement::refine_and_coarsen_fixed_number (Triangulation &tria, Assert ((top_fraction>=0) && (top_fraction<=1), ExcInvalidParameterValue()); Assert ((bottom_fraction>=0) && (bottom_fraction<=1), ExcInvalidParameterValue()); Assert (top_fraction+bottom_fraction <= 1, ExcInvalidParameterValue()); - Assert (*min_element(criteria.begin(), criteria.end()) >= 0, + Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0, ExcInvalidParameterValue()); const int refine_cells=static_cast(top_fraction*criteria.size()); @@ -143,17 +143,17 @@ GridRefinement::refine_and_coarsen_fixed_number (Triangulation &tria, Vector tmp(criteria); if (refine_cells) { - nth_element (tmp.begin(), tmp.begin()+refine_cells, - tmp.end(), - greater()); + std::nth_element (tmp.begin(), tmp.begin()+refine_cells, + tmp.end(), + std::greater()); refine (tria, criteria, *(tmp.begin() + refine_cells)); }; if (coarsen_cells) { - nth_element (tmp.begin(), tmp.begin()+tmp.size()-coarsen_cells, - tmp.end(), - greater()); + std::nth_element (tmp.begin(), tmp.begin()+tmp.size()-coarsen_cells, + tmp.end(), + std::greater()); coarsen (tria, criteria, *(tmp.begin() + tmp.size() - coarsen_cells)); }; }; @@ -173,7 +173,7 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation &tria, Assert ((top_fraction>=0) && (top_fraction<=1), ExcInvalidParameterValue()); Assert ((bottom_fraction>=0) && (bottom_fraction<=1), ExcInvalidParameterValue()); Assert (top_fraction+bottom_fraction <= 1, ExcInvalidParameterValue()); - Assert (*min_element(criteria.begin(), criteria.end()) >= 0, + Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0, ExcInvalidParameterValue()); // let tmp be the cellwise square of the @@ -187,15 +187,15 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation &tria, // sort the largest criteria to the // beginning of the vector - sort (tmp.begin(), tmp.end(), greater()); - partial_sum (tmp.begin(), tmp.end(), partial_sums.begin()); + std::sort (tmp.begin(), tmp.end(), std::greater()); + std::partial_sum (tmp.begin(), tmp.end(), partial_sums.begin()); // compute thresholds const typename Vector::const_iterator - q = lower_bound (partial_sums.begin(), partial_sums.end(), - top_fraction*total_error), - p = upper_bound (partial_sums.begin(), partial_sums.end(), - total_error*(1-bottom_fraction)); + q = std::lower_bound (partial_sums.begin(), partial_sums.end(), + static_cast(top_fraction*total_error)), + p = std::upper_bound (partial_sums.begin(), partial_sums.end(), + static_cast(total_error*(1-bottom_fraction))); double bottom_threshold = tmp(p != partial_sums.end() ? p-partial_sums.begin() : @@ -233,7 +233,7 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation &tria, // threshold if it equals the // largest indicator and the // top_fraction!=1 - if ((top_threshold == *max_element(criteria.begin(), criteria.end())) && + if ((top_threshold == *std::max_element(criteria.begin(), criteria.end())) && (top_fraction != 1)) top_threshold *= 0.999; @@ -241,9 +241,9 @@ GridRefinement::refine_and_coarsen_fixed_fraction (Triangulation &tria, bottom_threshold = 0.999*top_threshold; // actually flag cells - if (top_threshold < *max_element(criteria.begin(), criteria.end())) + if (top_threshold < *std::max_element(criteria.begin(), criteria.end())) refine (tria, criteria, top_threshold); - if (bottom_threshold > *min_element(criteria.begin(), criteria.end())) + if (bottom_threshold > *std::min_element(criteria.begin(), criteria.end())) coarsen (tria, criteria, bottom_threshold); }; @@ -258,12 +258,12 @@ GridRefinement::refine_and_coarsen_optimize (Triangulation &tria, { Assert (criteria.size() == tria.n_active_cells(), ExcInvalidVectorSize(criteria.size(), tria.n_active_cells())); - Assert (*min_element(criteria.begin(), criteria.end()) >= 0, + Assert (*std::min_element(criteria.begin(), criteria.end()) >= 0, ExcInvalidParameterValue()); // get an increasing order on // the error indicator - vector tmp(criteria.size()); + std::vector tmp(criteria.size()); for (unsigned int i=0;i::Cell::count_neighbors () const template void -GridReordering::Cell::insert_faces (map &/*global_faces*/) +GridReordering::Cell::insert_faces (std::map &/*global_faces*/) { Assert (false, ExcNotImplemented()); }; @@ -87,7 +87,7 @@ GridReordering::Cell::insert_faces (map &/*global_faces*/) template <> void -GridReordering<2>::Cell::insert_faces (map &global_faces) +GridReordering<2>::Cell::insert_faces (std::map &global_faces) { const unsigned int dim = 2; @@ -107,8 +107,8 @@ GridReordering<2>::Cell::insert_faces (map &global_faces) // already exists, then the stored // data is not touched. for (unsigned int face=0; face::faces_per_cell; ++face) - faces[0][face] = global_faces.insert (make_pair(new_faces[face], - FaceData())).first; + faces[0][face] = global_faces.insert (std::make_pair(new_faces[face], + FaceData())).first; // then for each of the faces also @@ -119,10 +119,10 @@ GridReordering<2>::Cell::insert_faces (map &global_faces) // `2' for (unsigned int face=0; face::faces_per_cell; ++face) { - swap (new_faces[face].vertices[0], - new_faces[face].vertices[1]); - faces[2][face] = global_faces.insert (make_pair(new_faces[face], - FaceData())).first; + std::swap (new_faces[face].vertices[0], + new_faces[face].vertices[1]); + faces[2][face] = global_faces.insert (std::make_pair(new_faces[face], + FaceData())).first; }; // then finally fill in rotational @@ -202,7 +202,7 @@ GridReordering<2>::Cell::insert_faces (map &global_faces) template <> void -GridReordering<3>::Cell::insert_faces (map &global_faces) +GridReordering<3>::Cell::insert_faces (std::map &global_faces) { const unsigned int dim = 3; @@ -229,17 +229,17 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) { { vertices[0], vertices[4], vertices[7], vertices[3] } } }; Face new_faces[GeometryInfo::faces_per_cell][rotational_states_of_faces] = { { new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], - new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, - { new_faces_tmp[1], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], + new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, + { new_faces_tmp[1], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, { new_faces_tmp[2], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], - new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, - { new_faces_tmp[3], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], - new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, - { new_faces_tmp[4], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], - new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, - { new_faces_tmp[5], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], - new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }}; + new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, + { new_faces_tmp[3], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], + new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, + { new_faces_tmp[4], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], + new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }, + { new_faces_tmp[5], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], + new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0], new_faces_tmp[0] }}; // first do the faces in their // usual direction @@ -258,8 +258,8 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) for (unsigned int v=0; v::vertices_per_face; ++v) new_faces[face][rot].vertices[v] = new_faces[face][rot-rotational_states_of_faces/2].vertices[v]; - swap (new_faces[face][rot].vertices[1], - new_faces[face][rot].vertices[3]); + std::swap (new_faces[face][rot].vertices[1], + new_faces[face][rot].vertices[3]); }; @@ -274,12 +274,12 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) // newighbor has already inserted // it or not. we don't care about // that here, though - map::iterator + std::map::iterator new_faces_ptr[rotational_states_of_faces][GeometryInfo::faces_per_cell]; for (unsigned int face=0; face::faces_per_cell; ++face) for (unsigned int rot=0; rot::faces_per_cell; ++face) @@ -310,40 +310,40 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) // cout << new_faces_ptr[0][face]->first.vertices[i] << ' '; // cout << '>'; - if (new_faces_ptr[0][face]->second.adjacent_cells[0] == - FaceData::invalid_adjacent_cell) - { + if (new_faces_ptr[0][face]->second.adjacent_cells[0] == + FaceData::invalid_adjacent_cell) + { // cout << " as neighbor 0" << endl; - // no, faces had not been - // used before, so we are the - // first adjacent cell - for (unsigned int rot=0; rotsecond.adjacent_cells[0] - == FaceData::invalid_adjacent_cell, - ExcInternalError()); - new_faces_ptr[rot][face]->second.adjacent_cells[0] = cell_no; - }; - } - else - { - // otherwise: cell had been - // entered before, so we are - // the second neighbor - const unsigned int - previous_neighbor = new_faces_ptr[0][face]->second.adjacent_cells[0]; + // no, faces had not been + // used before, so we are the + // first adjacent cell + for (unsigned int rot=0; rotsecond.adjacent_cells[0] + == FaceData::invalid_adjacent_cell, + ExcInternalError()); + new_faces_ptr[rot][face]->second.adjacent_cells[0] = cell_no; + }; + } + else + { + // otherwise: cell had been + // entered before, so we are + // the second neighbor + const unsigned int + previous_neighbor = new_faces_ptr[0][face]->second.adjacent_cells[0]; // cout << " as neighbor 1 (previous: " << previous_neighbor << ")" << endl; - for (unsigned int rot=0; rotsecond.adjacent_cells[0] == - previous_neighbor, - ExcInternalError()); - Assert (new_faces_ptr[rot][face]->second.adjacent_cells[1] == - FaceData::invalid_adjacent_cell, - ExcInternalError()); - new_faces_ptr[rot][face]->second.adjacent_cells[1] = cell_no; - }; - }; + for (unsigned int rot=0; rotsecond.adjacent_cells[0] == + previous_neighbor, + ExcInternalError()); + Assert (new_faces_ptr[rot][face]->second.adjacent_cells[1] == + FaceData::invalid_adjacent_cell, + ExcInternalError()); + new_faces_ptr[rot][face]->second.adjacent_cells[1] = cell_no; + }; + }; }; @@ -401,7 +401,7 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) // each of the six faces build the // cell (store which face and which // orientation): - static pair + static std::pair cell_orientation_faces[rotational_states_of_cells][GeometryInfo::faces_per_cell]; if (already_initialized == false) @@ -448,7 +448,7 @@ GridReordering<3>::Cell::insert_faces (map &global_faces) for (unsigned int r=0; r::Cell::insert_faces (map &global_faces) // often, don't make // differences between // debug and optimized mode - vector face_used(GeometryInfo::faces_per_cell, false); + std::vector face_used(GeometryInfo::faces_per_cell, false); for (unsigned int face=0; face::faces_per_cell; ++face) { // ups, face already @@ -692,9 +692,9 @@ GridReordering::FaceData::FaceData () : template inline -void GridReordering::track_back (vector &cells, - RotationStack &rotation_states, - unsigned int track_back_to_cell) +void GridReordering::track_back (std::vector &cells, + RotationStack &rotation_states, + unsigned int track_back_to_cell) { top_of_function: @@ -735,7 +735,7 @@ void GridReordering::track_back (vector &cells, // last cell can't be rotated // further. go on with // backtracking - const typename vector::iterator + const typename std::vector::iterator try_cell = cells.begin() + rotation_states.size(); track_back_to_cell = try_cell->track_back_to_cell; @@ -766,8 +766,8 @@ void GridReordering::track_back (vector &cells, template -bool GridReordering::try_rotate_single_neighbors (vector &cells, - RotationStack &rotation_states) +bool GridReordering::try_rotate_single_neighbors (std::vector &cells, + RotationStack &rotation_states) { // the rotation state of the cell // which we try to add by rotating @@ -882,9 +882,9 @@ bool GridReordering::try_rotate_single_neighbors (vector &cells, template -void GridReordering::find_reordering (vector > &cells, - vector > &original_cells, - const vector &new_cell_numbers) +void GridReordering::find_reordering (std::vector &cells, + std::vector > &original_cells, + const std::vector &new_cell_numbers) { // cout << "Starting..." << flush; @@ -931,7 +931,7 @@ void GridReordering::find_reordering (vector > &cells, // cout << "New max size " << rotation_states.size() << endl; }; - const typename vector::iterator + const typename std::vector::iterator try_cell = cells.begin() + rotation_states.size()-1; if (try_cell->check_consistency (rotation_states.back())) { @@ -1076,9 +1076,9 @@ void GridReordering::find_reordering (vector > &cells, template -vector -GridReordering::presort_cells (vector > &cells, - map &faces) +std::vector +GridReordering::presort_cells (std::vector &cells, + std::map &faces) { // first find the cell with the // least neighbors @@ -1098,11 +1098,11 @@ GridReordering::presort_cells (vector > &cells, // insert the new cells numbers of // each cell const unsigned int invalid_cell_number = static_cast(-1); - vector new_cell_numbers (cells.size(), invalid_cell_number); + std::vector new_cell_numbers (cells.size(), invalid_cell_number); // and have an array of the next // cells to be numbered (old numbers) - vector next_round_cells (1, cell_with_min_neighbors); + std::vector next_round_cells (1, cell_with_min_neighbors); unsigned int next_free_new_number = 0; @@ -1123,10 +1123,10 @@ GridReordering::presort_cells (vector > &cells, // neighbors of the cells of // this round which have not // yet been renumbered - vector new_next_round_cells; + std::vector new_next_round_cells; for (unsigned int i=0; i::faces_per_cell; ++n) - if (cells[next_round_cells[i]].neighbors[n] != Cell::invalid_neighbor) + if (cells[next_round_cells[i]].neighbors[n] != Cell::invalid_neighbor) if (new_cell_numbers[cells[next_round_cells[i]].neighbors[n]] == invalid_cell_number) new_next_round_cells.push_back (cells[next_round_cells[i]].neighbors[n]); @@ -1168,7 +1168,7 @@ GridReordering::presort_cells (vector > &cells, // now that we know in which order // to sort the cells, do so: - vector > new_cells (cells.size()); + std::vector new_cells (cells.size()); for (unsigned int i=0; i::presort_cells (vector > &cells, cells[c].neighbors[n] = new_cell_numbers[cells[c].neighbors[n]]; }; - for (typename map::iterator i=faces.begin(); i!=faces.end(); ++i) + for (typename std::map::iterator i=faces.begin(); i!=faces.end(); ++i) for (unsigned int k=0; k<2; ++k) if (i->second.adjacent_cells[k] != FaceData::invalid_adjacent_cell) i->second.adjacent_cells[k] = new_cell_numbers[i->second.adjacent_cells[k]]; @@ -1197,7 +1197,7 @@ GridReordering::presort_cells (vector > &cells, template -void GridReordering::reorder_cells (vector > &original_cells) +void GridReordering::reorder_cells (std::vector > &original_cells) { // we need more information than // provided by the input parameter, @@ -1207,15 +1207,15 @@ void GridReordering::reorder_cells (vector > &original_cells) // old cells to another class that // provides space to these // informations - vector > cells; + std::vector cells; cells.reserve (original_cells.size()); for (unsigned int i=0; i(original_cells[i], i)); + cells.push_back (Cell(original_cells[i], i)); // first generate all the faces // possible, i.e. in each possible // direction and rotational state - map faces; + std::map faces; for (unsigned int cell_no=0; cell_no::reorder_cells (vector > &original_cells) // do a preordering step in order // to make further backtracking // more local - const vector + const std::vector new_cell_numbers = presort_cells (cells, faces); // finally do some preliminary work @@ -1255,7 +1255,7 @@ void GridReordering::reorder_cells (vector > &original_cells) // find_reordering function has // cleared all used marks it knows // of - for (typename map::iterator i=faces.begin(); i!=faces.end(); ++i) + for (typename std::map::iterator i=faces.begin(); i!=faces.end(); ++i) Assert (i->second.use_count == 0, ExcInternalError()); }; @@ -1264,7 +1264,7 @@ void GridReordering::reorder_cells (vector > &original_cells) #if deal_II_dimension == 1 template <> -void GridReordering<1>::reorder_cells (vector > &) +void GridReordering<1>::reorder_cells (std::vector > &) { // there should not be much to do // in 1d... @@ -1281,7 +1281,7 @@ void GridReordering<1>::reorder_cells (vector > &) template void GridReordering:: -reorder_cells (vector > &); +reorder_cells (std::vector > &); #endif diff --git a/deal.II/deal.II/source/grid/intergrid_map.cc b/deal.II/deal.II/source/grid/intergrid_map.cc index 1ade48150a..6042dde590 100644 --- a/deal.II/deal.II/source/grid/intergrid_map.cc +++ b/deal.II/deal.II/source/grid/intergrid_map.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/grid/persistent_tria.cc b/deal.II/deal.II/source/grid/persistent_tria.cc index 08a05991dd..b16d233bd0 100644 --- a/deal.II/deal.II/source/grid/persistent_tria.cc +++ b/deal.II/deal.II/source/grid/persistent_tria.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -32,9 +32,9 @@ PersistentTriangulation (const PersistentTriangulation &old_tria) : // tria, i.e. it will be // empty on first use Triangulation (), - coarse_grid (old_tria.coarse_grid), - refine_flags (old_tria.refine_flags), - coarsen_flags (old_tria.coarsen_flags) + coarse_grid (old_tria.coarse_grid), + refine_flags (old_tria.refine_flags), + coarsen_flags (old_tria.coarsen_flags) { Assert (old_tria.n_levels() == 0, ExcTriaNotEmpty ()); }; @@ -50,8 +50,8 @@ void PersistentTriangulation::execute_coarsening_and_refinement () { // first save flags - refine_flags.push_back (vector()); - coarsen_flags.push_back (vector()); + refine_flags.push_back (std::vector()); + coarsen_flags.push_back (std::vector()); save_refine_flags (refine_flags.back()); save_coarsen_flags (coarsen_flags.back()); @@ -95,9 +95,9 @@ PersistentTriangulation::copy_triangulation (const Triangulation &old_ template void -PersistentTriangulation::create_triangulation (const vector > &, - const vector > &, - const SubCellData &) +PersistentTriangulation::create_triangulation (const std::vector > &, + const std::vector > &, + const SubCellData &) { Assert (false, ExcFunctionNotUseful()); }; @@ -105,13 +105,13 @@ PersistentTriangulation::create_triangulation (const vector > template void -PersistentTriangulation::write_flags(ostream &out) const +PersistentTriangulation::write_flags(std::ostream &out) const { const unsigned int n_flag_levels=refine_flags.size(); AssertThrow (out, ExcIO()); - out << mn_persistent_tria_flags_begin << ' ' << n_flag_levels << endl; + out << mn_persistent_tria_flags_begin << ' ' << n_flag_levels << std::endl; for (unsigned int i=0; i::write_flags(ostream &out) const mn_tria_coarsen_flags_end, out); } - out << mn_persistent_tria_flags_end << endl; + out << mn_persistent_tria_flags_end << std::endl; AssertThrow (out, ExcIO()); } @@ -129,7 +129,7 @@ PersistentTriangulation::write_flags(ostream &out) const template void -PersistentTriangulation::read_flags(istream &in) +PersistentTriangulation::read_flags(std::istream &in) { Assert(refine_flags.size()==0 && coarsen_flags.size()==0, ExcTriaNotEmpty()); @@ -145,8 +145,8 @@ PersistentTriangulation::read_flags(istream &in) in >> n_flag_levels; for (unsigned int i=0; i()); - coarsen_flags.push_back (vector()); + refine_flags.push_back (std::vector()); + coarsen_flags.push_back (std::vector()); read_bool_vector (mn_tria_refine_flags_begin, refine_flags.back(), mn_tria_refine_flags_end, in); read_bool_vector (mn_tria_coarsen_flags_begin, coarsen_flags.back(), diff --git a/deal.II/deal.II/source/grid/tria.all_dimensions.cc b/deal.II/deal.II/source/grid/tria.all_dimensions.cc index 92d641626b..fe4ab6e46b 100644 --- a/deal.II/deal.II/source/grid/tria.all_dimensions.cc +++ b/deal.II/deal.II/source/grid/tria.all_dimensions.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -150,7 +150,7 @@ void TriangulationLevel<0>::reserve_space (const unsigned int total_cells, neighbors.reserve (total_cells*(2*dimension)); neighbors.insert (neighbors.end(), total_cells*(2*dimension) - neighbors.size(), - make_pair(-1,-1)); + std::make_pair(-1,-1)); }; }; @@ -191,9 +191,9 @@ TriangulationLevel<0>::memory_consumption () const void TriangulationLevel<1>::reserve_space (const unsigned int new_lines) { const unsigned int new_size = new_lines + - count_if (lines.used.begin(), - lines.used.end(), - bind2nd (equal_to(), true)); + std::count_if (lines.used.begin(), + lines.used.end(), + std::bind2nd (std::equal_to(), true)); // same as in @p{reserve_space<0>}: only // allocate space if necessary @@ -284,9 +284,9 @@ TriangulationLevel<1>::memory_consumption () const void TriangulationLevel<2>::reserve_space (const unsigned int new_quads) { const unsigned int new_size = new_quads + - count_if (quads.used.begin(), - quads.used.end(), - bind2nd (equal_to(), true)); + std::count_if (quads.used.begin(), + quads.used.end(), + std::bind2nd (std::equal_to(), true)); // see above... if (new_size>quads.quads.size()) @@ -369,9 +369,9 @@ TriangulationLevel<2>::memory_consumption () const void TriangulationLevel<3>::reserve_space (const unsigned int new_hexes) { const unsigned int new_size = new_hexes + - count_if (hexes.used.begin(), - hexes.used.end(), - bind2nd (equal_to(), true)); + std::count_if (hexes.used.begin(), + hexes.used.end(), + std::bind2nd (std::equal_to(), true)); // see above... if (new_size>hexes.hexes.size()) @@ -454,8 +454,8 @@ TriangulationLevel<3>::memory_consumption () const TriaNumberCache<1>::TriaNumberCache () : n_lines (0), n_active_lines (0) - // all other fields are - // default constructed + // all other fields are + // default constructed {}; @@ -473,8 +473,8 @@ TriaNumberCache<1>::memory_consumption () const TriaNumberCache<2>::TriaNumberCache () : n_quads (0), n_active_quads (0) - // all other fields are - // default constructed + // all other fields are + // default constructed {}; @@ -494,8 +494,8 @@ TriaNumberCache<2>::memory_consumption () const TriaNumberCache<3>::TriaNumberCache () : n_hexes (0), n_active_hexes (0) - // all other fields are - // default constructed + // all other fields are + // default constructed {}; diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index 5ad1391713..3150679d4a 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -51,7 +51,7 @@ template Triangulation::Triangulation (const Triangulation &) : Subscriptor () // do not set any subscriptors; anyway, - // calling this constructor is an error! + // calling this constructor is an error! { Assert (false, ExcInternalError()); }; @@ -211,8 +211,8 @@ void Triangulation::copy_triangulation (const Triangulation &old_tria) #if deal_II_dimension == 1 template <> -void Triangulation<1>::create_triangulation (const vector > &v, - const vector > &cells, +void Triangulation<1>::create_triangulation (const std::vector > &v, + const std::vector > &cells, const SubCellData &subcelldata) { // note: since no boundary information @@ -230,11 +230,11 @@ void Triangulation<1>::create_triangulation (const vector > &v, // copy vertices vertices = v; - vertices_used = vector (v.size(), true); + vertices_used = std::vector (v.size(), true); // store the indices of the lines which // are adjacent to a given vertex - vector > lines_at_vertex (v.size()); + std::vector > lines_at_vertex (v.size()); // reserve enough space levels.push_back (new TriangulationLevel); @@ -366,9 +366,9 @@ void Triangulation<1>::create_triangulation (const vector > &v, #if deal_II_dimension == 2 template <> -void Triangulation<2>::create_triangulation (const vector > &v, - const vector > &c, - const SubCellData &subcelldata) +void Triangulation<2>::create_triangulation (const std::vector > &v, + const std::vector > &c, + const SubCellData &subcelldata) { const unsigned int dim=2; @@ -379,11 +379,11 @@ void Triangulation<2>::create_triangulation (const vector > &v, // copy vertices vertices = v; - vertices_used = vector (v.size(), true); + vertices_used = std::vector (v.size(), true); // copy cells. This is needed since we // may need to change entries - vector > cells(c); + std::vector > cells(c); // make up a list of the needed lines @@ -396,7 +396,7 @@ void Triangulation<2>::create_triangulation (const vector > &v, // object itself. In the first run, these // iterators are all invalid ones, but they // are filled afterwards - map,line_iterator> needed_lines; + std::map,line_iterator> needed_lines; for (unsigned int cell=0; cell::create_triangulation (const vector > &v, }; - pair line_vertices[4] = { // note the order of the vertices - make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), - make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[0], cells[cell].vertices[3])}; + std::pair line_vertices[4] = { // note the order of the vertices + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), + std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3]) }; // note the following: if the sense // of the vertices of a cell is correct, @@ -493,8 +493,8 @@ void Triangulation<2>::create_triangulation (const vector > &v, // direction 1->4, while in // the second it would be 4->1. // This will cause the exception. - if (! (needed_lines.find(make_pair(line_vertices[line].second, - line_vertices[line].first)) + if (! (needed_lines.find(std::make_pair(line_vertices[line].second, + line_vertices[line].first)) == needed_lines.end())) { @@ -531,8 +531,8 @@ void Triangulation<2>::create_triangulation (const vector > &v, // at least two adjacent lines if (true) { - vector vertex_touch_count (v.size(), 0); - map,line_iterator>::iterator i; + std::vector vertex_touch_count (v.size(), 0); + std::map,line_iterator>::iterator i; for (i=needed_lines.begin(); i!=needed_lines.end(); i++) { // touch the vertices of this line @@ -578,7 +578,7 @@ void Triangulation<2>::create_triangulation (const vector > &v, if (true) { raw_line_iterator line = begin_raw_line(); - map,line_iterator>::iterator i; + std::map,line_iterator>::iterator i; for (i = needed_lines.begin(); line!=end_line(); ++line, ++i) { line->set (Line(i->first.first, i->first.second)); @@ -592,7 +592,7 @@ void Triangulation<2>::create_triangulation (const vector > &v, // store for each line index // the adjacent cells - map > adjacent_cells; + std::map > adjacent_cells; // finally make up cells if (true) @@ -602,10 +602,10 @@ void Triangulation<2>::create_triangulation (const vector > &v, { // list of iterators of lines const line_iterator lines[4] = { - needed_lines[make_pair(cells[c].vertices[0], cells[c].vertices[1])], - needed_lines[make_pair(cells[c].vertices[1], cells[c].vertices[2])], - needed_lines[make_pair(cells[c].vertices[3], cells[c].vertices[2])], - needed_lines[make_pair(cells[c].vertices[0], cells[c].vertices[3])]}; + needed_lines[std::make_pair(cells[c].vertices[0], cells[c].vertices[1])], + needed_lines[std::make_pair(cells[c].vertices[1], cells[c].vertices[2])], + needed_lines[std::make_pair(cells[c].vertices[3], cells[c].vertices[2])], + needed_lines[std::make_pair(cells[c].vertices[0], cells[c].vertices[3])]}; cell->set (Quad(lines[0]->index(), lines[1]->index(), @@ -673,15 +673,15 @@ void Triangulation<2>::create_triangulation (const vector > &v, }; // set boundary indicators where given - vector >::const_iterator boundary_line + std::vector >::const_iterator boundary_line = subcelldata.boundary_lines.begin(); - vector >::const_iterator end_boundary_line + std::vector >::const_iterator end_boundary_line = subcelldata.boundary_lines.end(); for (; boundary_line!=end_boundary_line; ++boundary_line) { line_iterator line; - pair line_vertices(make_pair(boundary_line->vertices[0], - boundary_line->vertices[1])); + std::pair line_vertices(std::make_pair(boundary_line->vertices[0], + boundary_line->vertices[1])); if (needed_lines.find(line_vertices) != needed_lines.end()) // line found in this direction line = needed_lines[line_vertices]; @@ -689,7 +689,7 @@ void Triangulation<2>::create_triangulation (const vector > &v, { // look whether it exists in // reverse direction - swap (line_vertices.first, line_vertices.second); + std::swap (line_vertices.first, line_vertices.second); if (needed_lines.find(line_vertices) != needed_lines.end()) line = needed_lines[line_vertices]; else @@ -806,9 +806,10 @@ struct QuadComparator { template <> -void Triangulation<3>::create_triangulation (const vector > &v, - const vector > &c, - const SubCellData &subcelldata) { +void Triangulation<3>::create_triangulation (const std::vector > &v, + const std::vector > &c, + const SubCellData &subcelldata) +{ const unsigned int dim=3; Assert (vertices.size() == 0, ExcTriangulationNotEmpty()); @@ -818,11 +819,11 @@ void Triangulation<3>::create_triangulation (const vector > &v, // copy vertices vertices = v; - vertices_used = vector (v.size(), true); + vertices_used = std::vector (v.size(), true); // copy cells. This is needed since we // may need to change entries - vector > cells(c); + std::vector > cells(c); /////////////////////////////////////// // first set up some collections of data @@ -839,7 +840,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, // iterators are all invalid ones, but they // are filled afterwards // same applies for the quads - map,line_iterator> needed_lines; + std::map,line_iterator> needed_lines; for (unsigned int cell=0; cell::create_triangulation (const vector > &v, }; - pair line_vertices[12] = { // note the order of the vertices - // front face - make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), - make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[0], cells[cell].vertices[3]), - // back face - make_pair (cells[cell].vertices[4], cells[cell].vertices[5]), - make_pair (cells[cell].vertices[5], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[7], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[4], cells[cell].vertices[7]), - // connects of front and back face - make_pair (cells[cell].vertices[0], cells[cell].vertices[4]), - make_pair (cells[cell].vertices[1], cells[cell].vertices[5]), - make_pair (cells[cell].vertices[2], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[3], cells[cell].vertices[7]) - }; + std::pair line_vertices[12] = { // note the order of the vertices + // front face + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), + std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3]), + // back face + std::make_pair (cells[cell].vertices[4], cells[cell].vertices[5]), + std::make_pair (cells[cell].vertices[5], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[7], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[4], cells[cell].vertices[7]), + // connects of front and back face + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[4]), + std::make_pair (cells[cell].vertices[1], cells[cell].vertices[5]), + std::make_pair (cells[cell].vertices[2], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[3], cells[cell].vertices[7]) + }; // in the 2d code, some tests were performed // which may heal a problem with quads that @@ -904,8 +905,8 @@ void Triangulation<3>::create_triangulation (const vector > &v, // assert that the line was not // already inserted in reverse // order. - if (! (needed_lines.find(make_pair(line_vertices[line].second, - line_vertices[line].first)) + if (! (needed_lines.find(std::make_pair(line_vertices[line].second, + line_vertices[line].first)) == needed_lines.end())) { @@ -944,8 +945,8 @@ void Triangulation<3>::create_triangulation (const vector > &v, // at least two adjacent lines if (true) { - vector vertex_touch_count (v.size(), 0); - map,line_iterator>::iterator i; + std::vector vertex_touch_count (v.size(), 0); + std::map,line_iterator>::iterator i; for (i=needed_lines.begin(); i!=needed_lines.end(); i++) { // touch the vertices of this line @@ -992,7 +993,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, if (true) { raw_line_iterator line = begin_raw_line(); - map,line_iterator>::iterator i; + std::map,line_iterator>::iterator i; for (i = needed_lines.begin(); line!=end_line(); ++line, ++i) { line->set (Line(i->first.first, i->first.second)); @@ -1016,7 +1017,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, // note that QuadComparator is a class // declared and defined in this file - map needed_quads; + std::map needed_quads; for (unsigned int cell=0; cell::create_triangulation (const vector > &v, // vertex indices) in place, but before // they are really needed. This is just // copied from above. - pair line_list[12] = { // note the order of the vertices - // front face - make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), - make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), - make_pair (cells[cell].vertices[0], cells[cell].vertices[3]), - // back face - make_pair (cells[cell].vertices[4], cells[cell].vertices[5]), - make_pair (cells[cell].vertices[5], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[7], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[4], cells[cell].vertices[7]), - // connects of front and back face - make_pair (cells[cell].vertices[0], cells[cell].vertices[4]), - make_pair (cells[cell].vertices[1], cells[cell].vertices[5]), - make_pair (cells[cell].vertices[2], cells[cell].vertices[6]), - make_pair (cells[cell].vertices[3], cells[cell].vertices[7]) - }; + std::pair line_list[12] = { // note the order of the vertices + // front face + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[1]), + std::make_pair (cells[cell].vertices[1], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[3], cells[cell].vertices[2]), + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[3]), + // back face + std::make_pair (cells[cell].vertices[4], cells[cell].vertices[5]), + std::make_pair (cells[cell].vertices[5], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[7], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[4], cells[cell].vertices[7]), + // connects of front and back face + std::make_pair (cells[cell].vertices[0], cells[cell].vertices[4]), + std::make_pair (cells[cell].vertices[1], cells[cell].vertices[5]), + std::make_pair (cells[cell].vertices[2], cells[cell].vertices[6]), + std::make_pair (cells[cell].vertices[3], cells[cell].vertices[7]) + }; Quad faces[6] = { @@ -1098,7 +1099,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, // insert quad, with invalid iterator // if quad already exists, then // nothing bad happens here - needed_quads[faces[quad]] = end_quad(); + needed_quads[faces[quad]] = end_quad(); }; @@ -1111,7 +1112,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, if (true) { raw_quad_iterator quad = begin_raw_quad(); - map::iterator q; + std::map::iterator q; for (q = needed_quads.begin(); quad!=end_quad(); ++quad, ++q) { quad->set (q->first); @@ -1131,7 +1132,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, // store for each quad index // the adjacent cells - map > adjacent_cells; + std::map > adjacent_cells; // finally make up cells if (true) @@ -1148,23 +1149,23 @@ void Triangulation<3>::create_triangulation (const vector > &v, // the quads that are bounded by // these lines; these are then // the faces of the present cell - pair line_list[12] = { // note the order of the vertices - // front face - make_pair (cells[c].vertices[0], cells[c].vertices[1]), - make_pair (cells[c].vertices[1], cells[c].vertices[2]), - make_pair (cells[c].vertices[3], cells[c].vertices[2]), - make_pair (cells[c].vertices[0], cells[c].vertices[3]), - // back face - make_pair (cells[c].vertices[4], cells[c].vertices[5]), - make_pair (cells[c].vertices[5], cells[c].vertices[6]), - make_pair (cells[c].vertices[7], cells[c].vertices[6]), - make_pair (cells[c].vertices[4], cells[c].vertices[7]), - // connects of front and back face - make_pair (cells[c].vertices[0], cells[c].vertices[4]), - make_pair (cells[c].vertices[1], cells[c].vertices[5]), - make_pair (cells[c].vertices[2], cells[c].vertices[6]), - make_pair (cells[c].vertices[3], cells[c].vertices[7]) - }; + std::pair line_list[12] = { // note the order of the vertices + // front face + std::make_pair (cells[c].vertices[0], cells[c].vertices[1]), + std::make_pair (cells[c].vertices[1], cells[c].vertices[2]), + std::make_pair (cells[c].vertices[3], cells[c].vertices[2]), + std::make_pair (cells[c].vertices[0], cells[c].vertices[3]), + // back face + std::make_pair (cells[c].vertices[4], cells[c].vertices[5]), + std::make_pair (cells[c].vertices[5], cells[c].vertices[6]), + std::make_pair (cells[c].vertices[7], cells[c].vertices[6]), + std::make_pair (cells[c].vertices[4], cells[c].vertices[7]), + // connects of front and back face + std::make_pair (cells[c].vertices[0], cells[c].vertices[4]), + std::make_pair (cells[c].vertices[1], cells[c].vertices[5]), + std::make_pair (cells[c].vertices[2], cells[c].vertices[6]), + std::make_pair (cells[c].vertices[3], cells[c].vertices[7]) + }; Quad faces[6] = { @@ -1324,15 +1325,15 @@ void Triangulation<3>::create_triangulation (const vector > &v, // where given // // first do so for lines - vector >::const_iterator boundary_line + std::vector >::const_iterator boundary_line = subcelldata.boundary_lines.begin(); - vector >::const_iterator end_boundary_line + std::vector >::const_iterator end_boundary_line = subcelldata.boundary_lines.end(); for (; boundary_line!=end_boundary_line; ++boundary_line) { line_iterator line; - pair line_vertices(make_pair(boundary_line->vertices[0], - boundary_line->vertices[1])); + std::pair line_vertices(std::make_pair(boundary_line->vertices[0], + boundary_line->vertices[1])); if (needed_lines.find(line_vertices) != needed_lines.end()) // line found in this // direction @@ -1342,7 +1343,7 @@ void Triangulation<3>::create_triangulation (const vector > &v, { // look wether it exists in // reverse direction - swap (line_vertices.first, line_vertices.second); + std::swap (line_vertices.first, line_vertices.second); if (needed_lines.find(line_vertices) != needed_lines.end()) line = needed_lines[line_vertices]; else @@ -1364,15 +1365,15 @@ void Triangulation<3>::create_triangulation (const vector > &v, // now go on with boundary faces - vector >::const_iterator boundary_quad + std::vector >::const_iterator boundary_quad = subcelldata.boundary_quads.begin(); - vector >::const_iterator end_boundary_quad + std::vector >::const_iterator end_boundary_quad = subcelldata.boundary_quads.end(); for (; boundary_quad!=end_boundary_quad; ++boundary_quad) { quad_iterator quad; line_iterator line[4]; - vector quad_vertices(4); + std::vector quad_vertices(4); // first find the lines that // are made up of the given @@ -1381,11 +1382,11 @@ void Triangulation<3>::create_triangulation (const vector > &v, // finally use the find // function of the map template // to find the quad - pair line_vertices[4] - = { make_pair (boundary_quad->vertices[0], boundary_quad->vertices[1]), - make_pair (boundary_quad->vertices[1], boundary_quad->vertices[2]), - make_pair (boundary_quad->vertices[3], boundary_quad->vertices[2]), - make_pair (boundary_quad->vertices[0], boundary_quad->vertices[3]) }; + std::pair line_vertices[4] + = { std::make_pair (boundary_quad->vertices[0], boundary_quad->vertices[1]), + std::make_pair (boundary_quad->vertices[1], boundary_quad->vertices[2]), + std::make_pair (boundary_quad->vertices[3], boundary_quad->vertices[2]), + std::make_pair (boundary_quad->vertices[0], boundary_quad->vertices[3]) }; for (unsigned int i=0; i<4; ++i) { @@ -1396,18 +1397,18 @@ void Triangulation<3>::create_triangulation (const vector > &v, else // look wether it exists // in reverse direction - { - swap (line_vertices[i].first, line_vertices[i].second); - if (needed_lines.find(line_vertices[i]) != needed_lines.end()) - line[i] = needed_lines[line_vertices[i]]; - else - { - // line does not exist - AssertThrow (false, ExcLineInexistant(line_vertices[i].first, - line_vertices[i].second)); - line[i] = end_line(); - }; - }; + { + std::swap (line_vertices[i].first, line_vertices[i].second); + if (needed_lines.find(line_vertices[i]) != needed_lines.end()) + line[i] = needed_lines[line_vertices[i]]; + else + { + // line does not exist + AssertThrow (false, ExcLineInexistant(line_vertices[i].first, + line_vertices[i].second)); + line[i] = end_line(); + }; + }; }; @@ -1532,11 +1533,11 @@ void Triangulation<1>::distort_random (const double factor, for (cell_iterator cell=begin(0); cell!=end(0); ++cell) almost_infinite_length += cell->diameter(); - vector minimal_length (vertices.size(), - almost_infinite_length); + std::vector minimal_length (vertices.size(), + almost_infinite_length); // also note if a vertex is at // the boundary - vector at_boundary (vertices.size(), false); + std::vector at_boundary (vertices.size(), false); for (active_line_iterator line=begin_active_line(); line != end_line(); ++line) @@ -1548,9 +1549,11 @@ void Triangulation<1>::distort_random (const double factor, }; minimal_length[line->vertex_index(0)] - = min(line->diameter(), minimal_length[line->vertex_index(0)]); + = std::min(line->diameter(), + minimal_length[line->vertex_index(0)]); minimal_length[line->vertex_index(1)] - = min(line->diameter(), minimal_length[line->vertex_index(1)]); + = std::min(line->diameter(), + minimal_length[line->vertex_index(1)]); }; @@ -1604,12 +1607,12 @@ void Triangulation::distort_random (const double factor, for (cell_iterator cell=begin(0); cell!=end(0); ++cell) almost_infinite_length += cell->diameter(); - vector minimal_length (vertices.size(), - almost_infinite_length); + std::vector minimal_length (vertices.size(), + almost_infinite_length); // also note if a vertex is at // the boundary - vector at_boundary (vertices.size(), false); + std::vector at_boundary (vertices.size(), false); for (active_line_iterator line=begin_active_line(); line != end_line(); ++line) @@ -1621,9 +1624,11 @@ void Triangulation::distort_random (const double factor, }; minimal_length[line->vertex_index(0)] - = min(line->diameter(), minimal_length[line->vertex_index(0)]); + = std::min(line->diameter(), + minimal_length[line->vertex_index(0)]); minimal_length[line->vertex_index(1)] - = min(line->diameter(), minimal_length[line->vertex_index(1)]); + = std::min(line->diameter(), + minimal_length[line->vertex_index(1)]); }; @@ -1702,9 +1707,9 @@ void Triangulation::refine_global (const unsigned int times) { template -void Triangulation::save_refine_flags (vector &v) const { +void Triangulation::save_refine_flags (std::vector &v) const { v.resize (n_active_cells(), false); - vector::iterator i = v.begin(); + std::vector::iterator i = v.begin(); active_cell_iterator cell = begin_active(), endc = end(); for (; cell!=endc; ++cell, ++i) @@ -1713,8 +1718,8 @@ void Triangulation::save_refine_flags (vector &v) const { template -void Triangulation::save_refine_flags (ostream &out) const { - vector v; +void Triangulation::save_refine_flags (std::ostream &out) const { + std::vector v; save_refine_flags (v); write_bool_vector (mn_tria_refine_flags_begin, v, mn_tria_refine_flags_end, out); @@ -1722,8 +1727,8 @@ void Triangulation::save_refine_flags (ostream &out) const { template -void Triangulation::load_refine_flags (istream &in) { - vector v; +void Triangulation::load_refine_flags (std::istream &in) { + std::vector v; read_bool_vector (mn_tria_refine_flags_begin, v, mn_tria_refine_flags_end, in); load_refine_flags (v); @@ -1731,12 +1736,12 @@ void Triangulation::load_refine_flags (istream &in) { template -void Triangulation::load_refine_flags (const vector &v) { +void Triangulation::load_refine_flags (const std::vector &v) { Assert (v.size() == n_active_cells(), ExcGridReadError()); active_cell_iterator cell = begin_active(), endc = end(); - vector::const_iterator i = v.begin(); + std::vector::const_iterator i = v.begin(); for (; cell!=endc; ++cell, ++i) if (*i == true) cell->set_refine_flag(); @@ -1746,9 +1751,9 @@ void Triangulation::load_refine_flags (const vector &v) { template -void Triangulation::save_coarsen_flags (vector &v) const { +void Triangulation::save_coarsen_flags (std::vector &v) const { v.resize (n_active_cells(), false); - vector::iterator i = v.begin(); + std::vector::iterator i = v.begin(); active_cell_iterator cell = begin_active(), endc = end(); for (; cell!=endc; ++cell, ++i) @@ -1757,8 +1762,8 @@ void Triangulation::save_coarsen_flags (vector &v) const { template -void Triangulation::save_coarsen_flags (ostream &out) const { - vector v; +void Triangulation::save_coarsen_flags (std::ostream &out) const { + std::vector v; save_coarsen_flags (v); write_bool_vector (mn_tria_coarsen_flags_begin, v, mn_tria_coarsen_flags_end, out); @@ -1766,8 +1771,8 @@ void Triangulation::save_coarsen_flags (ostream &out) const { template -void Triangulation::load_coarsen_flags (istream &in) { - vector v; +void Triangulation::load_coarsen_flags (std::istream &in) { + std::vector v; read_bool_vector (mn_tria_coarsen_flags_begin, v, mn_tria_coarsen_flags_end, in); load_coarsen_flags (v); @@ -1775,12 +1780,12 @@ void Triangulation::load_coarsen_flags (istream &in) { template -void Triangulation::load_coarsen_flags (const vector &v) { +void Triangulation::load_coarsen_flags (const std::vector &v) { Assert (v.size() == n_active_cells(), ExcGridReadError()); active_cell_iterator cell = begin_active(), endc = end(); - vector::const_iterator i = v.begin(); + std::vector::const_iterator i = v.begin(); for (; cell!=endc; ++cell, ++i) if (*i == true) cell->set_coarsen_flag(); @@ -1888,7 +1893,7 @@ void Triangulation<3>::clear_user_flags () { template -void Triangulation::save_user_flags (ostream &out) const { +void Triangulation::save_user_flags (std::ostream &out) const { save_user_flags_line (out); if (dim>=2) @@ -1903,12 +1908,12 @@ void Triangulation::save_user_flags (ostream &out) const { template -void Triangulation::save_user_flags (vector &v) const { +void Triangulation::save_user_flags (std::vector &v) const { // clear vector and append // all the stuff later on v.clear (); - vector tmp; + std::vector tmp; save_user_flags_line (tmp); v.insert (v.end(), tmp.begin(), tmp.end()); @@ -1931,7 +1936,7 @@ void Triangulation::save_user_flags (vector &v) const { template -void Triangulation::load_user_flags (istream &in) +void Triangulation::load_user_flags (std::istream &in) { load_user_flags_line (in); @@ -1947,10 +1952,10 @@ void Triangulation::load_user_flags (istream &in) template -void Triangulation::load_user_flags (const vector &v) +void Triangulation::load_user_flags (const std::vector &v) { Assert (v.size() == n_lines()+n_quads()+n_hexs(), ExcInternalError()); - vector tmp; + std::vector tmp; // first extract the flags belonging // to lines @@ -1982,9 +1987,9 @@ void Triangulation::load_user_flags (const vector &v) template -void Triangulation::save_user_flags_line (vector &v) const { +void Triangulation::save_user_flags_line (std::vector &v) const { v.resize (n_lines(), false); - vector::iterator i = v.begin(); + std::vector::iterator i = v.begin(); line_iterator line = begin_line(), endl = end_line(); for (; line!=endl; ++line, ++i) @@ -1993,8 +1998,8 @@ void Triangulation::save_user_flags_line (vector &v) const { template -void Triangulation::save_user_flags_line (ostream &out) const { - vector v; +void Triangulation::save_user_flags_line (std::ostream &out) const { + std::vector v; save_user_flags_line (v); write_bool_vector (mn_tria_line_user_flags_begin, v, mn_tria_line_user_flags_end, out); @@ -2002,8 +2007,8 @@ void Triangulation::save_user_flags_line (ostream &out) const { template -void Triangulation::load_user_flags_line (istream &in) { - vector v; +void Triangulation::load_user_flags_line (std::istream &in) { + std::vector v; read_bool_vector (mn_tria_line_user_flags_begin, v, mn_tria_line_user_flags_end, in); load_user_flags_line (v); @@ -2011,12 +2016,12 @@ void Triangulation::load_user_flags_line (istream &in) { template -void Triangulation::load_user_flags_line (const vector &v) { +void Triangulation::load_user_flags_line (const std::vector &v) { Assert (v.size() == n_lines(), ExcGridReadError()); line_iterator line = begin_line(), endl = end_line(); - vector::const_iterator i = v.begin(); + std::vector::const_iterator i = v.begin(); for (; line!=endl; ++line, ++i) if (*i == true) line->set_user_flag(); @@ -2028,49 +2033,49 @@ void Triangulation::load_user_flags_line (const vector &v) { #if deal_II_dimension == 1 template <> -void Triangulation<1>::save_user_flags_quad (ostream &) const { +void Triangulation<1>::save_user_flags_quad (std::ostream &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::save_user_flags_quad (vector &) const { +void Triangulation<1>::save_user_flags_quad (std::vector &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::load_user_flags_quad (istream &) { +void Triangulation<1>::load_user_flags_quad (std::istream &) { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::load_user_flags_quad (const vector &) { +void Triangulation<1>::load_user_flags_quad (const std::vector &) { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::save_user_flags_hex (ostream &) const { +void Triangulation<1>::save_user_flags_hex (std::ostream &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::save_user_flags_hex (vector &) const { +void Triangulation<1>::save_user_flags_hex (std::vector &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::load_user_flags_hex (istream &) { +void Triangulation<1>::load_user_flags_hex (std::istream &) { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<1>::load_user_flags_hex (const vector &) { +void Triangulation<1>::load_user_flags_hex (const std::vector &) { Assert (false, ExcFunctionNotUseful()); }; @@ -2078,9 +2083,9 @@ void Triangulation<1>::load_user_flags_hex (const vector &) { template -void Triangulation::save_user_flags_quad (vector &v) const { +void Triangulation::save_user_flags_quad (std::vector &v) const { v.resize (n_quads(), false); - vector::iterator i = v.begin(); + std::vector::iterator i = v.begin(); quad_iterator quad = begin_quad(), endq = end_quad(); for (; quad!=endq; ++quad, ++i) @@ -2089,8 +2094,8 @@ void Triangulation::save_user_flags_quad (vector &v) const { template -void Triangulation::save_user_flags_quad (ostream &out) const { - vector v; +void Triangulation::save_user_flags_quad (std::ostream &out) const { + std::vector v; save_user_flags_quad (v); write_bool_vector (mn_tria_quad_user_flags_begin, v, mn_tria_quad_user_flags_end, out); @@ -2098,8 +2103,8 @@ void Triangulation::save_user_flags_quad (ostream &out) const { template -void Triangulation::load_user_flags_quad (istream &in) { - vector v; +void Triangulation::load_user_flags_quad (std::istream &in) { + std::vector v; read_bool_vector (mn_tria_quad_user_flags_begin, v, mn_tria_quad_user_flags_end, in); load_user_flags_quad (v); @@ -2107,12 +2112,12 @@ void Triangulation::load_user_flags_quad (istream &in) { template -void Triangulation::load_user_flags_quad (const vector &v) { +void Triangulation::load_user_flags_quad (const std::vector &v) { Assert (v.size() == n_quads(), ExcGridReadError()); quad_iterator quad = begin_quad(), endq = end_quad(); - vector::const_iterator i = v.begin(); + std::vector::const_iterator i = v.begin(); for (; quad!=endq; ++quad, ++i) if (*i == true) quad->set_user_flag(); @@ -2124,25 +2129,25 @@ void Triangulation::load_user_flags_quad (const vector &v) { #if deal_II_dimension == 2 template <> -void Triangulation<2>::save_user_flags_hex (ostream &) const { +void Triangulation<2>::save_user_flags_hex (std::ostream &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<2>::save_user_flags_hex (vector &) const { +void Triangulation<2>::save_user_flags_hex (std::vector &) const { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<2>::load_user_flags_hex (istream &) { +void Triangulation<2>::load_user_flags_hex (std::istream &) { Assert (false, ExcFunctionNotUseful()); }; template <> -void Triangulation<2>::load_user_flags_hex (const vector &) { +void Triangulation<2>::load_user_flags_hex (const std::vector &) { Assert (false, ExcFunctionNotUseful()); }; @@ -2151,9 +2156,9 @@ void Triangulation<2>::load_user_flags_hex (const vector &) { template -void Triangulation::save_user_flags_hex (vector &v) const { +void Triangulation::save_user_flags_hex (std::vector &v) const { v.resize (n_hexs(), false); - vector::iterator i = v.begin(); + std::vector::iterator i = v.begin(); hex_iterator hex = begin_hex(), endh = end_hex(); for (; hex!=endh; ++hex, ++i) @@ -2162,8 +2167,8 @@ void Triangulation::save_user_flags_hex (vector &v) const { template -void Triangulation::save_user_flags_hex (ostream &out) const { - vector v; +void Triangulation::save_user_flags_hex (std::ostream &out) const { + std::vector v; save_user_flags_hex (v); write_bool_vector (mn_tria_hex_user_flags_begin, v, mn_tria_hex_user_flags_end, out); @@ -2171,8 +2176,8 @@ void Triangulation::save_user_flags_hex (ostream &out) const { template -void Triangulation::load_user_flags_hex (istream &in) { - vector v; +void Triangulation::load_user_flags_hex (std::istream &in) { + std::vector v; read_bool_vector (mn_tria_hex_user_flags_begin, v, mn_tria_hex_user_flags_end, in); load_user_flags_hex (v); @@ -2180,12 +2185,12 @@ void Triangulation::load_user_flags_hex (istream &in) { template -void Triangulation::load_user_flags_hex (const vector &v) { +void Triangulation::load_user_flags_hex (const std::vector &v) { Assert (v.size() == n_hexs(), ExcGridReadError()); hex_iterator hex = begin_hex(), endh = end_hex(); - vector::const_iterator i = v.begin(); + std::vector::const_iterator i = v.begin(); for (; hex!=endh; ++hex, ++i) if (*i == true) hex->set_user_flag(); @@ -3592,8 +3597,8 @@ template unsigned int Triangulation::n_used_vertices () const { - return count_if (vertices_used.begin(), vertices_used.end(), - bind2nd (equal_to(), true)); + return std::count_if (vertices_used.begin(), vertices_used.end(), + std::bind2nd (std::equal_to(), true)); }; @@ -3622,16 +3627,16 @@ unsigned int Triangulation::max_adjacent_cells () const { // store the number of times a cell touches // a vertex. An unsigned int should suffice, // even for larger dimensions - vector usage_count (max_vertex_index+1, 0); + std::vector usage_count (max_vertex_index+1, 0); // touch a vertex's usage count everytime // we find an adjacent element for (cell=begin(); cell!=endc; ++cell) for (unsigned vertex=0; vertex::vertices_per_cell; ++vertex) ++usage_count[cell->vertex_index(vertex)]; - return max (GeometryInfo::vertices_per_cell, - static_cast(*(max_element (usage_count.begin(), - usage_count.end())))); + return std::max (GeometryInfo::vertices_per_cell, + static_cast(*std::max_element (usage_count.begin(), + usage_count.end()))); }; @@ -3693,9 +3698,9 @@ void Triangulation<1>::execute_refinement () { // count number of used cells on // the next higher level const unsigned int used_cells - = count_if (levels[level+1]->lines.used.begin(), - levels[level+1]->lines.used.end(), - bind2nd (equal_to(), true)); + = std::count_if (levels[level+1]->lines.used.begin(), + levels[level+1]->lines.used.end(), + std::bind2nd (std::equal_to(), true)); // reserve space for the used_cells // cells already existing on the next @@ -3717,8 +3722,8 @@ void Triangulation<1>::execute_refinement () { // add to needed vertices how // many vertices are already in use - needed_vertices += count_if (vertices_used.begin(), vertices_used.end(), - bind2nd (equal_to(), true)); + needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(), + std::bind2nd (std::equal_to(), true)); // if we need more vertices: create them, // if not: leave the array as is, since // shrinking is not really possible because @@ -3967,13 +3972,13 @@ void Triangulation<2>::execute_refinement () { // case 1 if (((neighbor->refine_flag_set() == true) && (acell->index() < neighbor->index())) - // case 1a - // we need one more vertex - // and two more lines, but - // we must only count them - // once. Convention: count - // them for the cell with - // the lower index + // case 1a + // we need one more vertex + // and two more lines, but + // we must only count them + // once. Convention: count + // them for the cell with + // the lower index || (neighbor->refine_flag_set() == false)) // case 1b @@ -4006,10 +4011,10 @@ void Triangulation<2>::execute_refinement () { // count number of used cells on // the next higher level const unsigned int used_cells - = count_if (levels[level+1]->quads.used.begin(), - levels[level+1]->quads.used.end(), - bind2nd (equal_to(), true)); - + = std::count_if (levels[level+1]->quads.used.begin(), + levels[level+1]->quads.used.end(), + std::bind2nd (std::equal_to(), true)); + // reserve space for the used_cells // cells already existing on the next @@ -4031,8 +4036,8 @@ void Triangulation<2>::execute_refinement () { // add to needed vertices how // many vertices are already in use - needed_vertices += count_if (vertices_used.begin(), vertices_used.end(), - bind2nd (equal_to(), true)); + needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(), + std::bind2nd (std::equal_to(), true)); // if we need more vertices: create them, // if not: leave the array as is, since // shrinking is not really possible because @@ -4086,23 +4091,23 @@ void Triangulation<2>::execute_refinement () { First: Set up an array of the 3x3 vertices, which are distributed on the cell - (the array consists of indices into the @p{vertices} vector + (the array consists of indices into the @p{vertices} std::vector - 6--5--4 - | | | - 7--8--3 - | | | - 0--1--2 + 6--5--4 + | | | + 7--8--3 + | | | + 0--1--2 Second: Set up an array of the new lines (the array consists of iterator pointers into the lines arrays) - .-5-.-4-. The directions are: .->-.->-. - 6 9 3 ^ ^ ^ - .-10.11- . .->-.->-. - 7 8 2 ^ ^ ^ - .-0-.-1-. .->-.->-. + .-5-.-4-. The directions are: .->-.->-. + 6 9 3 ^ ^ ^ + .-10.11- . .->-.->-. + 7 8 2 ^ ^ ^ + .-0-.-1-. .->-.->-. Please note that since the children of line are created in the direction of that line, the lines 4,5 and 6,7 are created in the wrong time order. This @@ -4114,13 +4119,13 @@ void Triangulation<2>::execute_refinement () { Third: Set up an array of neighbors: - 5 4 - .--.--. - 6| | |3 - .--.--. - 7| | |2 - .--.--. - 0 1 + 5 4 + .--.--. + 6| | |3 + .--.--. + 7| | |2 + .--.--. + 0 1 We need this array for two reasons: first to get the lines which will bound the four subcells (if the neighboring cell is refined, these @@ -4146,12 +4151,12 @@ void Triangulation<2>::execute_refinement () { Convention: The created children are numbered like this: - .--.--. - |3 . 2| - .--.--. - |0 | 1| - .--.--. - */ + .--.--. + |3 . 2| + .--.--. + |0 | 1| + .--.--. +*/ int new_vertices[9] = {cell->vertex_index(0), -1, cell->vertex_index(1), -1, @@ -4177,11 +4182,11 @@ void Triangulation<2>::execute_refinement () { bool neighbor_refined=false; if (cell->neighbor(nb).state() == valid) if (cell->neighbor(nb)->active() == false) - // (ask in two if-statements, - // since otherwise both - // conditions would be executed, - // but the second will throw an - // error if the first fails!) + // (ask in two if-statements, + // since otherwise both + // conditions would be executed, + // but the second will throw an + // error if the first fails!) neighbor_refined=true; if (neighbor_refined) @@ -4192,8 +4197,8 @@ void Triangulation<2>::execute_refinement () { // two children which // we can use. cell_iterator neighbor = cell->neighbor(nb); - // this cell is the nb_nb-th - // neighbor or neighbor(nb) + // this cell is the nb_nb-th + // neighbor or neighbor(nb) const unsigned int nb_nb = cell->neighbor_of_neighbor (nb); neighbors_neighbor[2*nb] = neighbors_neighbor[2*nb+1] = nb_nb; @@ -4249,9 +4254,9 @@ void Triangulation<2>::execute_refinement () { if ( face->boundary_indicator() != 255 ) { - // boundary vertex - new_point = boundary[face->boundary_indicator()]-> - get_new_point_on_line (face); + // boundary vertex + new_point = boundary[face->boundary_indicator()]-> + get_new_point_on_line (face); } else { // vertex between two // normal cells @@ -4299,7 +4304,7 @@ void Triangulation<2>::execute_refinement () { new_lines[nb*2] = next_unused_line; new_lines[nb*2]->set(Line(new_vertices[2*nb+1], - new_vertices[2*nb])); + new_vertices[2*nb])); new_lines[nb*2]->set_used_flag (); new_lines[nb*2]->clear_children (); new_lines[nb*2]->clear_user_pointer (); @@ -4618,9 +4623,9 @@ void Triangulation<3>::execute_refinement () { // count number of used cells on // the next higher level const unsigned int used_cells - = count_if (levels[level+1]->quads.used.begin(), - levels[level+1]->quads.used.end(), - bind2nd (equal_to(), true)); + = std::count_if (levels[level+1]->quads.used.begin(), + levels[level+1]->quads.used.end(), + std::bind2nd (std::equal_to(), true)); // reserve space for the used_cells @@ -4647,8 +4652,8 @@ void Triangulation<3>::execute_refinement () { // add to needed vertices how // many vertices are already in use - needed_vertices += count_if (vertices_used.begin(), vertices_used.end(), - bind2nd (equal_to(), true)); + needed_vertices += std::count_if (vertices_used.begin(), vertices_used.end(), + std::bind2nd (std::equal_to(), true)); // if we need more vertices: create them, // if not: leave the array as is, since // shrinking is not really possible because @@ -5279,13 +5284,13 @@ void Triangulation<3>::execute_refinement () { line_indices[25], line_indices[12])); new_quads[10]->set (Quad(line_indices[25], - line_indices[18], - line_indices[23], - line_indices[14])); + line_indices[18], + line_indices[23], + line_indices[14])); new_quads[11]->set (Quad(line_indices[24], - line_indices[14], - line_indices[22], - line_indices[2])); + line_indices[14], + line_indices[22], + line_indices[2])); for (unsigned int i=0; i<12; ++i) { new_quads[i]->set_used_flag(); @@ -5895,22 +5900,22 @@ void Triangulation<3>::prepare_refinement_dim_dependent () }; }; - // there is another thing here: - // if any of the lines if refined, - // we may not coarsen this cell. - // this also holds true if the - // line is not yet refined, but - // will be - // - // this is not totally true, - // since the neighbors' children - // may also be all coarsened, - // but we do not catch these - // aspects here; in effect, we - // disallow to coarsen sharp - // edges where the refinement - // level decreases from each cell - // to the next + // there is another thing here: + // if any of the lines if refined, + // we may not coarsen this cell. + // this also holds true if the + // line is not yet refined, but + // will be + // + // this is not totally true, + // since the neighbors' children + // may also be all coarsened, + // but we do not catch these + // aspects here; in effect, we + // disallow to coarsen sharp + // edges where the refinement + // level decreases from each cell + // to the next if (cell->line(line)->has_children() || cell->line(line)->user_flag_set()) if (cell->coarsen_flag_set()) @@ -6033,7 +6038,7 @@ void Triangulation::fix_coarsen_flags () { for (unsigned int c=0; c::children_per_cell; ++c) { Assert (cell->child(c)->refine_flag_set()==false, - ExcInternalError()); + ExcInternalError()); cell->child(c)->set_coarsen_flag(); }; @@ -6047,7 +6052,7 @@ bool Triangulation::prepare_coarsening_and_refinement () { // save the flags to determine whether // something was changed in the course // of this function - vector flags_before[2]; + std::vector flags_before[2]; save_coarsen_flags (flags_before[0]); save_refine_flags (flags_before[1]); @@ -6058,7 +6063,7 @@ bool Triangulation::prepare_coarsening_and_refinement () { { fix_coarsen_flags (); - vector flags_after[2]; + std::vector flags_after[2]; save_coarsen_flags (flags_after[0]); save_refine_flags (flags_after[1]); @@ -6099,8 +6104,8 @@ bool Triangulation::prepare_coarsening_and_refinement () { // is enough. Unfortunately, each // loop is rather expensive, so // we chose the way presented here - vector flags_before_loop[2] = {flags_before[0], - flags_before[1]}; + std::vector flags_before_loop[2] = {flags_before[0], + flags_before[1]}; // now for what is done in each loop: we // have to fulfill several tasks at the @@ -6416,7 +6421,7 @@ bool Triangulation::prepare_coarsening_and_refinement () { { // store highest level one of the cells // adjacent to a vertex belongs to - vector vertex_level (vertices.size(), 0); + std::vector vertex_level (vertices.size(), 0); active_cell_iterator cell = begin_active(), endc = end(); for (; cell!=endc; ++cell) @@ -6424,12 +6429,12 @@ bool Triangulation::prepare_coarsening_and_refinement () { ++vertex) if (cell->refine_flag_set()) vertex_level[cell->vertex_index(vertex)] - = max (vertex_level[cell->vertex_index(vertex)], - cell->level()+1); + = std::max (vertex_level[cell->vertex_index(vertex)], + cell->level()+1); else vertex_level[cell->vertex_index(vertex)] - = max (vertex_level[cell->vertex_index(vertex)], - cell->level()); + = std::max (vertex_level[cell->vertex_index(vertex)], + cell->level()); // loop over all cells in reverse // order. do so because we can then @@ -6451,8 +6456,8 @@ bool Triangulation::prepare_coarsening_and_refinement () { for (unsigned int v=0; v::vertices_per_cell; ++v) vertex_level[cell->vertex_index(v)] - = max (vertex_level[cell->vertex_index(v)], - cell->level()+1); + = std::max (vertex_level[cell->vertex_index(v)], + cell->level()+1); // now that we fixed this cell, // we can safely leave this @@ -6737,7 +6742,7 @@ bool Triangulation::prepare_coarsening_and_refinement () { // get the refinement and coarsening // flags - vector flags_after_loop[2]; + std::vector flags_after_loop[2]; save_coarsen_flags (flags_after_loop[0]); save_refine_flags (flags_after_loop[1]); @@ -7190,19 +7195,19 @@ void Triangulation<3>::delete_children (cell_iterator &cell) { // used, is more severe and causes a memory // leak which is probably impossible to // find. - const pair line_is_needed_pairs[12] - = { make_pair(cell->line(0), false), - make_pair(cell->line(1), false), - make_pair(cell->line(2), false), - make_pair(cell->line(3), false), - make_pair(cell->line(4), false), - make_pair(cell->line(5), false), - make_pair(cell->line(6), false), - make_pair(cell->line(7), false), - make_pair(cell->line(8), false), - make_pair(cell->line(9), false), - make_pair(cell->line(10), false), - make_pair(cell->line(11), false) }; + const std::pair line_is_needed_pairs[12] + = { std::make_pair(cell->line(0), false), + std::make_pair(cell->line(1), false), + std::make_pair(cell->line(2), false), + std::make_pair(cell->line(3), false), + std::make_pair(cell->line(4), false), + std::make_pair(cell->line(5), false), + std::make_pair(cell->line(6), false), + std::make_pair(cell->line(7), false), + std::make_pair(cell->line(8), false), + std::make_pair(cell->line(9), false), + std::make_pair(cell->line(10), false), + std::make_pair(cell->line(11), false) }; // if in debug mode: make sure that // none of the lines of this cell is // twice refined; else, deleting this @@ -7216,14 +7221,14 @@ void Triangulation<3>::delete_children (cell_iterator &cell) { // next make a map out of this for simpler // access to the flag associated with a // line - map line_is_needed (&line_is_needed_pairs[0], - &line_is_needed_pairs[12]); + std::map line_is_needed (&line_is_needed_pairs[0], + &line_is_needed_pairs[12]); // then ask each neighbor and their neighbors for (unsigned int nb=0; nb::faces_per_cell; ++nb) { const cell_iterator neighbor = cell->neighbor(nb); - // do nothing if at boundary + // do nothing if at boundary if (neighbor.state() != valid) continue; @@ -7297,7 +7302,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) { // now, if the lines are not marked as // needed, we may delete their children // and the midpoint - map::iterator line_and_flag; + std::map::iterator line_and_flag; for (line_and_flag=line_is_needed.begin(); line_and_flag!=line_is_needed.end(); ++line_and_flag) if (line_and_flag->second == false) @@ -7322,9 +7327,9 @@ void Triangulation<3>::delete_children (cell_iterator &cell) { template void Triangulation::write_bool_vector (const unsigned int magic_number1, - const vector &v, + const std::vector &v, const unsigned int magic_number2, - ostream &out) { + std::ostream &out) { const unsigned int N = v.size(); unsigned char *flags = new unsigned char[N/8+1]; for (unsigned int i=0; i::write_bool_vector (const unsigned int magic_number1, // 1. number of flags // 2. the flags // 3. magic number - out << magic_number1 << ' ' << N << endl; + out << magic_number1 << ' ' << N << std::endl; for (unsigned int i=0; i(flags[i]) << ' '; - out << endl << magic_number2 << endl; + out << std::endl << magic_number2 << std::endl; delete[] flags; @@ -7353,9 +7358,9 @@ void Triangulation::write_bool_vector (const unsigned int magic_number1, template void Triangulation::read_bool_vector (const unsigned int magic_number1, - vector &v, + std::vector &v, const unsigned int magic_number2, - istream &in) { + std::istream &in) { AssertThrow (in, ExcIO()); unsigned int magic_number; diff --git a/deal.II/deal.II/source/grid/tria_accessor.cc b/deal.II/deal.II/source/grid/tria_accessor.cc index 873d181d54..78e66076bb 100644 --- a/deal.II/deal.II/source/grid/tria_accessor.cc +++ b/deal.II/deal.II/source/grid/tria_accessor.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -379,8 +379,8 @@ bool TriaObjectAccessor<2, dim>::at_boundary () const template double TriaObjectAccessor<2, dim>::diameter () const { - return sqrt(max((vertex(2)-vertex(0)).square(), - (vertex(3)-vertex(1)).square())); + return sqrt(std::max((vertex(2)-vertex(0)).square(), + (vertex(3)-vertex(1)).square())); }; @@ -411,7 +411,7 @@ Point<2> TriaObjectAccessor<2, 2>::barycenter () const |K| = \int_K 1 dx dy = \int_{\hat K} |det J| d(xi) d(eta) and that the barycenter is given by \vec x_s = 1/|K| \int_K \vec x dx dy - = 1/|K| \int_{\hat K} \vec x(xi,eta) |det J| d(xi) d(eta) + = 1/|K| \int_{\hat K} \vec x(xi,eta) |det J| d(xi) d(eta) # x and y are arrays holding the x- and y-values of the four vertices # of this cell in real space. @@ -535,39 +535,39 @@ Point<3> TriaObjectAccessor<2, 3>::barycenter () const an area element in real space; this equals the Jacobian determinant at this point, then. To do so, find out the points in real space belonging to - xi,eta - xi+dxi, eta - xi, eta+deta + xi,eta + xi+dxi, eta + xi, eta+deta To this end, remember that the mapping is - x(xi,eta) = \sum_i=0^3 x_i phi_i(xi,eta) - y(xi,eta) = \sum_i=0^3 y_i phi_i(xi,eta) - z(xi,eta) = \sum_i=0^3 z_i phi_i(xi,eta) + x(xi,eta) = \sum_i=0^3 x_i phi_i(xi,eta) + y(xi,eta) = \sum_i=0^3 y_i phi_i(xi,eta) + z(xi,eta) = \sum_i=0^3 z_i phi_i(xi,eta) with x_i, y_i being the four vertices and the phi_i the shape functions corresponding to these four vertices of this face. Now the real space points belonging to the above points on the unit face are: - x, y, z - x+sum x_i \partial_xi phi_i(xi,eta) dxi, - y+sum y_i \partial_xi phi_i(xi,eta) dxi, - z+sum z_i \partial_xi phi_i(xi,eta) dxi - x+sum x_i \partial_eta phi_i(xi,eta) deta, - y+sum y_i \partial_eta phi_i(xi,eta) deta, - z+sum z_i \partial_eta phi_i(xi,eta) deta + x, y, z + x+sum x_i \partial_xi phi_i(xi,eta) dxi, + y+sum y_i \partial_xi phi_i(xi,eta) dxi, + z+sum z_i \partial_xi phi_i(xi,eta) dxi + x+sum x_i \partial_eta phi_i(xi,eta) deta, + y+sum y_i \partial_eta phi_i(xi,eta) deta, + z+sum z_i \partial_eta phi_i(xi,eta) deta The unit infinitesimal vectors at the point xi,eta have the direction - dxi, 0 - 0, deta + dxi, 0 + 0, deta and are therefore in real space - sum x_i \partial_xi phi_i(xi,eta) dxi, - sum y_i \partial_xi phi_i(xi,eta) dxi, - sum z_i \partial_xi phi_i(xi,eta) dxi - sum x_i \partial_eta phi_i(xi,eta) deta, - sum y_i \partial_eta phi_i(xi,eta) deta - sum z_i \partial_eta phi_i(xi,eta) deta + sum x_i \partial_xi phi_i(xi,eta) dxi, + sum y_i \partial_xi phi_i(xi,eta) dxi, + sum z_i \partial_xi phi_i(xi,eta) dxi + sum x_i \partial_eta phi_i(xi,eta) deta, + sum y_i \partial_eta phi_i(xi,eta) deta + sum z_i \partial_eta phi_i(xi,eta) deta or in other form: - \partial_xi (x,y,z) dxi - \partial_eta (x,y,z) deta + \partial_xi (x,y,z) dxi + \partial_eta (x,y,z) deta Then the area element is the length of the cross-product of these two vectors and the Jacobian determinant is this expression divided by dxi deta: - |J| = |(\partial_xi (x,y,z) \times (\partial_eta (x,y,z)| + |J| = |(\partial_xi (x,y,z) \times (\partial_eta (x,y,z)| There is a script in the deal.II/source/fe/scripts/3d directory, which does these computations in Maple. @@ -771,10 +771,10 @@ bool TriaObjectAccessor<3, dim>::at_boundary () const template double TriaObjectAccessor<3, dim>::diameter () const { - return sqrt(max( max((vertex(6)-vertex(0)).square(), - (vertex(7)-vertex(1)).square()), - max((vertex(4)-vertex(2)).square(), - (vertex(5)-vertex(3)).square()) )); + return sqrt(std::max( std::max((vertex(6)-vertex(0)).square(), + (vertex(7)-vertex(1)).square()), + std::max((vertex(4)-vertex(2)).square(), + (vertex(5)-vertex(3)).square()) )); }; @@ -800,7 +800,7 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const |K| = \int_K 1 dx dy dz = \int_{\hat K} |det J| d(xi) d(eta) d(zeta) and that the barycenter is given by \vec x_s = 1/|K| \int_K \vec x dx dy dz - = 1/|K| \int_{\hat K} \vec x(xi,eta,zeta) |det J| d(xi) d(eta) d(zeta) + = 1/|K| \int_{\hat K} \vec x(xi,eta,zeta) |det J| d(xi) d(eta) d(zeta) # x, y and z are arrays holding the x-, y- and z-values of the four vertices # of this cell in real space. @@ -820,8 +820,8 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const z_real := sum(z[s]*tphi[s], s=0..7): with (linalg): J := matrix(3,3, [[diff(x_real, xi), diff(x_real, eta), diff(x_real, zeta)], - [diff(y_real, xi), diff(y_real, eta), diff(y_real, zeta)], - [diff(z_real, xi), diff(z_real, eta), diff(z_real, zeta)]]): + [diff(y_real, xi), diff(y_real, eta), diff(y_real, zeta)], + [diff(z_real, xi), diff(z_real, eta), diff(z_real, zeta)]]): detJ := det (J): measure := simplify ( int ( int ( int (detJ, xi=0..1), eta=0..1), zeta=0..1)): @@ -864,572 +864,572 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const s1 = 1.0/6.0; s8 = -x[2]*x[2]*y[0]*z[3]-2.0*z[6]*x[7]*x[7]*y[4]-z[5]*x[7]*x[7]*y[4]-z -[6]*x[7]*x[7]*y[5]+2.0*y[6]*x[7]*x[7]*z[4]-z[5]*x[6]*x[6]*y[4]+x[6]*x[6]*y[4]*z -[7]-z[1]*x[0]*x[0]*y[2]-x[6]*x[6]*y[7]*z[4]+2.0*x[6]*x[6]*y[5]*z[7]-2.0*x[6]*x -[6]*y[7]*z[5]+y[5]*x[6]*x[6]*z[4]+2.0*x[5]*x[5]*y[4]*z[6]+x[0]*x[0]*y[7]*z[4] --2.0*x[5]*x[5]*y[6]*z[4]; + [6]*x[7]*x[7]*y[5]+2.0*y[6]*x[7]*x[7]*z[4]-z[5]*x[6]*x[6]*y[4]+x[6]*x[6]*y[4]*z + [7]-z[1]*x[0]*x[0]*y[2]-x[6]*x[6]*y[7]*z[4]+2.0*x[6]*x[6]*y[5]*z[7]-2.0*x[6]*x + [6]*y[7]*z[5]+y[5]*x[6]*x[6]*z[4]+2.0*x[5]*x[5]*y[4]*z[6]+x[0]*x[0]*y[7]*z[4] + -2.0*x[5]*x[5]*y[6]*z[4]; s7 = s8-y[6]*x[5]*x[5]*z[7]+z[6]*x[5]*x[5]*y[7]-y[1]*x[0]*x[0]*z[5]+x[7]* -z[5]*x[4]*y[7]-x[7]*y[6]*x[5]*z[7]-2.0*x[7]*x[6]*y[7]*z[4]+2.0*x[7]*x[6]*y[4]*z -[7]-x[7]*x[5]*y[7]*z[4]-2.0*x[7]*y[6]*x[4]*z[7]-x[7]*y[5]*x[4]*z[7]+x[2]*x[2]*y -[3]*z[0]-x[7]*x[6]*y[7]*z[5]+x[7]*x[6]*y[5]*z[7]+2.0*x[1]*x[1]*y[0]*z[5]+x[7]*z -[6]*x[5]*y[7]; + z[5]*x[4]*y[7]-x[7]*y[6]*x[5]*z[7]-2.0*x[7]*x[6]*y[7]*z[4]+2.0*x[7]*x[6]*y[4]*z + [7]-x[7]*x[5]*y[7]*z[4]-2.0*x[7]*y[6]*x[4]*z[7]-x[7]*y[5]*x[4]*z[7]+x[2]*x[2]*y + [3]*z[0]-x[7]*x[6]*y[7]*z[5]+x[7]*x[6]*y[5]*z[7]+2.0*x[1]*x[1]*y[0]*z[5]+x[7]*z + [6]*x[5]*y[7]; s8 = -2.0*x[1]*x[1]*y[5]*z[0]+z[1]*x[0]*x[0]*y[5]+2.0*x[2]*x[2]*y[3]*z[1] --z[5]*x[4]*x[4]*y[1]+y[5]*x[4]*x[4]*z[1]-2.0*x[5]*x[5]*y[4]*z[1]+2.0*x[5]*x[5]* -y[1]*z[4]-2.0*x[2]*x[2]*y[1]*z[3]-y[1]*x[2]*x[2]*z[0]+x[7]*y[2]*x[3]*z[7]+x[7]* -z[2]*x[6]*y[3]+2.0*x[7]*z[6]*x[4]*y[7]+z[5]*x[1]*x[1]*y[4]+z[1]*x[2]*x[2]*y[0] --2.0*y[0]*x[3]*x[3]*z[7]; + -z[5]*x[4]*x[4]*y[1]+y[5]*x[4]*x[4]*z[1]-2.0*x[5]*x[5]*y[4]*z[1]+2.0*x[5]*x[5]* + y[1]*z[4]-2.0*x[2]*x[2]*y[1]*z[3]-y[1]*x[2]*x[2]*z[0]+x[7]*y[2]*x[3]*z[7]+x[7]* + z[2]*x[6]*y[3]+2.0*x[7]*z[6]*x[4]*y[7]+z[5]*x[1]*x[1]*y[4]+z[1]*x[2]*x[2]*y[0] + -2.0*y[0]*x[3]*x[3]*z[7]; s6 = s8+2.0*z[0]*x[3]*x[3]*y[7]-x[7]*x[2]*y[3]*z[7]-x[7]*z[2]*x[3]*y[7]+x -[7]*x[2]*y[7]*z[3]-x[7]*y[2]*x[6]*z[3]+x[4]*x[5]*y[1]*z[4]-x[4]*x[5]*y[4]*z[1]+ -x[4]*z[5]*x[1]*y[4]-x[4]*y[5]*x[1]*z[4]-2.0*x[5]*z[5]*x[4]*y[1]-2.0*x[5]*y[5]*x -[1]*z[4]+2.0*x[5]*z[5]*x[1]*y[4]+2.0*x[5]*y[5]*x[4]*z[1]-x[6]*z[5]*x[7]*y[4]-z -[2]*x[3]*x[3]*y[6]+s7; + [7]*x[2]*y[7]*z[3]-x[7]*y[2]*x[6]*z[3]+x[4]*x[5]*y[1]*z[4]-x[4]*x[5]*y[4]*z[1]+ + x[4]*z[5]*x[1]*y[4]-x[4]*y[5]*x[1]*z[4]-2.0*x[5]*z[5]*x[4]*y[1]-2.0*x[5]*y[5]*x + [1]*z[4]+2.0*x[5]*z[5]*x[1]*y[4]+2.0*x[5]*y[5]*x[4]*z[1]-x[6]*z[5]*x[7]*y[4]-z + [2]*x[3]*x[3]*y[6]+s7; s8 = -2.0*x[6]*z[6]*x[7]*y[5]-x[6]*y[6]*x[4]*z[7]+y[2]*x[3]*x[3]*z[6]+x -[6]*y[6]*x[7]*z[4]+2.0*y[2]*x[3]*x[3]*z[7]+x[0]*x[1]*y[0]*z[5]+x[0]*y[1]*x[5]*z -[0]-x[0]*z[1]*x[5]*y[0]-2.0*z[2]*x[3]*x[3]*y[7]+2.0*x[6]*z[6]*x[5]*y[7]-x[0]*x -[1]*y[5]*z[0]-x[6]*y[5]*x[4]*z[6]-2.0*x[3]*z[0]*x[7]*y[3]-x[6]*z[6]*x[7]*y[4] --2.0*x[1]*z[1]*x[5]*y[0]; + [6]*y[6]*x[7]*z[4]+2.0*y[2]*x[3]*x[3]*z[7]+x[0]*x[1]*y[0]*z[5]+x[0]*y[1]*x[5]*z + [0]-x[0]*z[1]*x[5]*y[0]-2.0*z[2]*x[3]*x[3]*y[7]+2.0*x[6]*z[6]*x[5]*y[7]-x[0]*x + [1]*y[5]*z[0]-x[6]*y[5]*x[4]*z[6]-2.0*x[3]*z[0]*x[7]*y[3]-x[6]*z[6]*x[7]*y[4] + -2.0*x[1]*z[1]*x[5]*y[0]; s7 = s8+2.0*x[1]*y[1]*x[5]*z[0]+2.0*x[1]*z[1]*x[0]*y[5]+2.0*x[3]*y[0]*x -[7]*z[3]+2.0*x[3]*x[0]*y[3]*z[7]-2.0*x[3]*x[0]*y[7]*z[3]-2.0*x[1]*y[1]*x[0]*z -[5]-2.0*x[6]*y[6]*x[5]*z[7]+s6-y[5]*x[1]*x[1]*z[4]+x[6]*z[6]*x[4]*y[7]-2.0*x[2] -*y[2]*x[3]*z[1]+x[6]*z[5]*x[4]*y[6]+x[6]*x[5]*y[4]*z[6]-y[6]*x[7]*x[7]*z[2]-x -[6]*x[5]*y[6]*z[4]; + [7]*z[3]+2.0*x[3]*x[0]*y[3]*z[7]-2.0*x[3]*x[0]*y[7]*z[3]-2.0*x[1]*y[1]*x[0]*z + [5]-2.0*x[6]*y[6]*x[5]*z[7]+s6-y[5]*x[1]*x[1]*z[4]+x[6]*z[6]*x[4]*y[7]-2.0*x[2] + *y[2]*x[3]*z[1]+x[6]*z[5]*x[4]*y[6]+x[6]*x[5]*y[4]*z[6]-y[6]*x[7]*x[7]*z[2]-x + [6]*x[5]*y[6]*z[4]; s8 = x[3]*x[3]*y[7]*z[4]-2.0*y[6]*x[7]*x[7]*z[3]+z[6]*x[7]*x[7]*y[2]+2.0* -z[6]*x[7]*x[7]*y[3]+2.0*y[1]*x[0]*x[0]*z[3]+2.0*x[0]*x[1]*y[3]*z[0]-2.0*x[0]*y -[0]*x[3]*z[4]-2.0*x[0]*z[1]*x[4]*y[0]-2.0*x[0]*y[1]*x[3]*z[0]+2.0*x[0]*y[0]*x -[4]*z[3]-2.0*x[0]*z[0]*x[4]*y[3]+2.0*x[0]*x[1]*y[0]*z[4]+2.0*x[0]*z[1]*x[3]*y -[0]-2.0*x[0]*x[1]*y[0]*z[3]-2.0*x[0]*x[1]*y[4]*z[0]+2.0*x[0]*y[1]*x[4]*z[0]; + z[6]*x[7]*x[7]*y[3]+2.0*y[1]*x[0]*x[0]*z[3]+2.0*x[0]*x[1]*y[3]*z[0]-2.0*x[0]*y + [0]*x[3]*z[4]-2.0*x[0]*z[1]*x[4]*y[0]-2.0*x[0]*y[1]*x[3]*z[0]+2.0*x[0]*y[0]*x + [4]*z[3]-2.0*x[0]*z[0]*x[4]*y[3]+2.0*x[0]*x[1]*y[0]*z[4]+2.0*x[0]*z[1]*x[3]*y + [0]-2.0*x[0]*x[1]*y[0]*z[3]-2.0*x[0]*x[1]*y[4]*z[0]+2.0*x[0]*y[1]*x[4]*z[0]; s5 = s8+2.0*x[0]*z[0]*x[3]*y[4]+x[1]*y[1]*x[0]*z[3]-x[1]*z[1]*x[4]*y[0]-x -[1]*y[1]*x[0]*z[4]+x[1]*z[1]*x[0]*y[4]-x[1]*y[1]*x[3]*z[0]-x[1]*z[1]*x[0]*y[3]- -x[0]*z[5]*x[4]*y[1]+x[0]*y[5]*x[4]*z[1]-2.0*x[4]*x[0]*y[4]*z[7]-2.0*x[4]*y[5]*x -[0]*z[4]+2.0*x[4]*z[5]*x[0]*y[4]-2.0*x[4]*x[5]*y[4]*z[0]-2.0*x[4]*y[0]*x[7]*z -[4]-x[5]*y[5]*x[0]*z[4]+s7; + [1]*y[1]*x[0]*z[4]+x[1]*z[1]*x[0]*y[4]-x[1]*y[1]*x[3]*z[0]-x[1]*z[1]*x[0]*y[3]- + x[0]*z[5]*x[4]*y[1]+x[0]*y[5]*x[4]*z[1]-2.0*x[4]*x[0]*y[4]*z[7]-2.0*x[4]*y[5]*x + [0]*z[4]+2.0*x[4]*z[5]*x[0]*y[4]-2.0*x[4]*x[5]*y[4]*z[0]-2.0*x[4]*y[0]*x[7]*z + [4]-x[5]*y[5]*x[0]*z[4]+s7; s8 = x[5]*z[5]*x[0]*y[4]-x[5]*z[5]*x[4]*y[0]+x[1]*z[5]*x[0]*y[4]+x[5]*y -[5]*x[4]*z[0]-x[0]*y[0]*x[7]*z[4]-x[0]*z[5]*x[4]*y[0]-x[1]*y[5]*x[0]*z[4]+x[0]* -z[0]*x[7]*y[4]+x[0]*y[5]*x[4]*z[0]-x[0]*z[0]*x[4]*y[7]+x[0]*x[5]*y[0]*z[4]+x[0] -*y[0]*x[4]*z[7]-x[0]*x[5]*y[4]*z[0]-x[3]*x[3]*y[4]*z[7]+2.0*x[2]*z[2]*x[3]*y[1] -; + [5]*x[4]*z[0]-x[0]*y[0]*x[7]*z[4]-x[0]*z[5]*x[4]*y[0]-x[1]*y[5]*x[0]*z[4]+x[0]* + z[0]*x[7]*y[4]+x[0]*y[5]*x[4]*z[0]-x[0]*z[0]*x[4]*y[7]+x[0]*x[5]*y[0]*z[4]+x[0] + *y[0]*x[4]*z[7]-x[0]*x[5]*y[4]*z[0]-x[3]*x[3]*y[4]*z[7]+2.0*x[2]*z[2]*x[3]*y[1] + ; s7 = s8-x[5]*x[5]*y[4]*z[0]+2.0*y[5]*x[4]*x[4]*z[0]-2.0*z[0]*x[4]*x[4]*y -[7]+2.0*y[0]*x[4]*x[4]*z[7]-2.0*z[5]*x[4]*x[4]*y[0]+x[5]*x[5]*y[4]*z[7]-x[5]*x -[5]*y[7]*z[4]-2.0*y[5]*x[4]*x[4]*z[7]+2.0*z[5]*x[4]*x[4]*y[7]-x[0]*x[0]*y[7]*z -[3]+y[2]*x[0]*x[0]*z[3]+x[0]*x[0]*y[3]*z[7]-x[5]*x[1]*y[4]*z[0]+x[5]*y[1]*x[4]* -z[0]-x[4]*y[0]*x[3]*z[4]; + [7]+2.0*y[0]*x[4]*x[4]*z[7]-2.0*z[5]*x[4]*x[4]*y[0]+x[5]*x[5]*y[4]*z[7]-x[5]*x + [5]*y[7]*z[4]-2.0*y[5]*x[4]*x[4]*z[7]+2.0*z[5]*x[4]*x[4]*y[7]-x[0]*x[0]*y[7]*z + [3]+y[2]*x[0]*x[0]*z[3]+x[0]*x[0]*y[3]*z[7]-x[5]*x[1]*y[4]*z[0]+x[5]*y[1]*x[4]* + z[0]-x[4]*y[0]*x[3]*z[4]; s8 = -x[4]*y[1]*x[0]*z[4]+x[4]*z[1]*x[0]*y[4]+x[4]*x[0]*y[3]*z[4]-x[4]*x -[0]*y[4]*z[3]+x[4]*x[1]*y[0]*z[4]-x[4]*x[1]*y[4]*z[0]+x[4]*z[0]*x[3]*y[4]+x[5]* -x[1]*y[0]*z[4]+x[1]*z[1]*x[3]*y[0]+x[1]*y[1]*x[4]*z[0]-x[5]*z[1]*x[4]*y[0]-2.0* -y[1]*x[0]*x[0]*z[4]+2.0*z[1]*x[0]*x[0]*y[4]+2.0*x[0]*x[0]*y[3]*z[4]-2.0*z[1]*x -[0]*x[0]*y[3]; + [0]*y[4]*z[3]+x[4]*x[1]*y[0]*z[4]-x[4]*x[1]*y[4]*z[0]+x[4]*z[0]*x[3]*y[4]+x[5]* + x[1]*y[0]*z[4]+x[1]*z[1]*x[3]*y[0]+x[1]*y[1]*x[4]*z[0]-x[5]*z[1]*x[4]*y[0]-2.0* + y[1]*x[0]*x[0]*z[4]+2.0*z[1]*x[0]*x[0]*y[4]+2.0*x[0]*x[0]*y[3]*z[4]-2.0*z[1]*x + [0]*x[0]*y[3]; s6 = s8-2.0*x[0]*x[0]*y[4]*z[3]+x[1]*x[1]*y[3]*z[0]+x[1]*x[1]*y[0]*z[4]-x -[1]*x[1]*y[0]*z[3]-x[1]*x[1]*y[4]*z[0]-z[1]*x[4]*x[4]*y[0]+y[0]*x[4]*x[4]*z[3]- -z[0]*x[4]*x[4]*y[3]+y[1]*x[4]*x[4]*z[0]-x[0]*x[0]*y[4]*z[7]-y[5]*x[0]*x[0]*z[4] -+z[5]*x[0]*x[0]*y[4]+x[5]*x[5]*y[0]*z[4]-x[0]*y[0]*x[3]*z[7]+x[0]*z[0]*x[3]*y -[7]+s7; + [1]*x[1]*y[0]*z[3]-x[1]*x[1]*y[4]*z[0]-z[1]*x[4]*x[4]*y[0]+y[0]*x[4]*x[4]*z[3]- + z[0]*x[4]*x[4]*y[3]+y[1]*x[4]*x[4]*z[0]-x[0]*x[0]*y[4]*z[7]-y[5]*x[0]*x[0]*z[4] + +z[5]*x[0]*x[0]*y[4]+x[5]*x[5]*y[0]*z[4]-x[0]*y[0]*x[3]*z[7]+x[0]*z[0]*x[3]*y + [7]+s7; s8 = s6+x[0]*x[2]*y[3]*z[0]-x[0]*x[2]*y[0]*z[3]+x[0]*y[0]*x[7]*z[3]-x[0]* -y[2]*x[3]*z[0]+x[0]*z[2]*x[3]*y[0]-x[0]*z[0]*x[7]*y[3]+x[1]*x[2]*y[3]*z[0]-z[2] -*x[0]*x[0]*y[3]+x[3]*z[2]*x[6]*y[3]-x[3]*x[2]*y[3]*z[6]+x[3]*x[2]*y[6]*z[3]-x -[3]*y[2]*x[6]*z[3]-2.0*x[3]*y[2]*x[7]*z[3]+2.0*x[3]*z[2]*x[7]*y[3]; + y[2]*x[3]*z[0]+x[0]*z[2]*x[3]*y[0]-x[0]*z[0]*x[7]*y[3]+x[1]*x[2]*y[3]*z[0]-z[2] + *x[0]*x[0]*y[3]+x[3]*z[2]*x[6]*y[3]-x[3]*x[2]*y[3]*z[6]+x[3]*x[2]*y[6]*z[3]-x + [3]*y[2]*x[6]*z[3]-2.0*x[3]*y[2]*x[7]*z[3]+2.0*x[3]*z[2]*x[7]*y[3]; s7 = s8+2.0*x[4]*y[5]*x[7]*z[4]+2.0*x[4]*x[5]*y[4]*z[7]-2.0*x[4]*z[5]*x -[7]*y[4]-2.0*x[4]*x[5]*y[7]*z[4]+x[5]*y[5]*x[7]*z[4]-x[5]*z[5]*x[7]*y[4]-x[5]*y -[5]*x[4]*z[7]+x[5]*z[5]*x[4]*y[7]+2.0*x[3]*x[2]*y[7]*z[3]-2.0*x[2]*z[2]*x[1]*y -[3]+2.0*x[4]*z[0]*x[7]*y[4]+2.0*x[4]*x[0]*y[7]*z[4]+2.0*x[4]*x[5]*y[0]*z[4]-x -[7]*x[6]*y[2]*z[7]-2.0*x[3]*x[2]*y[3]*z[7]-x[0]*x[4]*y[7]*z[3]; + [7]*y[4]-2.0*x[4]*x[5]*y[7]*z[4]+x[5]*y[5]*x[7]*z[4]-x[5]*z[5]*x[7]*y[4]-x[5]*y + [5]*x[4]*z[7]+x[5]*z[5]*x[4]*y[7]+2.0*x[3]*x[2]*y[7]*z[3]-2.0*x[2]*z[2]*x[1]*y + [3]+2.0*x[4]*z[0]*x[7]*y[4]+2.0*x[4]*x[0]*y[7]*z[4]+2.0*x[4]*x[5]*y[0]*z[4]-x + [7]*x[6]*y[2]*z[7]-2.0*x[3]*x[2]*y[3]*z[7]-x[0]*x[4]*y[7]*z[3]; s8 = x[0]*x[3]*y[7]*z[4]-x[0]*x[3]*y[4]*z[7]+x[0]*x[4]*y[3]*z[7]-2.0*x[7] -*z[6]*x[3]*y[7]+x[3]*x[7]*y[4]*z[3]-x[3]*x[4]*y[7]*z[3]-x[3]*x[7]*y[3]*z[4]+x -[3]*x[4]*y[3]*z[7]+2.0*x[2]*y[2]*x[1]*z[3]+y[6]*x[3]*x[3]*z[7]-z[6]*x[3]*x[3]*y -[7]-x[1]*z[5]*x[4]*y[1]-x[1]*x[5]*y[4]*z[1]-x[1]*z[2]*x[0]*y[3]-x[1]*x[2]*y[0]* -z[3]+x[1]*y[2]*x[0]*z[3]; + *z[6]*x[3]*y[7]+x[3]*x[7]*y[4]*z[3]-x[3]*x[4]*y[7]*z[3]-x[3]*x[7]*y[3]*z[4]+x + [3]*x[4]*y[3]*z[7]+2.0*x[2]*y[2]*x[1]*z[3]+y[6]*x[3]*x[3]*z[7]-z[6]*x[3]*x[3]*y + [7]-x[1]*z[5]*x[4]*y[1]-x[1]*x[5]*y[4]*z[1]-x[1]*z[2]*x[0]*y[3]-x[1]*x[2]*y[0]* + z[3]+x[1]*y[2]*x[0]*z[3]; s4 = s8+x[1]*x[5]*y[1]*z[4]+x[1]*y[5]*x[4]*z[1]+x[4]*y[0]*x[7]*z[3]-x[4]* -z[0]*x[7]*y[3]-x[4]*x[4]*y[7]*z[3]+x[4]*x[4]*y[3]*z[7]+x[3]*z[6]*x[7]*y[3]-x[3] -*x[6]*y[3]*z[7]+x[3]*x[6]*y[7]*z[3]-x[3]*z[6]*x[2]*y[7]-x[3]*y[6]*x[7]*z[3]+x -[3]*z[6]*x[7]*y[2]+x[3]*y[6]*x[2]*z[7]+2.0*x[5]*z[5]*x[4]*y[6]+s5+s7; + z[0]*x[7]*y[3]-x[4]*x[4]*y[7]*z[3]+x[4]*x[4]*y[3]*z[7]+x[3]*z[6]*x[7]*y[3]-x[3] + *x[6]*y[3]*z[7]+x[3]*x[6]*y[7]*z[3]-x[3]*z[6]*x[2]*y[7]-x[3]*y[6]*x[7]*z[3]+x + [3]*z[6]*x[7]*y[2]+x[3]*y[6]*x[2]*z[7]+2.0*x[5]*z[5]*x[4]*y[6]+s5+s7; s8 = s4-2.0*x[5]*z[5]*x[6]*y[4]-x[5]*z[6]*x[7]*y[5]+x[5]*x[6]*y[5]*z[7]-x -[5]*x[6]*y[7]*z[5]-2.0*x[5]*y[5]*x[4]*z[6]+2.0*x[5]*y[5]*x[6]*z[4]-x[3]*y[6]*x -[7]*z[2]+x[4]*x[7]*y[4]*z[3]+x[4]*x[3]*y[7]*z[4]-x[4]*x[7]*y[3]*z[4]-x[4]*x[3]* -y[4]*z[7]-z[1]*x[5]*x[5]*y[0]+y[1]*x[5]*x[5]*z[0]+x[4]*y[6]*x[7]*z[4]; + [5]*x[6]*y[7]*z[5]-2.0*x[5]*y[5]*x[4]*z[6]+2.0*x[5]*y[5]*x[6]*z[4]-x[3]*y[6]*x + [7]*z[2]+x[4]*x[7]*y[4]*z[3]+x[4]*x[3]*y[7]*z[4]-x[4]*x[7]*y[3]*z[4]-x[4]*x[3]* + y[4]*z[7]-z[1]*x[5]*x[5]*y[0]+y[1]*x[5]*x[5]*z[0]+x[4]*y[6]*x[7]*z[4]; s7 = s8-x[4]*x[6]*y[7]*z[4]+x[4]*x[6]*y[4]*z[7]-x[4]*z[6]*x[7]*y[4]-x[5]* -y[6]*x[4]*z[7]-x[5]*x[6]*y[7]*z[4]+x[5]*x[6]*y[4]*z[7]+x[5]*z[6]*x[4]*y[7]-y[6] -*x[4]*x[4]*z[7]+z[6]*x[4]*x[4]*y[7]+x[7]*x[5]*y[4]*z[7]-y[2]*x[7]*x[7]*z[3]+z -[2]*x[7]*x[7]*y[3]-y[0]*x[3]*x[3]*z[4]-y[1]*x[3]*x[3]*z[0]+z[1]*x[3]*x[3]*y[0]; + y[6]*x[4]*z[7]-x[5]*x[6]*y[7]*z[4]+x[5]*x[6]*y[4]*z[7]+x[5]*z[6]*x[4]*y[7]-y[6] + *x[4]*x[4]*z[7]+z[6]*x[4]*x[4]*y[7]+x[7]*x[5]*y[4]*z[7]-y[2]*x[7]*x[7]*z[3]+z + [2]*x[7]*x[7]*y[3]-y[0]*x[3]*x[3]*z[4]-y[1]*x[3]*x[3]*z[0]+z[1]*x[3]*x[3]*y[0]; s8 = z[0]*x[3]*x[3]*y[4]-x[2]*y[1]*x[3]*z[0]+x[2]*z[1]*x[3]*y[0]+x[3]*y -[1]*x[0]*z[3]+x[3]*x[1]*y[3]*z[0]+x[3]*x[0]*y[3]*z[4]-x[3]*z[1]*x[0]*y[3]-x[3]* -x[0]*y[4]*z[3]+x[3]*y[0]*x[4]*z[3]-x[3]*z[0]*x[4]*y[3]-x[3]*x[1]*y[0]*z[3]+x[3] -*z[0]*x[7]*y[4]-x[3]*y[0]*x[7]*z[4]+z[0]*x[7]*x[7]*y[4]-y[0]*x[7]*x[7]*z[4]; + [1]*x[0]*z[3]+x[3]*x[1]*y[3]*z[0]+x[3]*x[0]*y[3]*z[4]-x[3]*z[1]*x[0]*y[3]-x[3]* + x[0]*y[4]*z[3]+x[3]*y[0]*x[4]*z[3]-x[3]*z[0]*x[4]*y[3]-x[3]*x[1]*y[0]*z[3]+x[3] + *z[0]*x[7]*y[4]-x[3]*y[0]*x[7]*z[4]+z[0]*x[7]*x[7]*y[4]-y[0]*x[7]*x[7]*z[4]; s6 = s8+y[1]*x[0]*x[0]*z[2]-2.0*y[2]*x[3]*x[3]*z[0]+2.0*z[2]*x[3]*x[3]*y -[0]-2.0*x[1]*x[1]*y[0]*z[2]+2.0*x[1]*x[1]*y[2]*z[0]-y[2]*x[3]*x[3]*z[1]+z[2]*x -[3]*x[3]*y[1]-y[5]*x[4]*x[4]*z[6]+z[5]*x[4]*x[4]*y[6]+x[7]*x[0]*y[7]*z[4]-x[7]* -z[0]*x[4]*y[7]-x[7]*x[0]*y[4]*z[7]+x[7]*y[0]*x[4]*z[7]-x[0]*x[1]*y[0]*z[2]+x[0] -*z[1]*x[2]*y[0]+s7; + [0]-2.0*x[1]*x[1]*y[0]*z[2]+2.0*x[1]*x[1]*y[2]*z[0]-y[2]*x[3]*x[3]*z[1]+z[2]*x + [3]*x[3]*y[1]-y[5]*x[4]*x[4]*z[6]+z[5]*x[4]*x[4]*y[6]+x[7]*x[0]*y[7]*z[4]-x[7]* + z[0]*x[4]*y[7]-x[7]*x[0]*y[4]*z[7]+x[7]*y[0]*x[4]*z[7]-x[0]*x[1]*y[0]*z[2]+x[0] + *z[1]*x[2]*y[0]+s7; s8 = s6+x[0]*x[1]*y[2]*z[0]-x[0]*y[1]*x[2]*z[0]-x[3]*z[1]*x[0]*y[2]+2.0*x -[3]*x[2]*y[3]*z[0]+y[0]*x[7]*x[7]*z[3]-z[0]*x[7]*x[7]*y[3]-2.0*x[3]*z[2]*x[0]*y -[3]-2.0*x[3]*x[2]*y[0]*z[3]+2.0*x[3]*y[2]*x[0]*z[3]+x[3]*x[2]*y[3]*z[1]-x[3]*x -[2]*y[1]*z[3]-x[5]*y[1]*x[0]*z[5]+x[3]*y[1]*x[0]*z[2]+x[4]*y[6]*x[7]*z[5]; + [3]*x[2]*y[3]*z[0]+y[0]*x[7]*x[7]*z[3]-z[0]*x[7]*x[7]*y[3]-2.0*x[3]*z[2]*x[0]*y + [3]-2.0*x[3]*x[2]*y[0]*z[3]+2.0*x[3]*y[2]*x[0]*z[3]+x[3]*x[2]*y[3]*z[1]-x[3]*x + [2]*y[1]*z[3]-x[5]*y[1]*x[0]*z[5]+x[3]*y[1]*x[0]*z[2]+x[4]*y[6]*x[7]*z[5]; s7 = s8-x[5]*x[1]*y[5]*z[0]+2.0*x[1]*z[1]*x[2]*y[0]-2.0*x[1]*z[1]*x[0]*y -[2]+x[1]*x[2]*y[3]*z[1]-x[1]*x[2]*y[1]*z[3]+2.0*x[1]*y[1]*x[0]*z[2]-2.0*x[1]*y -[1]*x[2]*z[0]-z[2]*x[1]*x[1]*y[3]+y[2]*x[1]*x[1]*z[3]+y[5]*x[7]*x[7]*z[4]+y[6]* -x[7]*x[7]*z[5]+x[7]*x[6]*y[7]*z[2]+x[7]*y[6]*x[2]*z[7]-x[7]*z[6]*x[2]*y[7]-2.0* -x[7]*x[6]*y[3]*z[7]; + [2]+x[1]*x[2]*y[3]*z[1]-x[1]*x[2]*y[1]*z[3]+2.0*x[1]*y[1]*x[0]*z[2]-2.0*x[1]*y + [1]*x[2]*z[0]-z[2]*x[1]*x[1]*y[3]+y[2]*x[1]*x[1]*z[3]+y[5]*x[7]*x[7]*z[4]+y[6]* + x[7]*x[7]*z[5]+x[7]*x[6]*y[7]*z[2]+x[7]*y[6]*x[2]*z[7]-x[7]*z[6]*x[2]*y[7]-2.0* + x[7]*x[6]*y[3]*z[7]; s8 = s7+2.0*x[7]*x[6]*y[7]*z[3]+2.0*x[7]*y[6]*x[3]*z[7]-x[3]*z[2]*x[1]*y -[3]+x[3]*y[2]*x[1]*z[3]+x[5]*x[1]*y[0]*z[5]+x[4]*y[5]*x[6]*z[4]+x[5]*z[1]*x[0]* -y[5]-x[4]*z[6]*x[7]*y[5]-x[4]*x[5]*y[6]*z[4]+x[4]*x[5]*y[4]*z[6]-x[4]*z[5]*x[6] -*y[4]-x[1]*y[2]*x[3]*z[1]+x[1]*z[2]*x[3]*y[1]-x[2]*x[1]*y[0]*z[2]-x[2]*z[1]*x -[0]*y[2]; + [3]+x[3]*y[2]*x[1]*z[3]+x[5]*x[1]*y[0]*z[5]+x[4]*y[5]*x[6]*z[4]+x[5]*z[1]*x[0]* + y[5]-x[4]*z[6]*x[7]*y[5]-x[4]*x[5]*y[6]*z[4]+x[4]*x[5]*y[4]*z[6]-x[4]*z[5]*x[6] + *y[4]-x[1]*y[2]*x[3]*z[1]+x[1]*z[2]*x[3]*y[1]-x[2]*x[1]*y[0]*z[2]-x[2]*z[1]*x + [0]*y[2]; s5 = s8+x[2]*x[1]*y[2]*z[0]-x[2]*z[2]*x[0]*y[3]+x[2]*y[2]*x[0]*z[3]-x[2]* -y[2]*x[3]*z[0]+x[2]*z[2]*x[3]*y[0]+x[2]*y[1]*x[0]*z[2]+x[5]*y[6]*x[7]*z[5]+x[6] -*y[5]*x[7]*z[4]+2.0*x[6]*y[6]*x[7]*z[5]-x[7]*y[0]*x[3]*z[7]+x[7]*z[0]*x[3]*y[7] --x[7]*x[0]*y[7]*z[3]+x[7]*x[0]*y[3]*z[7]+2.0*x[7]*x[7]*y[4]*z[3]-2.0*x[7]*x[7]* -y[3]*z[4]-2.0*x[1]*x[1]*y[2]*z[5]; + y[2]*x[3]*z[0]+x[2]*z[2]*x[3]*y[0]+x[2]*y[1]*x[0]*z[2]+x[5]*y[6]*x[7]*z[5]+x[6] + *y[5]*x[7]*z[4]+2.0*x[6]*y[6]*x[7]*z[5]-x[7]*y[0]*x[3]*z[7]+x[7]*z[0]*x[3]*y[7] + -x[7]*x[0]*y[7]*z[3]+x[7]*x[0]*y[3]*z[7]+2.0*x[7]*x[7]*y[4]*z[3]-2.0*x[7]*x[7]* + y[3]*z[4]-2.0*x[1]*x[1]*y[2]*z[5]; s8 = s5-2.0*x[7]*x[4]*y[7]*z[3]+2.0*x[7]*x[3]*y[7]*z[4]-2.0*x[7]*x[3]*y -[4]*z[7]+2.0*x[7]*x[4]*y[3]*z[7]+2.0*x[1]*x[1]*y[5]*z[2]-x[1]*x[1]*y[2]*z[6]+x -[1]*x[1]*y[6]*z[2]+z[1]*x[5]*x[5]*y[2]-y[1]*x[5]*x[5]*z[2]-x[1]*x[1]*y[6]*z[5]+ -x[1]*x[1]*y[5]*z[6]+x[5]*x[5]*y[6]*z[2]-x[5]*x[5]*y[2]*z[6]-2.0*y[1]*x[5]*x[5]* -z[6]; + [4]*z[7]+2.0*x[7]*x[4]*y[3]*z[7]+2.0*x[1]*x[1]*y[5]*z[2]-x[1]*x[1]*y[2]*z[6]+x + [1]*x[1]*y[6]*z[2]+z[1]*x[5]*x[5]*y[2]-y[1]*x[5]*x[5]*z[2]-x[1]*x[1]*y[6]*z[5]+ + x[1]*x[1]*y[5]*z[6]+x[5]*x[5]*y[6]*z[2]-x[5]*x[5]*y[2]*z[6]-2.0*y[1]*x[5]*x[5]* + z[6]; s7 = s8+2.0*z[1]*x[5]*x[5]*y[6]+2.0*x[1]*z[1]*x[5]*y[2]+2.0*x[1]*y[1]*x -[2]*z[5]-2.0*x[1]*z[1]*x[2]*y[5]-2.0*x[1]*y[1]*x[5]*z[2]-x[1]*y[1]*x[6]*z[2]-x -[1]*z[1]*x[2]*y[6]+x[1]*z[1]*x[6]*y[2]+x[1]*y[1]*x[2]*z[6]-x[5]*x[1]*y[2]*z[5]+ -x[5]*y[1]*x[2]*z[5]-x[5]*z[1]*x[2]*y[5]+x[5]*x[1]*y[5]*z[2]-x[5]*y[1]*x[6]*z[2] --x[5]*x[1]*y[2]*z[6]; + [2]*z[5]-2.0*x[1]*z[1]*x[2]*y[5]-2.0*x[1]*y[1]*x[5]*z[2]-x[1]*y[1]*x[6]*z[2]-x + [1]*z[1]*x[2]*y[6]+x[1]*z[1]*x[6]*y[2]+x[1]*y[1]*x[2]*z[6]-x[5]*x[1]*y[2]*z[5]+ + x[5]*y[1]*x[2]*z[5]-x[5]*z[1]*x[2]*y[5]+x[5]*x[1]*y[5]*z[2]-x[5]*y[1]*x[6]*z[2] + -x[5]*x[1]*y[2]*z[6]; s8 = s7+x[5]*x[1]*y[6]*z[2]+x[5]*z[1]*x[6]*y[2]+x[1]*x[2]*y[5]*z[6]-x[1]* -x[2]*y[6]*z[5]-x[1]*z[1]*x[6]*y[5]-x[1]*y[1]*x[5]*z[6]+x[1]*z[1]*x[5]*y[6]+x[1] -*y[1]*x[6]*z[5]-x[5]*x[6]*y[5]*z[2]+x[5]*x[2]*y[5]*z[6]-x[5]*x[2]*y[6]*z[5]+x -[5]*x[6]*y[2]*z[5]-2.0*x[5]*z[1]*x[6]*y[5]-2.0*x[5]*x[1]*y[6]*z[5]+2.0*x[5]*x -[1]*y[5]*z[6]; + x[2]*y[6]*z[5]-x[1]*z[1]*x[6]*y[5]-x[1]*y[1]*x[5]*z[6]+x[1]*z[1]*x[5]*y[6]+x[1] + *y[1]*x[6]*z[5]-x[5]*x[6]*y[5]*z[2]+x[5]*x[2]*y[5]*z[6]-x[5]*x[2]*y[6]*z[5]+x + [5]*x[6]*y[2]*z[5]-2.0*x[5]*z[1]*x[6]*y[5]-2.0*x[5]*x[1]*y[6]*z[5]+2.0*x[5]*x + [1]*y[5]*z[6]; s6 = s8+2.0*x[5]*y[1]*x[6]*z[5]+2.0*x[2]*x[1]*y[6]*z[2]+2.0*x[2]*z[1]*x -[6]*y[2]-2.0*x[2]*x[1]*y[2]*z[6]+x[2]*x[5]*y[6]*z[2]+x[2]*x[6]*y[2]*z[5]-x[2]*x -[5]*y[2]*z[6]+y[1]*x[2]*x[2]*z[5]-z[1]*x[2]*x[2]*y[5]-2.0*x[2]*y[1]*x[6]*z[2]-x -[2]*x[6]*y[5]*z[2]-2.0*z[1]*x[2]*x[2]*y[6]+x[2]*x[2]*y[5]*z[6]-x[2]*x[2]*y[6]*z -[5]+2.0*y[1]*x[2]*x[2]*z[6]+x[2]*z[1]*x[5]*y[2]; + [6]*y[2]-2.0*x[2]*x[1]*y[2]*z[6]+x[2]*x[5]*y[6]*z[2]+x[2]*x[6]*y[2]*z[5]-x[2]*x + [5]*y[2]*z[6]+y[1]*x[2]*x[2]*z[5]-z[1]*x[2]*x[2]*y[5]-2.0*x[2]*y[1]*x[6]*z[2]-x + [2]*x[6]*y[5]*z[2]-2.0*z[1]*x[2]*x[2]*y[6]+x[2]*x[2]*y[5]*z[6]-x[2]*x[2]*y[6]*z + [5]+2.0*y[1]*x[2]*x[2]*z[6]+x[2]*z[1]*x[5]*y[2]; s8 = s6-x[2]*x[1]*y[2]*z[5]+x[2]*x[1]*y[5]*z[2]-x[2]*y[1]*x[5]*z[2]+x[6]* -y[1]*x[2]*z[5]-x[6]*z[1]*x[2]*y[5]-z[1]*x[6]*x[6]*y[5]+y[1]*x[6]*x[6]*z[5]-y[1] -*x[6]*x[6]*z[2]-2.0*x[6]*x[6]*y[5]*z[2]+2.0*x[6]*x[6]*y[2]*z[5]+z[1]*x[6]*x[6]* -y[2]-x[6]*x[1]*y[6]*z[5]-x[6]*y[1]*x[5]*z[6]+x[6]*x[1]*y[5]*z[6]; + y[1]*x[2]*z[5]-x[6]*z[1]*x[2]*y[5]-z[1]*x[6]*x[6]*y[5]+y[1]*x[6]*x[6]*z[5]-y[1] + *x[6]*x[6]*z[2]-2.0*x[6]*x[6]*y[5]*z[2]+2.0*x[6]*x[6]*y[2]*z[5]+z[1]*x[6]*x[6]* + y[2]-x[6]*x[1]*y[6]*z[5]-x[6]*y[1]*x[5]*z[6]+x[6]*x[1]*y[5]*z[6]; s7 = s8+x[6]*z[1]*x[5]*y[6]-x[6]*z[1]*x[2]*y[6]-x[6]*x[1]*y[2]*z[6]+2.0*x -[6]*x[5]*y[6]*z[2]+2.0*x[6]*x[2]*y[5]*z[6]-2.0*x[6]*x[2]*y[6]*z[5]-2.0*x[6]*x -[5]*y[2]*z[6]+x[6]*x[1]*y[6]*z[2]+x[6]*y[1]*x[2]*z[6]-x[2]*x[2]*y[3]*z[7]+x[2]* -x[2]*y[7]*z[3]-x[2]*z[2]*x[3]*y[7]-x[2]*y[2]*x[7]*z[3]+x[2]*z[2]*x[7]*y[3]+x[2] -*y[2]*x[3]*z[7]-x[6]*x[6]*y[3]*z[7]; + [6]*x[5]*y[6]*z[2]+2.0*x[6]*x[2]*y[5]*z[6]-2.0*x[6]*x[2]*y[6]*z[5]-2.0*x[6]*x + [5]*y[2]*z[6]+x[6]*x[1]*y[6]*z[2]+x[6]*y[1]*x[2]*z[6]-x[2]*x[2]*y[3]*z[7]+x[2]* + x[2]*y[7]*z[3]-x[2]*z[2]*x[3]*y[7]-x[2]*y[2]*x[7]*z[3]+x[2]*z[2]*x[7]*y[3]+x[2] + *y[2]*x[3]*z[7]-x[6]*x[6]*y[3]*z[7]; s8 = s7+x[6]*x[6]*y[7]*z[3]-x[6]*x[2]*y[3]*z[7]+x[6]*x[2]*y[7]*z[3]-x[6]* -y[6]*x[7]*z[3]+x[6]*y[6]*x[3]*z[7]-x[6]*z[6]*x[3]*y[7]+x[6]*z[6]*x[7]*y[3]+y[6] -*x[2]*x[2]*z[7]-z[6]*x[2]*x[2]*y[7]+2.0*x[2]*x[2]*y[6]*z[3]-x[2]*y[6]*x[7]*z[2] --2.0*x[2]*y[2]*x[6]*z[3]-2.0*x[2]*x[2]*y[3]*z[6]+2.0*x[2]*y[2]*x[3]*z[6]-x[2]*x -[6]*y[2]*z[7]; + y[6]*x[7]*z[3]+x[6]*y[6]*x[3]*z[7]-x[6]*z[6]*x[3]*y[7]+x[6]*z[6]*x[7]*y[3]+y[6] + *x[2]*x[2]*z[7]-z[6]*x[2]*x[2]*y[7]+2.0*x[2]*x[2]*y[6]*z[3]-x[2]*y[6]*x[7]*z[2] + -2.0*x[2]*y[2]*x[6]*z[3]-2.0*x[2]*x[2]*y[3]*z[6]+2.0*x[2]*y[2]*x[3]*z[6]-x[2]*x + [6]*y[2]*z[7]; s3 = s8+x[2]*x[6]*y[7]*z[2]+x[2]*z[6]*x[7]*y[2]+2.0*x[2]*z[2]*x[6]*y[3] --2.0*x[2]*z[2]*x[3]*y[6]-y[2]*x[6]*x[6]*z[3]-2.0*x[6]*x[6]*y[2]*z[7]+2.0*x[6]*x -[6]*y[7]*z[2]+z[2]*x[6]*x[6]*y[3]-2.0*x[6]*y[6]*x[7]*z[2]+x[6]*y[2]*x[3]*z[6]-x -[6]*x[2]*y[3]*z[6]+2.0*x[6]*z[6]*x[7]*y[2]+2.0*x[6]*y[6]*x[2]*z[7]-2.0*x[6]*z -[6]*x[2]*y[7]+x[6]*x[2]*y[6]*z[3]-x[6]*z[2]*x[3]*y[6]; + -2.0*x[2]*z[2]*x[3]*y[6]-y[2]*x[6]*x[6]*z[3]-2.0*x[6]*x[6]*y[2]*z[7]+2.0*x[6]*x + [6]*y[7]*z[2]+z[2]*x[6]*x[6]*y[3]-2.0*x[6]*y[6]*x[7]*z[2]+x[6]*y[2]*x[3]*z[6]-x + [6]*x[2]*y[3]*z[6]+2.0*x[6]*z[6]*x[7]*y[2]+2.0*x[6]*y[6]*x[2]*z[7]-2.0*x[6]*z + [6]*x[2]*y[7]+x[6]*x[2]*y[6]*z[3]-x[6]*z[2]*x[3]*y[6]; s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x -[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* -z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] -+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; + [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* + z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] + +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]* -x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] -*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z -[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; + x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] + *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z + [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x -[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* -z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] --y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; + [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* + z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] + -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]* -x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] -*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z -[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; + x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] + *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z + [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]* -y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] -*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z -[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; + y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] + *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z + [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]* -x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] -*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z -[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; + x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] + *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z + [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y -[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* -z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] -+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; + [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* + z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] + +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]* -x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] -*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y -[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; + x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] + *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y + [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; s4 = 1/s5; s2 = s3*s4; const double unknown0 = s1*s2; s1 = 1.0/6.0; s8 = 2.0*x[1]*y[0]*y[0]*z[4]+x[5]*y[0]*y[0]*z[4]-x[1]*y[4]*y[4]*z[0]+z[1] -*x[0]*y[4]*y[4]+x[1]*y[0]*y[0]*z[5]-z[1]*x[5]*y[0]*y[0]-2.0*z[1]*x[4]*y[0]*y[0] -+2.0*z[1]*x[3]*y[0]*y[0]+z[2]*x[3]*y[0]*y[0]+y[0]*y[0]*x[7]*z[3]+2.0*y[0]*y[0]* -x[4]*z[3]-2.0*x[1]*y[0]*y[0]*z[3]-2.0*x[5]*y[4]*y[4]*z[0]+2.0*z[5]*x[0]*y[4]*y -[4]+2.0*y[4]*y[5]*x[7]*z[4]; + *x[0]*y[4]*y[4]+x[1]*y[0]*y[0]*z[5]-z[1]*x[5]*y[0]*y[0]-2.0*z[1]*x[4]*y[0]*y[0] + +2.0*z[1]*x[3]*y[0]*y[0]+z[2]*x[3]*y[0]*y[0]+y[0]*y[0]*x[7]*z[3]+2.0*y[0]*y[0]* + x[4]*z[3]-2.0*x[1]*y[0]*y[0]*z[3]-2.0*x[5]*y[4]*y[4]*z[0]+2.0*z[5]*x[0]*y[4]*y + [4]+2.0*y[4]*y[5]*x[7]*z[4]; s7 = s8-x[3]*y[4]*y[4]*z[7]+x[7]*y[4]*y[4]*z[3]+z[0]*x[3]*y[4]*y[4]-2.0*x -[0]*y[4]*y[4]*z[7]-y[1]*x[1]*y[4]*z[0]-x[0]*y[4]*y[4]*z[3]+2.0*z[0]*x[7]*y[4]*y -[4]+y[4]*z[6]*x[4]*y[7]-y[0]*y[0]*x[7]*z[4]+y[0]*y[0]*x[4]*z[7]+2.0*y[4]*z[5]*x -[4]*y[7]-2.0*y[4]*x[5]*y[7]*z[4]-y[4]*x[6]*y[7]*z[4]-y[4]*y[6]*x[4]*z[7]-2.0*y -[4]*y[5]*x[4]*z[7]; + [0]*y[4]*y[4]*z[7]-y[1]*x[1]*y[4]*z[0]-x[0]*y[4]*y[4]*z[3]+2.0*z[0]*x[7]*y[4]*y + [4]+y[4]*z[6]*x[4]*y[7]-y[0]*y[0]*x[7]*z[4]+y[0]*y[0]*x[4]*z[7]+2.0*y[4]*z[5]*x + [4]*y[7]-2.0*y[4]*x[5]*y[7]*z[4]-y[4]*x[6]*y[7]*z[4]-y[4]*y[6]*x[4]*z[7]-2.0*y + [4]*y[5]*x[4]*z[7]; s8 = y[4]*y[6]*x[7]*z[4]-y[7]*y[2]*x[7]*z[3]+y[7]*z[2]*x[7]*y[3]+y[7]*y -[2]*x[3]*z[7]+2.0*x[5]*y[4]*y[4]*z[7]-y[7]*x[2]*y[3]*z[7]-y[0]*z[0]*x[4]*y[7]+z -[6]*x[7]*y[3]*y[3]-y[0]*x[0]*y[4]*z[7]+y[0]*x[0]*y[7]*z[4]-2.0*x[2]*y[3]*y[3]*z -[7]-z[5]*x[4]*y[0]*y[0]+y[0]*z[0]*x[7]*y[4]-2.0*z[6]*x[3]*y[7]*y[7]+z[1]*x[2]*y -[0]*y[0]; + [2]*x[3]*z[7]+2.0*x[5]*y[4]*y[4]*z[7]-y[7]*x[2]*y[3]*z[7]-y[0]*z[0]*x[4]*y[7]+z + [6]*x[7]*y[3]*y[3]-y[0]*x[0]*y[4]*z[7]+y[0]*x[0]*y[7]*z[4]-2.0*x[2]*y[3]*y[3]*z + [7]-z[5]*x[4]*y[0]*y[0]+y[0]*z[0]*x[7]*y[4]-2.0*z[6]*x[3]*y[7]*y[7]+z[1]*x[2]*y + [0]*y[0]; s6 = s8+y[4]*y[0]*x[4]*z[3]-2.0*y[4]*z[0]*x[4]*y[7]+2.0*y[4]*x[0]*y[7]*z -[4]-y[4]*z[0]*x[4]*y[3]-y[4]*x[0]*y[7]*z[3]+y[4]*z[0]*x[3]*y[7]-y[4]*y[0]*x[3]* -z[4]+y[0]*x[4]*y[3]*z[7]-y[0]*x[7]*y[3]*z[4]-y[0]*x[3]*y[4]*z[7]+y[0]*x[7]*y[4] -*z[3]+x[2]*y[7]*y[7]*z[3]-z[2]*x[3]*y[7]*y[7]-2.0*z[2]*x[0]*y[3]*y[3]+2.0*y[0]* -z[1]*x[0]*y[4]+s7; + [4]-y[4]*z[0]*x[4]*y[3]-y[4]*x[0]*y[7]*z[3]+y[4]*z[0]*x[3]*y[7]-y[4]*y[0]*x[3]* + z[4]+y[0]*x[4]*y[3]*z[7]-y[0]*x[7]*y[3]*z[4]-y[0]*x[3]*y[4]*z[7]+y[0]*x[7]*y[4] + *z[3]+x[2]*y[7]*y[7]*z[3]-z[2]*x[3]*y[7]*y[7]-2.0*z[2]*x[0]*y[3]*y[3]+2.0*y[0]* + z[1]*x[0]*y[4]+s7; s8 = -2.0*y[0]*y[1]*x[0]*z[4]-y[0]*y[1]*x[0]*z[5]-y[0]*y[0]*x[3]*z[7]-z -[1]*x[0]*y[3]*y[3]-y[0]*x[1]*y[5]*z[0]-2.0*z[0]*x[7]*y[3]*y[3]+x[0]*y[3]*y[3]*z -[4]+2.0*x[0]*y[3]*y[3]*z[7]-z[0]*x[4]*y[3]*y[3]+2.0*x[2]*y[3]*y[3]*z[0]+x[1]*y -[3]*y[3]*z[0]+2.0*y[7]*z[6]*x[7]*y[3]+2.0*y[7]*y[6]*x[3]*z[7]-2.0*y[7]*y[6]*x -[7]*z[3]-2.0*y[7]*x[6]*y[3]*z[7]; + [1]*x[0]*y[3]*y[3]-y[0]*x[1]*y[5]*z[0]-2.0*z[0]*x[7]*y[3]*y[3]+x[0]*y[3]*y[3]*z + [4]+2.0*x[0]*y[3]*y[3]*z[7]-z[0]*x[4]*y[3]*y[3]+2.0*x[2]*y[3]*y[3]*z[0]+x[1]*y + [3]*y[3]*z[0]+2.0*y[7]*z[6]*x[7]*y[3]+2.0*y[7]*y[6]*x[3]*z[7]-2.0*y[7]*y[6]*x + [7]*z[3]-2.0*y[7]*x[6]*y[3]*z[7]; s7 = s8+y[4]*x[4]*y[3]*z[7]-y[4]*x[4]*y[7]*z[3]+y[4]*x[3]*y[7]*z[4]-y[4]* -x[7]*y[3]*z[4]+2.0*y[4]*y[0]*x[4]*z[7]-2.0*y[4]*y[0]*x[7]*z[4]+2.0*x[6]*y[7]*y -[7]*z[3]+y[4]*x[0]*y[3]*z[4]+y[0]*y[1]*x[5]*z[0]+y[0]*z[1]*x[0]*y[5]-x[2]*y[0]* -y[0]*z[3]+x[4]*y[3]*y[3]*z[7]-x[7]*y[3]*y[3]*z[4]-x[5]*y[4]*y[4]*z[1]+y[3]*z[0] -*x[3]*y[4]; + x[7]*y[3]*z[4]+2.0*y[4]*y[0]*x[4]*z[7]-2.0*y[4]*y[0]*x[7]*z[4]+2.0*x[6]*y[7]*y + [7]*z[3]+y[4]*x[0]*y[3]*z[4]+y[0]*y[1]*x[5]*z[0]+y[0]*z[1]*x[0]*y[5]-x[2]*y[0]* + y[0]*z[3]+x[4]*y[3]*y[3]*z[7]-x[7]*y[3]*y[3]*z[4]-x[5]*y[4]*y[4]*z[1]+y[3]*z[0] + *x[3]*y[4]; s8 = y[3]*y[0]*x[4]*z[3]+2.0*y[3]*y[0]*x[7]*z[3]+2.0*y[3]*y[2]*x[0]*z[3] --2.0*y[3]*y[2]*x[3]*z[0]+2.0*y[3]*z[2]*x[3]*y[0]+y[3]*z[1]*x[3]*y[0]-2.0*y[3]*x -[2]*y[0]*z[3]-y[3]*x[1]*y[0]*z[3]-y[3]*y[1]*x[3]*z[0]-2.0*y[3]*x[0]*y[7]*z[3]-y -[3]*x[0]*y[4]*z[3]-2.0*y[3]*y[0]*x[3]*z[7]-y[3]*y[0]*x[3]*z[4]+2.0*y[3]*z[0]*x -[3]*y[7]+y[3]*y[1]*x[0]*z[3]+z[5]*x[1]*y[4]*y[4]; + -2.0*y[3]*y[2]*x[3]*z[0]+2.0*y[3]*z[2]*x[3]*y[0]+y[3]*z[1]*x[3]*y[0]-2.0*y[3]*x + [2]*y[0]*z[3]-y[3]*x[1]*y[0]*z[3]-y[3]*y[1]*x[3]*z[0]-2.0*y[3]*x[0]*y[7]*z[3]-y + [3]*x[0]*y[4]*z[3]-2.0*y[3]*y[0]*x[3]*z[7]-y[3]*y[0]*x[3]*z[4]+2.0*y[3]*z[0]*x + [3]*y[7]+y[3]*y[1]*x[0]*z[3]+z[5]*x[1]*y[4]*y[4]; s5 = s8-2.0*y[0]*y[0]*x[3]*z[4]-2.0*y[0]*x[1]*y[4]*z[0]+y[3]*x[7]*y[4]*z -[3]-y[3]*x[4]*y[7]*z[3]+y[3]*x[3]*y[7]*z[4]-y[3]*x[3]*y[4]*z[7]+y[3]*x[0]*y[7]* -z[4]-y[3]*z[0]*x[4]*y[7]-2.0*y[4]*y[5]*x[0]*z[4]+s6+y[7]*x[0]*y[3]*z[7]-y[7]*z -[0]*x[7]*y[3]+y[7]*y[0]*x[7]*z[3]-y[7]*y[0]*x[3]*z[7]+2.0*y[0]*y[1]*x[4]*z[0]+ -s7; + [3]-y[3]*x[4]*y[7]*z[3]+y[3]*x[3]*y[7]*z[4]-y[3]*x[3]*y[4]*z[7]+y[3]*x[0]*y[7]* + z[4]-y[3]*z[0]*x[4]*y[7]-2.0*y[4]*y[5]*x[0]*z[4]+s6+y[7]*x[0]*y[3]*z[7]-y[7]*z + [0]*x[7]*y[3]+y[7]*y[0]*x[7]*z[3]-y[7]*y[0]*x[3]*z[7]+2.0*y[0]*y[1]*x[4]*z[0]+ + s7; s8 = -2.0*y[7]*x[7]*y[3]*z[4]-2.0*y[7]*x[3]*y[4]*z[7]+2.0*y[7]*x[4]*y[3]* -z[7]+y[7]*y[0]*x[4]*z[7]-y[7]*y[0]*x[7]*z[4]+2.0*y[7]*x[7]*y[4]*z[3]-y[7]*x[0]* -y[4]*z[7]+y[7]*z[0]*x[7]*y[4]+z[5]*x[4]*y[7]*y[7]+2.0*z[6]*x[4]*y[7]*y[7]-x[5]* -y[7]*y[7]*z[4]-2.0*x[6]*y[7]*y[7]*z[4]+2.0*y[7]*x[6]*y[4]*z[7]-2.0*y[7]*z[6]*x -[7]*y[4]+2.0*y[7]*y[6]*x[7]*z[4]; + z[7]+y[7]*y[0]*x[4]*z[7]-y[7]*y[0]*x[7]*z[4]+2.0*y[7]*x[7]*y[4]*z[3]-y[7]*x[0]* + y[4]*z[7]+y[7]*z[0]*x[7]*y[4]+z[5]*x[4]*y[7]*y[7]+2.0*z[6]*x[4]*y[7]*y[7]-x[5]* + y[7]*y[7]*z[4]-2.0*x[6]*y[7]*y[7]*z[4]+2.0*y[7]*x[6]*y[4]*z[7]-2.0*y[7]*z[6]*x + [7]*y[4]+2.0*y[7]*y[6]*x[7]*z[4]; s7 = s8-2.0*y[7]*y[6]*x[4]*z[7]-y[7]*z[5]*x[7]*y[4]-y[7]*y[5]*x[4]*z[7]-x -[0]*y[7]*y[7]*z[3]+z[0]*x[3]*y[7]*y[7]+y[7]*x[5]*y[4]*z[7]+y[7]*y[5]*x[7]*z[4]- -y[4]*x[1]*y[5]*z[0]-x[1]*y[0]*y[0]*z[2]-y[4]*y[5]*x[1]*z[4]-2.0*y[4]*z[5]*x[4]* -y[0]-y[4]*y[1]*x[0]*z[4]+y[4]*y[5]*x[4]*z[1]+y[0]*z[0]*x[3]*y[7]-y[0]*z[1]*x[0] -*y[2]; + [0]*y[7]*y[7]*z[3]+z[0]*x[3]*y[7]*y[7]+y[7]*x[5]*y[4]*z[7]+y[7]*y[5]*x[7]*z[4]- + y[4]*x[1]*y[5]*z[0]-x[1]*y[0]*y[0]*z[2]-y[4]*y[5]*x[1]*z[4]-2.0*y[4]*z[5]*x[4]* + y[0]-y[4]*y[1]*x[0]*z[4]+y[4]*y[5]*x[4]*z[1]+y[0]*z[0]*x[3]*y[7]-y[0]*z[1]*x[0] + *y[2]; s8 = 2.0*y[0]*x[1]*y[3]*z[0]+y[4]*y[1]*x[4]*z[0]+2.0*y[0]*y[1]*x[0]*z[3]+ -y[4]*x[1]*y[0]*z[5]-y[4]*z[1]*x[5]*y[0]+y[4]*z[1]*x[0]*y[5]-y[4]*z[1]*x[4]*y[0] -+y[4]*x[1]*y[0]*z[4]-y[4]*z[5]*x[4]*y[1]+x[5]*y[4]*y[4]*z[6]-z[5]*x[6]*y[4]*y -[4]+y[4]*x[5]*y[1]*z[4]-y[0]*z[2]*x[0]*y[3]+y[0]*y[5]*x[4]*z[0]+y[0]*x[1]*y[2]* -z[0]; + y[4]*x[1]*y[0]*z[5]-y[4]*z[1]*x[5]*y[0]+y[4]*z[1]*x[0]*y[5]-y[4]*z[1]*x[4]*y[0] + +y[4]*x[1]*y[0]*z[4]-y[4]*z[5]*x[4]*y[1]+x[5]*y[4]*y[4]*z[6]-z[5]*x[6]*y[4]*y + [4]+y[4]*x[5]*y[1]*z[4]-y[0]*z[2]*x[0]*y[3]+y[0]*y[5]*x[4]*z[0]+y[0]*x[1]*y[2]* + z[0]; s6 = s8-2.0*y[0]*z[0]*x[4]*y[3]-2.0*y[0]*x[0]*y[4]*z[3]-2.0*y[0]*z[1]*x -[0]*y[3]-y[0]*x[0]*y[7]*z[3]-2.0*y[0]*y[1]*x[3]*z[0]+y[0]*x[2]*y[3]*z[0]-y[0]*y -[1]*x[2]*z[0]+y[0]*y[1]*x[0]*z[2]-y[0]*x[2]*y[1]*z[3]+y[0]*x[0]*y[3]*z[7]+y[0]* -x[2]*y[3]*z[1]-y[0]*y[2]*x[3]*z[0]+y[0]*y[2]*x[0]*z[3]-y[0]*y[5]*x[0]*z[4]-y[4] -*y[5]*x[4]*z[6]+s7; + [0]*y[3]-y[0]*x[0]*y[7]*z[3]-2.0*y[0]*y[1]*x[3]*z[0]+y[0]*x[2]*y[3]*z[0]-y[0]*y + [1]*x[2]*z[0]+y[0]*y[1]*x[0]*z[2]-y[0]*x[2]*y[1]*z[3]+y[0]*x[0]*y[3]*z[7]+y[0]* + x[2]*y[3]*z[1]-y[0]*y[2]*x[3]*z[0]+y[0]*y[2]*x[0]*z[3]-y[0]*y[5]*x[0]*z[4]-y[4] + *y[5]*x[4]*z[6]+s7; s8 = s6+y[4]*z[6]*x[5]*y[7]-y[4]*x[6]*y[7]*z[5]+y[4]*x[6]*y[5]*z[7]-y[4]* -z[6]*x[7]*y[5]-y[4]*x[5]*y[6]*z[4]+y[4]*z[5]*x[4]*y[6]+y[4]*y[5]*x[6]*z[4]-2.0* -y[1]*y[1]*x[0]*z[5]+2.0*y[1]*y[1]*x[5]*z[0]-2.0*y[2]*y[2]*x[6]*z[3]+x[5]*y[1]*y -[1]*z[4]-z[5]*x[4]*y[1]*y[1]-x[6]*y[2]*y[2]*z[7]+z[6]*x[7]*y[2]*y[2]; + z[6]*x[7]*y[5]-y[4]*x[5]*y[6]*z[4]+y[4]*z[5]*x[4]*y[6]+y[4]*y[5]*x[6]*z[4]-2.0* + y[1]*y[1]*x[0]*z[5]+2.0*y[1]*y[1]*x[5]*z[0]-2.0*y[2]*y[2]*x[6]*z[3]+x[5]*y[1]*y + [1]*z[4]-z[5]*x[4]*y[1]*y[1]-x[6]*y[2]*y[2]*z[7]+z[6]*x[7]*y[2]*y[2]; s7 = s8-x[1]*y[5]*y[5]*z[0]+z[1]*x[0]*y[5]*y[5]+y[1]*y[5]*x[4]*z[1]-y[1]* -y[5]*x[1]*z[4]-2.0*y[2]*z[2]*x[3]*y[6]+2.0*y[1]*z[1]*x[0]*y[5]-2.0*y[1]*z[1]*x -[5]*y[0]+2.0*y[1]*x[1]*y[0]*z[5]-y[2]*x[2]*y[3]*z[7]-y[2]*z[2]*x[3]*y[7]+y[2]*x -[2]*y[7]*z[3]+y[2]*z[2]*x[7]*y[3]-2.0*y[2]*x[2]*y[3]*z[6]+2.0*y[2]*x[2]*y[6]*z -[3]+2.0*y[2]*z[2]*x[6]*y[3]-y[3]*y[2]*x[6]*z[3]; + y[5]*x[1]*z[4]-2.0*y[2]*z[2]*x[3]*y[6]+2.0*y[1]*z[1]*x[0]*y[5]-2.0*y[1]*z[1]*x + [5]*y[0]+2.0*y[1]*x[1]*y[0]*z[5]-y[2]*x[2]*y[3]*z[7]-y[2]*z[2]*x[3]*y[7]+y[2]*x + [2]*y[7]*z[3]+y[2]*z[2]*x[7]*y[3]-2.0*y[2]*x[2]*y[3]*z[6]+2.0*y[2]*x[2]*y[6]*z + [3]+2.0*y[2]*z[2]*x[6]*y[3]-y[3]*y[2]*x[6]*z[3]; s8 = y[3]*y[2]*x[3]*z[6]+y[3]*x[2]*y[6]*z[3]-y[3]*z[2]*x[3]*y[6]-y[2]*y -[2]*x[7]*z[3]+2.0*y[2]*y[2]*x[3]*z[6]+y[2]*y[2]*x[3]*z[7]-2.0*y[1]*x[1]*y[5]*z -[0]-x[2]*y[3]*y[3]*z[6]+z[2]*x[6]*y[3]*y[3]+2.0*y[6]*x[2]*y[5]*z[6]+2.0*y[6]*x -[6]*y[2]*z[5]-2.0*y[6]*x[5]*y[2]*z[6]+2.0*y[3]*x[2]*y[7]*z[3]-2.0*y[3]*z[2]*x -[3]*y[7]-y[0]*z[0]*x[7]*y[3]-y[0]*z[2]*x[1]*y[3]; + [2]*x[7]*z[3]+2.0*y[2]*y[2]*x[3]*z[6]+y[2]*y[2]*x[3]*z[7]-2.0*y[1]*x[1]*y[5]*z + [0]-x[2]*y[3]*y[3]*z[6]+z[2]*x[6]*y[3]*y[3]+2.0*y[6]*x[2]*y[5]*z[6]+2.0*y[6]*x + [6]*y[2]*z[5]-2.0*y[6]*x[5]*y[2]*z[6]+2.0*y[3]*x[2]*y[7]*z[3]-2.0*y[3]*z[2]*x + [3]*y[7]-y[0]*z[0]*x[7]*y[3]-y[0]*z[2]*x[1]*y[3]; s4 = s8-y[2]*y[6]*x[7]*z[2]+y[0]*z[2]*x[3]*y[1]+y[1]*z[5]*x[1]*y[4]-y[1]* -x[5]*y[4]*z[1]+2.0*y[0]*z[0]*x[3]*y[4]+2.0*y[0]*x[0]*y[3]*z[4]+2.0*z[2]*x[7]*y -[3]*y[3]-2.0*z[5]*x[7]*y[4]*y[4]+x[6]*y[4]*y[4]*z[7]-z[6]*x[7]*y[4]*y[4]+y[1]*y -[1]*x[0]*z[3]+y[3]*x[6]*y[7]*z[2]-y[3]*z[6]*x[2]*y[7]+2.0*y[3]*y[2]*x[3]*z[7]+ -s5+s7; + x[5]*y[4]*z[1]+2.0*y[0]*z[0]*x[3]*y[4]+2.0*y[0]*x[0]*y[3]*z[4]+2.0*z[2]*x[7]*y + [3]*y[3]-2.0*z[5]*x[7]*y[4]*y[4]+x[6]*y[4]*y[4]*z[7]-z[6]*x[7]*y[4]*y[4]+y[1]*y + [1]*x[0]*z[3]+y[3]*x[6]*y[7]*z[2]-y[3]*z[6]*x[2]*y[7]+2.0*y[3]*y[2]*x[3]*z[7]+ + s5+s7; s8 = s4+y[2]*x[6]*y[7]*z[2]-y[2]*y[6]*x[7]*z[3]+y[2]*y[6]*x[2]*z[7]-y[2]* -z[6]*x[2]*y[7]-y[2]*x[6]*y[3]*z[7]+y[2]*y[6]*x[3]*z[7]+y[2]*z[6]*x[7]*y[3]-2.0* -y[3]*y[2]*x[7]*z[3]-x[6]*y[3]*y[3]*z[7]+y[1]*y[1]*x[4]*z[0]-y[1]*y[1]*x[3]*z[0] -+x[2]*y[6]*y[6]*z[3]-z[2]*x[3]*y[6]*y[6]-y[1]*y[1]*x[0]*z[4]; + z[6]*x[2]*y[7]-y[2]*x[6]*y[3]*z[7]+y[2]*y[6]*x[3]*z[7]+y[2]*z[6]*x[7]*y[3]-2.0* + y[3]*y[2]*x[7]*z[3]-x[6]*y[3]*y[3]*z[7]+y[1]*y[1]*x[4]*z[0]-y[1]*y[1]*x[3]*z[0] + +x[2]*y[6]*y[6]*z[3]-z[2]*x[3]*y[6]*y[6]-y[1]*y[1]*x[0]*z[4]; s7 = s8+y[5]*x[1]*y[0]*z[5]+y[6]*x[2]*y[7]*z[3]-y[6]*y[2]*x[6]*z[3]+y[6]* -y[2]*x[3]*z[6]-y[6]*x[2]*y[3]*z[6]+y[6]*z[2]*x[6]*y[3]-y[5]*y[1]*x[0]*z[5]-y[5] -*z[1]*x[5]*y[0]+y[5]*y[1]*x[5]*z[0]-y[6]*z[2]*x[3]*y[7]-y[7]*y[6]*x[7]*z[2]+2.0 -*y[6]*y[6]*x[2]*z[7]+y[6]*y[6]*x[3]*z[7]+x[6]*y[7]*y[7]*z[2]-z[6]*x[2]*y[7]*y -[7]; + y[2]*x[3]*z[6]-y[6]*x[2]*y[3]*z[6]+y[6]*z[2]*x[6]*y[3]-y[5]*y[1]*x[0]*z[5]-y[5] + *z[1]*x[5]*y[0]+y[5]*y[1]*x[5]*z[0]-y[6]*z[2]*x[3]*y[7]-y[7]*y[6]*x[7]*z[2]+2.0 + *y[6]*y[6]*x[2]*z[7]+y[6]*y[6]*x[3]*z[7]+x[6]*y[7]*y[7]*z[2]-z[6]*x[2]*y[7]*y + [7]; s8 = -x[2]*y[1]*y[1]*z[3]+2.0*y[1]*y[1]*x[0]*z[2]-2.0*y[1]*y[1]*x[2]*z[0] -+z[2]*x[3]*y[1]*y[1]-z[1]*x[0]*y[2]*y[2]+x[1]*y[2]*y[2]*z[0]+y[2]*y[2]*x[0]*z -[3]-y[2]*y[2]*x[3]*z[0]-2.0*y[2]*y[2]*x[3]*z[1]+y[1]*x[1]*y[3]*z[0]-2.0*y[6]*y -[6]*x[7]*z[2]+2.0*y[5]*y[5]*x[4]*z[1]-2.0*y[5]*y[5]*x[1]*z[4]-y[6]*y[6]*x[7]*z -[3]-2.0*y[1]*x[1]*y[0]*z[2]; + +z[2]*x[3]*y[1]*y[1]-z[1]*x[0]*y[2]*y[2]+x[1]*y[2]*y[2]*z[0]+y[2]*y[2]*x[0]*z + [3]-y[2]*y[2]*x[3]*z[0]-2.0*y[2]*y[2]*x[3]*z[1]+y[1]*x[1]*y[3]*z[0]-2.0*y[6]*y + [6]*x[7]*z[2]+2.0*y[5]*y[5]*x[4]*z[1]-2.0*y[5]*y[5]*x[1]*z[4]-y[6]*y[6]*x[7]*z + [3]-2.0*y[1]*x[1]*y[0]*z[2]; s6 = s8+2.0*y[1]*z[1]*x[2]*y[0]-2.0*y[1]*z[1]*x[0]*y[2]+2.0*y[1]*x[1]*y -[2]*z[0]+y[1]*x[2]*y[3]*z[1]-y[1]*y[2]*x[3]*z[1]-y[1]*z[2]*x[1]*y[3]+y[1]*y[2]* -x[1]*z[3]-y[2]*x[1]*y[0]*z[2]+y[2]*z[1]*x[2]*y[0]+y[2]*x[2]*y[3]*z[0]-y[7]*x[6] -*y[2]*z[7]+y[7]*z[6]*x[7]*y[2]+y[7]*y[6]*x[2]*z[7]-y[6]*x[6]*y[3]*z[7]+y[6]*x -[6]*y[7]*z[3]+s7; + [2]*z[0]+y[1]*x[2]*y[3]*z[1]-y[1]*y[2]*x[3]*z[1]-y[1]*z[2]*x[1]*y[3]+y[1]*y[2]* + x[1]*z[3]-y[2]*x[1]*y[0]*z[2]+y[2]*z[1]*x[2]*y[0]+y[2]*x[2]*y[3]*z[0]-y[7]*x[6] + *y[2]*z[7]+y[7]*z[6]*x[7]*y[2]+y[7]*y[6]*x[2]*z[7]-y[6]*x[6]*y[3]*z[7]+y[6]*x + [6]*y[7]*z[3]+s7; s8 = s6-y[6]*z[6]*x[3]*y[7]+y[6]*z[6]*x[7]*y[3]+2.0*y[2]*y[2]*x[1]*z[3]+x -[2]*y[3]*y[3]*z[1]-z[2]*x[1]*y[3]*y[3]+y[1]*x[1]*y[0]*z[4]+y[1]*z[1]*x[3]*y[0]- -y[1]*x[1]*y[0]*z[3]+2.0*y[5]*x[5]*y[1]*z[4]-2.0*y[5]*x[5]*y[4]*z[1]+2.0*y[5]*z -[5]*x[1]*y[4]-2.0*y[5]*z[5]*x[4]*y[1]-2.0*y[6]*x[6]*y[2]*z[7]+2.0*y[6]*x[6]*y -[7]*z[2]; + [2]*y[3]*y[3]*z[1]-z[2]*x[1]*y[3]*y[3]+y[1]*x[1]*y[0]*z[4]+y[1]*z[1]*x[3]*y[0]- + y[1]*x[1]*y[0]*z[3]+2.0*y[5]*x[5]*y[1]*z[4]-2.0*y[5]*x[5]*y[4]*z[1]+2.0*y[5]*z + [5]*x[1]*y[4]-2.0*y[5]*z[5]*x[4]*y[1]-2.0*y[6]*x[6]*y[2]*z[7]+2.0*y[6]*x[6]*y + [7]*z[2]; s7 = s8+2.0*y[6]*z[6]*x[7]*y[2]-2.0*y[6]*z[6]*x[2]*y[7]-y[1]*z[1]*x[4]*y -[0]+y[1]*z[1]*x[0]*y[4]-y[1]*z[1]*x[0]*y[3]+2.0*y[6]*y[6]*x[7]*z[5]+2.0*y[5]*y -[5]*x[6]*z[4]-2.0*y[5]*y[5]*x[4]*z[6]+x[6]*y[5]*y[5]*z[7]-y[3]*x[2]*y[1]*z[3]-y -[3]*y[2]*x[3]*z[1]+y[3]*z[2]*x[3]*y[1]+y[3]*y[2]*x[1]*z[3]-y[2]*x[2]*y[0]*z[3]+ -y[2]*z[2]*x[3]*y[0]; + [0]+y[1]*z[1]*x[0]*y[4]-y[1]*z[1]*x[0]*y[3]+2.0*y[6]*y[6]*x[7]*z[5]+2.0*y[5]*y + [5]*x[6]*z[4]-2.0*y[5]*y[5]*x[4]*z[6]+x[6]*y[5]*y[5]*z[7]-y[3]*x[2]*y[1]*z[3]-y + [3]*y[2]*x[3]*z[1]+y[3]*z[2]*x[3]*y[1]+y[3]*y[2]*x[1]*z[3]-y[2]*x[2]*y[0]*z[3]+ + y[2]*z[2]*x[3]*y[0]; s8 = s7+2.0*y[2]*x[2]*y[3]*z[1]-2.0*y[2]*x[2]*y[1]*z[3]+y[2]*y[1]*x[0]*z -[2]-y[2]*y[1]*x[2]*z[0]+2.0*y[2]*z[2]*x[3]*y[1]-2.0*y[2]*z[2]*x[1]*y[3]-y[2]*z -[2]*x[0]*y[3]+y[5]*z[6]*x[5]*y[7]-y[5]*x[6]*y[7]*z[5]-y[5]*y[6]*x[4]*z[7]-y[5]* -y[6]*x[5]*z[7]-2.0*y[5]*x[5]*y[6]*z[4]+2.0*y[5]*x[5]*y[4]*z[6]-2.0*y[5]*z[5]*x -[6]*y[4]+2.0*y[5]*z[5]*x[4]*y[6]; + [2]-y[2]*y[1]*x[2]*z[0]+2.0*y[2]*z[2]*x[3]*y[1]-2.0*y[2]*z[2]*x[1]*y[3]-y[2]*z + [2]*x[0]*y[3]+y[5]*z[6]*x[5]*y[7]-y[5]*x[6]*y[7]*z[5]-y[5]*y[6]*x[4]*z[7]-y[5]* + y[6]*x[5]*z[7]-2.0*y[5]*x[5]*y[6]*z[4]+2.0*y[5]*x[5]*y[4]*z[6]-2.0*y[5]*z[5]*x + [6]*y[4]+2.0*y[5]*z[5]*x[4]*y[6]; s5 = s8-y[1]*y[5]*x[0]*z[4]-z[6]*x[7]*y[5]*y[5]+y[6]*y[6]*x[7]*z[4]-y[6]* -y[6]*x[4]*z[7]-2.0*y[6]*y[6]*x[5]*z[7]-x[5]*y[6]*y[6]*z[4]+z[5]*x[4]*y[6]*y[6]+ -z[6]*x[5]*y[7]*y[7]-x[6]*y[7]*y[7]*z[5]+y[1]*y[5]*x[4]*z[0]+y[7]*y[6]*x[7]*z[5] -+y[6]*y[5]*x[7]*z[4]+y[5]*y[6]*x[7]*z[5]+y[6]*y[5]*x[6]*z[4]-y[6]*y[5]*x[4]*z -[6]+2.0*y[6]*z[6]*x[5]*y[7]; + y[6]*x[4]*z[7]-2.0*y[6]*y[6]*x[5]*z[7]-x[5]*y[6]*y[6]*z[4]+z[5]*x[4]*y[6]*y[6]+ + z[6]*x[5]*y[7]*y[7]-x[6]*y[7]*y[7]*z[5]+y[1]*y[5]*x[4]*z[0]+y[7]*y[6]*x[7]*z[5] + +y[6]*y[5]*x[7]*z[4]+y[5]*y[6]*x[7]*z[5]+y[6]*y[5]*x[6]*z[4]-y[6]*y[5]*x[4]*z + [6]+2.0*y[6]*z[6]*x[5]*y[7]; s8 = s5-2.0*y[6]*x[6]*y[7]*z[5]+2.0*y[6]*x[6]*y[5]*z[7]-2.0*y[6]*z[6]*x -[7]*y[5]-y[6]*x[5]*y[7]*z[4]-y[6]*x[6]*y[7]*z[4]+y[6]*x[6]*y[4]*z[7]-y[6]*z[6]* -x[7]*y[4]+y[6]*z[5]*x[4]*y[7]+y[6]*z[6]*x[4]*y[7]+y[6]*x[5]*y[4]*z[6]-y[6]*z[5] -*x[6]*y[4]+y[7]*x[6]*y[5]*z[7]-y[7]*z[6]*x[7]*y[5]-2.0*y[6]*x[6]*y[5]*z[2]; + [7]*y[5]-y[6]*x[5]*y[7]*z[4]-y[6]*x[6]*y[7]*z[4]+y[6]*x[6]*y[4]*z[7]-y[6]*z[6]* + x[7]*y[4]+y[6]*z[5]*x[4]*y[7]+y[6]*z[6]*x[4]*y[7]+y[6]*x[5]*y[4]*z[6]-y[6]*z[5] + *x[6]*y[4]+y[7]*x[6]*y[5]*z[7]-y[7]*z[6]*x[7]*y[5]-2.0*y[6]*x[6]*y[5]*z[2]; s7 = s8-y[7]*y[6]*x[5]*z[7]+2.0*y[4]*y[5]*x[4]*z[0]+2.0*x[3]*y[7]*y[7]*z -[4]-2.0*x[4]*y[7]*y[7]*z[3]-z[0]*x[4]*y[7]*y[7]+x[0]*y[7]*y[7]*z[4]-y[0]*z[5]*x -[4]*y[1]+y[0]*x[5]*y[1]*z[4]-y[0]*x[5]*y[4]*z[0]+y[0]*z[5]*x[0]*y[4]-y[5]*y[5]* -x[0]*z[4]+y[5]*y[5]*x[4]*z[0]+2.0*y[1]*y[1]*x[2]*z[5]-2.0*y[1]*y[1]*x[5]*z[2]+z -[1]*x[5]*y[2]*y[2]; + [4]-2.0*x[4]*y[7]*y[7]*z[3]-z[0]*x[4]*y[7]*y[7]+x[0]*y[7]*y[7]*z[4]-y[0]*z[5]*x + [4]*y[1]+y[0]*x[5]*y[1]*z[4]-y[0]*x[5]*y[4]*z[0]+y[0]*z[5]*x[0]*y[4]-y[5]*y[5]* + x[0]*z[4]+y[5]*y[5]*x[4]*z[0]+2.0*y[1]*y[1]*x[2]*z[5]-2.0*y[1]*y[1]*x[5]*z[2]+z + [1]*x[5]*y[2]*y[2]; s8 = s7-x[1]*y[2]*y[2]*z[5]-y[5]*z[5]*x[4]*y[0]+y[5]*z[5]*x[0]*y[4]-y[5]* -x[5]*y[4]*z[0]-y[2]*x[1]*y[6]*z[5]-y[2]*y[1]*x[5]*z[6]+y[2]*z[1]*x[5]*y[6]+y[2] -*y[1]*x[6]*z[5]-y[1]*z[1]*x[6]*y[5]-y[1]*x[1]*y[6]*z[5]+y[1]*x[1]*y[5]*z[6]+y -[1]*z[1]*x[5]*y[6]+y[5]*x[5]*y[0]*z[4]+y[2]*y[1]*x[2]*z[5]-y[2]*z[1]*x[2]*y[5]; + x[5]*y[4]*z[0]-y[2]*x[1]*y[6]*z[5]-y[2]*y[1]*x[5]*z[6]+y[2]*z[1]*x[5]*y[6]+y[2] + *y[1]*x[6]*z[5]-y[1]*z[1]*x[6]*y[5]-y[1]*x[1]*y[6]*z[5]+y[1]*x[1]*y[5]*z[6]+y + [1]*z[1]*x[5]*y[6]+y[5]*x[5]*y[0]*z[4]+y[2]*y[1]*x[2]*z[5]-y[2]*z[1]*x[2]*y[5]; s6 = s8+y[2]*x[1]*y[5]*z[2]-y[2]*y[1]*x[5]*z[2]-y[1]*y[1]*x[5]*z[6]+y[1]* -y[1]*x[6]*z[5]-z[1]*x[2]*y[5]*y[5]+x[1]*y[5]*y[5]*z[2]+2.0*y[1]*z[1]*x[5]*y[2] --2.0*y[1]*x[1]*y[2]*z[5]-2.0*y[1]*z[1]*x[2]*y[5]+2.0*y[1]*x[1]*y[5]*z[2]-y[1]*y -[1]*x[6]*z[2]+y[1]*y[1]*x[2]*z[6]-2.0*y[5]*x[1]*y[6]*z[5]-2.0*y[5]*y[1]*x[5]*z -[6]+2.0*y[5]*z[1]*x[5]*y[6]+2.0*y[5]*y[1]*x[6]*z[5]; + y[1]*x[6]*z[5]-z[1]*x[2]*y[5]*y[5]+x[1]*y[5]*y[5]*z[2]+2.0*y[1]*z[1]*x[5]*y[2] + -2.0*y[1]*x[1]*y[2]*z[5]-2.0*y[1]*z[1]*x[2]*y[5]+2.0*y[1]*x[1]*y[5]*z[2]-y[1]*y + [1]*x[6]*z[2]+y[1]*y[1]*x[2]*z[6]-2.0*y[5]*x[1]*y[6]*z[5]-2.0*y[5]*y[1]*x[5]*z + [6]+2.0*y[5]*z[1]*x[5]*y[6]+2.0*y[5]*y[1]*x[6]*z[5]; s8 = s6-y[6]*z[1]*x[6]*y[5]-y[6]*y[1]*x[5]*z[6]+y[6]*x[1]*y[5]*z[6]+y[6]* -y[1]*x[6]*z[5]-2.0*z[1]*x[6]*y[5]*y[5]+2.0*x[1]*y[5]*y[5]*z[6]-x[1]*y[6]*y[6]*z -[5]+z[1]*x[5]*y[6]*y[6]+y[5]*z[1]*x[5]*y[2]-y[5]*x[1]*y[2]*z[5]+y[5]*y[1]*x[2]* -z[5]-y[5]*y[1]*x[5]*z[2]-y[6]*z[1]*x[2]*y[5]+y[6]*x[1]*y[5]*z[2]; + y[1]*x[6]*z[5]-2.0*z[1]*x[6]*y[5]*y[5]+2.0*x[1]*y[5]*y[5]*z[6]-x[1]*y[6]*y[6]*z + [5]+z[1]*x[5]*y[6]*y[6]+y[5]*z[1]*x[5]*y[2]-y[5]*x[1]*y[2]*z[5]+y[5]*y[1]*x[2]* + z[5]-y[5]*y[1]*x[5]*z[2]-y[6]*z[1]*x[2]*y[5]+y[6]*x[1]*y[5]*z[2]; s7 = s8-y[1]*z[1]*x[2]*y[6]-y[1]*x[1]*y[2]*z[6]+y[1]*x[1]*y[6]*z[2]+y[1]* -z[1]*x[6]*y[2]+y[5]*x[5]*y[6]*z[2]-y[5]*x[2]*y[6]*z[5]+y[5]*x[6]*y[2]*z[5]-y[5] -*x[5]*y[2]*z[6]-x[6]*y[5]*y[5]*z[2]+x[2]*y[5]*y[5]*z[6]-y[5]*y[5]*x[4]*z[7]+y -[5]*y[5]*x[7]*z[4]-y[1]*x[6]*y[5]*z[2]+y[1]*x[2]*y[5]*z[6]-y[2]*x[6]*y[5]*z[2] --2.0*y[2]*y[1]*x[6]*z[2]; + z[1]*x[6]*y[2]+y[5]*x[5]*y[6]*z[2]-y[5]*x[2]*y[6]*z[5]+y[5]*x[6]*y[2]*z[5]-y[5] + *x[5]*y[2]*z[6]-x[6]*y[5]*y[5]*z[2]+x[2]*y[5]*y[5]*z[6]-y[5]*y[5]*x[4]*z[7]+y + [5]*y[5]*x[7]*z[4]-y[1]*x[6]*y[5]*z[2]+y[1]*x[2]*y[5]*z[6]-y[2]*x[6]*y[5]*z[2] + -2.0*y[2]*y[1]*x[6]*z[2]; s8 = s7-2.0*y[2]*z[1]*x[2]*y[6]+2.0*y[2]*x[1]*y[6]*z[2]+2.0*y[2]*y[1]*x -[2]*z[6]-2.0*x[1]*y[2]*y[2]*z[6]+2.0*z[1]*x[6]*y[2]*y[2]+x[6]*y[2]*y[2]*z[5]-x -[5]*y[2]*y[2]*z[6]+2.0*x[5]*y[6]*y[6]*z[2]-2.0*x[2]*y[6]*y[6]*z[5]-z[1]*x[2]*y -[6]*y[6]-y[6]*y[1]*x[6]*z[2]-y[6]*x[1]*y[2]*z[6]+y[6]*z[1]*x[6]*y[2]+y[6]*y[1]* -x[2]*z[6]+x[1]*y[6]*y[6]*z[2]; + [2]*z[6]-2.0*x[1]*y[2]*y[2]*z[6]+2.0*z[1]*x[6]*y[2]*y[2]+x[6]*y[2]*y[2]*z[5]-x + [5]*y[2]*y[2]*z[6]+2.0*x[5]*y[6]*y[6]*z[2]-2.0*x[2]*y[6]*y[6]*z[5]-z[1]*x[2]*y + [6]*y[6]-y[6]*y[1]*x[6]*z[2]-y[6]*x[1]*y[2]*z[6]+y[6]*z[1]*x[6]*y[2]+y[6]*y[1]* + x[2]*z[6]+x[1]*y[6]*y[6]*z[2]; s3 = s8+y[2]*x[5]*y[6]*z[2]+y[2]*x[2]*y[5]*z[6]-y[2]*x[2]*y[6]*z[5]+y[5]* -z[5]*x[4]*y[7]+y[5]*x[5]*y[4]*z[7]-y[5]*z[5]*x[7]*y[4]-y[5]*x[5]*y[7]*z[4]+2.0* -y[4]*x[5]*y[0]*z[4]-y[3]*z[6]*x[3]*y[7]+y[3]*y[6]*x[3]*z[7]+y[3]*x[6]*y[7]*z[3] --y[3]*y[6]*x[7]*z[3]-y[2]*y[1]*x[3]*z[0]-y[2]*z[1]*x[0]*y[3]+y[2]*y[1]*x[0]*z -[3]+y[2]*x[1]*y[3]*z[0]; + z[5]*x[4]*y[7]+y[5]*x[5]*y[4]*z[7]-y[5]*z[5]*x[7]*y[4]-y[5]*x[5]*y[7]*z[4]+2.0* + y[4]*x[5]*y[0]*z[4]-y[3]*z[6]*x[3]*y[7]+y[3]*y[6]*x[3]*z[7]+y[3]*x[6]*y[7]*z[3] + -y[3]*y[6]*x[7]*z[3]-y[2]*y[1]*x[3]*z[0]-y[2]*z[1]*x[0]*y[3]+y[2]*y[1]*x[0]*z + [3]+y[2]*x[1]*y[3]*z[0]; s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x -[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* -z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] -+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; + [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* + z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] + +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]* -x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] -*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z -[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; + x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] + *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z + [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x -[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* -z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] --y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; + [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* + z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] + -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]* -x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] -*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z -[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; + x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] + *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z + [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]* -y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] -*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z -[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; + y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] + *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z + [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]* -x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] -*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z -[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; + x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] + *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z + [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y -[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* -z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] -+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; + [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* + z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] + +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]* -x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] -*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y -[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; + x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] + *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y + [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; s4 = 1/s5; s2 = s3*s4; const double unknown1 = s1*s2; s1 = 1.0/6.0; s8 = -z[2]*x[1]*y[2]*z[5]+z[2]*y[1]*x[2]*z[5]-z[2]*z[1]*x[2]*y[5]+z[2]*z -[1]*x[5]*y[2]+2.0*y[5]*x[7]*z[4]*z[4]-y[1]*x[2]*z[0]*z[0]+x[0]*y[3]*z[7]*z[7] --2.0*z[5]*z[5]*x[4]*y[1]+2.0*z[5]*z[5]*x[1]*y[4]+z[5]*z[5]*x[0]*y[4]-2.0*z[2]*z -[2]*x[1]*y[3]+2.0*z[2]*z[2]*x[3]*y[1]-x[0]*y[4]*z[7]*z[7]-y[0]*x[3]*z[7]*z[7]+x -[1]*y[0]*z[5]*z[5]; + [1]*x[5]*y[2]+2.0*y[5]*x[7]*z[4]*z[4]-y[1]*x[2]*z[0]*z[0]+x[0]*y[3]*z[7]*z[7] + -2.0*z[5]*z[5]*x[4]*y[1]+2.0*z[5]*z[5]*x[1]*y[4]+z[5]*z[5]*x[0]*y[4]-2.0*z[2]*z + [2]*x[1]*y[3]+2.0*z[2]*z[2]*x[3]*y[1]-x[0]*y[4]*z[7]*z[7]-y[0]*x[3]*z[7]*z[7]+x + [1]*y[0]*z[5]*z[5]; s7 = s8-y[1]*x[0]*z[5]*z[5]+z[1]*y[1]*x[2]*z[6]+y[1]*x[0]*z[2]*z[2]+z[2]* -z[2]*x[3]*y[0]-z[2]*z[2]*x[0]*y[3]-x[1]*y[0]*z[2]*z[2]+2.0*z[5]*z[5]*x[4]*y[6] --2.0*z[5]*z[5]*x[6]*y[4]-z[5]*z[5]*x[7]*y[4]-x[6]*y[7]*z[5]*z[5]+2.0*z[2]*y[1]* -x[2]*z[6]-2.0*z[2]*x[1]*y[2]*z[6]+2.0*z[2]*z[1]*x[6]*y[2]-y[6]*x[5]*z[7]*z[7]+ -2.0*x[6]*y[4]*z[7]*z[7]; + z[2]*x[3]*y[0]-z[2]*z[2]*x[0]*y[3]-x[1]*y[0]*z[2]*z[2]+2.0*z[5]*z[5]*x[4]*y[6] + -2.0*z[5]*z[5]*x[6]*y[4]-z[5]*z[5]*x[7]*y[4]-x[6]*y[7]*z[5]*z[5]+2.0*z[2]*y[1]* + x[2]*z[6]-2.0*z[2]*x[1]*y[2]*z[6]+2.0*z[2]*z[1]*x[6]*y[2]-y[6]*x[5]*z[7]*z[7]+ + 2.0*x[6]*y[4]*z[7]*z[7]; s8 = -2.0*y[6]*x[4]*z[7]*z[7]+x[6]*y[5]*z[7]*z[7]-2.0*z[2]*z[1]*x[2]*y[6] -+z[4]*y[6]*x[7]*z[5]+x[5]*y[4]*z[6]*z[6]+z[6]*z[6]*x[4]*y[7]-z[6]*z[6]*x[7]*y -[4]-2.0*z[6]*z[6]*x[7]*y[5]+2.0*z[6]*z[6]*x[5]*y[7]-y[5]*x[4]*z[6]*z[6]+2.0*z -[0]*z[0]*x[3]*y[4]-x[6]*y[5]*z[2]*z[2]+z[1]*z[1]*x[5]*y[6]-z[1]*z[1]*x[6]*y[5]- -z[5]*z[5]*x[4]*y[0]; + +z[4]*y[6]*x[7]*z[5]+x[5]*y[4]*z[6]*z[6]+z[6]*z[6]*x[4]*y[7]-z[6]*z[6]*x[7]*y + [4]-2.0*z[6]*z[6]*x[7]*y[5]+2.0*z[6]*z[6]*x[5]*y[7]-y[5]*x[4]*z[6]*z[6]+2.0*z + [0]*z[0]*x[3]*y[4]-x[6]*y[5]*z[2]*z[2]+z[1]*z[1]*x[5]*y[6]-z[1]*z[1]*x[6]*y[5]- + z[5]*z[5]*x[4]*y[0]; s6 = s8+2.0*x[1]*y[3]*z[0]*z[0]+2.0*x[1]*y[6]*z[2]*z[2]-2.0*y[1]*x[6]*z -[2]*z[2]-y[1]*x[5]*z[2]*z[2]-z[1]*z[1]*x[2]*y[6]-2.0*z[1]*z[1]*x[2]*y[5]+2.0*z -[1]*z[1]*x[5]*y[2]+z[1]*y[1]*x[6]*z[5]+y[1]*x[2]*z[5]*z[5]+z[2]*z[1]*x[2]*y[0]+ -z[1]*x[1]*y[5]*z[6]-z[1]*x[1]*y[6]*z[5]-z[1]*y[1]*x[5]*z[6]-z[1]*x[2]*y[6]*z[5] -+z[1]*x[6]*y[2]*z[5]+s7; + [2]*z[2]-y[1]*x[5]*z[2]*z[2]-z[1]*z[1]*x[2]*y[6]-2.0*z[1]*z[1]*x[2]*y[5]+2.0*z + [1]*z[1]*x[5]*y[2]+z[1]*y[1]*x[6]*z[5]+y[1]*x[2]*z[5]*z[5]+z[2]*z[1]*x[2]*y[0]+ + z[1]*x[1]*y[5]*z[6]-z[1]*x[1]*y[6]*z[5]-z[1]*y[1]*x[5]*z[6]-z[1]*x[2]*y[6]*z[5] + +z[1]*x[6]*y[2]*z[5]+s7; s8 = -x[1]*y[2]*z[5]*z[5]+z[1]*x[5]*y[6]*z[2]-2.0*z[2]*z[2]*x[3]*y[6]+2.0 -*z[2]*z[2]*x[6]*y[3]+z[2]*z[2]*x[7]*y[3]-z[2]*z[2]*x[3]*y[7]-z[1]*x[6]*y[5]*z -[2]+2.0*z[1]*x[1]*y[5]*z[2]-2.0*x[3]*y[4]*z[7]*z[7]+2.0*x[4]*y[3]*z[7]*z[7]+x -[5]*y[6]*z[2]*z[2]+y[1]*x[2]*z[6]*z[6]+y[0]*x[4]*z[7]*z[7]+z[2]*x[2]*y[3]*z[0]- -x[1]*y[2]*z[6]*z[6]; + *z[2]*z[2]*x[6]*y[3]+z[2]*z[2]*x[7]*y[3]-z[2]*z[2]*x[3]*y[7]-z[1]*x[6]*y[5]*z + [2]+2.0*z[1]*x[1]*y[5]*z[2]-2.0*x[3]*y[4]*z[7]*z[7]+2.0*x[4]*y[3]*z[7]*z[7]+x + [5]*y[6]*z[2]*z[2]+y[1]*x[2]*z[6]*z[6]+y[0]*x[4]*z[7]*z[7]+z[2]*x[2]*y[3]*z[0]- + x[1]*y[2]*z[6]*z[6]; s7 = s8-z[7]*z[2]*x[3]*y[7]+x[2]*y[6]*z[3]*z[3]-y[2]*x[6]*z[3]*z[3]-z[6]* -x[2]*y[3]*z[7]-z[2]*z[1]*x[0]*y[2]+z[6]*z[2]*x[6]*y[3]-z[6]*z[2]*x[3]*y[6]+z[6] -*x[2]*y[6]*z[3]+z[2]*x[1]*y[2]*z[0]+z[6]*y[2]*x[3]*z[7]-z[4]*z[5]*x[6]*y[4]+z -[4]*z[5]*x[4]*y[6]-z[4]*y[6]*x[5]*z[7]+z[4]*z[6]*x[4]*y[7]+z[4]*x[5]*y[4]*z[6]; + x[2]*y[3]*z[7]-z[2]*z[1]*x[0]*y[2]+z[6]*z[2]*x[6]*y[3]-z[6]*z[2]*x[3]*y[6]+z[6] + *x[2]*y[6]*z[3]+z[2]*x[1]*y[2]*z[0]+z[6]*y[2]*x[3]*z[7]-z[4]*z[5]*x[6]*y[4]+z + [4]*z[5]*x[4]*y[6]-z[4]*y[6]*x[5]*z[7]+z[4]*z[6]*x[4]*y[7]+z[4]*x[5]*y[4]*z[6]; s8 = -z[6]*y[2]*x[6]*z[3]-z[4]*y[5]*x[4]*z[6]-z[2]*y[1]*x[5]*z[6]+z[2]*x -[1]*y[5]*z[6]+z[4]*x[6]*y[4]*z[7]+2.0*z[4]*z[5]*x[4]*y[7]-z[4]*z[6]*x[7]*y[4]+x -[6]*y[7]*z[3]*z[3]-2.0*z[4]*z[5]*x[7]*y[4]-2.0*z[4]*y[5]*x[4]*z[7]-z[4]*y[6]*x -[4]*z[7]+z[4]*x[6]*y[5]*z[7]-z[4]*x[6]*y[7]*z[5]+2.0*z[4]*x[5]*y[4]*z[7]+z[2]*x -[2]*y[5]*z[6]-z[2]*x[2]*y[6]*z[5]; + [1]*y[5]*z[6]+z[4]*x[6]*y[4]*z[7]+2.0*z[4]*z[5]*x[4]*y[7]-z[4]*z[6]*x[7]*y[4]+x + [6]*y[7]*z[3]*z[3]-2.0*z[4]*z[5]*x[7]*y[4]-2.0*z[4]*y[5]*x[4]*z[7]-z[4]*y[6]*x + [4]*z[7]+z[4]*x[6]*y[5]*z[7]-z[4]*x[6]*y[7]*z[5]+2.0*z[4]*x[5]*y[4]*z[7]+z[2]*x + [2]*y[5]*z[6]-z[2]*x[2]*y[6]*z[5]; s5 = s8+z[2]*x[6]*y[2]*z[5]-z[2]*x[5]*y[2]*z[6]-z[2]*x[2]*y[3]*z[7]-x[2]* -y[3]*z[7]*z[7]+2.0*z[2]*x[2]*y[3]*z[1]-z[2]*y[2]*x[3]*z[0]+z[2]*y[2]*x[0]*z[3]- -z[2]*x[2]*y[0]*z[3]-z[7]*y[2]*x[7]*z[3]+z[7]*z[2]*x[7]*y[3]+z[7]*x[2]*y[7]*z[3] -+z[6]*y[1]*x[2]*z[5]-z[6]*x[1]*y[2]*z[5]+z[5]*x[1]*y[5]*z[2]+s6+s7; + y[3]*z[7]*z[7]+2.0*z[2]*x[2]*y[3]*z[1]-z[2]*y[2]*x[3]*z[0]+z[2]*y[2]*x[0]*z[3]- + z[2]*x[2]*y[0]*z[3]-z[7]*y[2]*x[7]*z[3]+z[7]*z[2]*x[7]*y[3]+z[7]*x[2]*y[7]*z[3] + +z[6]*y[1]*x[2]*z[5]-z[6]*x[1]*y[2]*z[5]+z[5]*x[1]*y[5]*z[2]+s6+s7; s8 = z[5]*z[1]*x[5]*y[2]-z[5]*z[1]*x[2]*y[5]-y[6]*x[7]*z[2]*z[2]+2.0*z[2] -*x[2]*y[6]*z[3]-2.0*z[2]*x[2]*y[3]*z[6]+2.0*z[2]*y[2]*x[3]*z[6]+y[2]*x[3]*z[6]* -z[6]+y[6]*x[7]*z[5]*z[5]+z[2]*y[2]*x[3]*z[7]-z[2]*y[2]*x[7]*z[3]-2.0*z[2]*y[2]* -x[6]*z[3]+z[2]*x[2]*y[7]*z[3]+x[6]*y[2]*z[5]*z[5]-2.0*z[2]*x[2]*y[1]*z[3]-x[2]* -y[6]*z[5]*z[5]; + *x[2]*y[6]*z[3]-2.0*z[2]*x[2]*y[3]*z[6]+2.0*z[2]*y[2]*x[3]*z[6]+y[2]*x[3]*z[6]* + z[6]+y[6]*x[7]*z[5]*z[5]+z[2]*y[2]*x[3]*z[7]-z[2]*y[2]*x[7]*z[3]-2.0*z[2]*y[2]* + x[6]*z[3]+z[2]*x[2]*y[7]*z[3]+x[6]*y[2]*z[5]*z[5]-2.0*z[2]*x[2]*y[1]*z[3]-x[2]* + y[6]*z[5]*z[5]; s7 = s8-y[1]*x[5]*z[6]*z[6]+z[6]*x[1]*y[6]*z[2]-z[3]*z[2]*x[3]*y[6]+z[6]* -z[1]*x[6]*y[2]-z[6]*z[1]*x[2]*y[6]-z[6]*y[1]*x[6]*z[2]-2.0*x[5]*y[2]*z[6]*z[6]+ -z[4]*z[1]*x[0]*y[4]-z[3]*x[2]*y[3]*z[6]-z[5]*y[1]*x[5]*z[2]+z[3]*y[2]*x[3]*z[6] -+2.0*x[2]*y[5]*z[6]*z[6]-z[5]*x[1]*y[5]*z[0]+y[2]*x[3]*z[7]*z[7]-x[2]*y[3]*z[6] -*z[6]; + z[1]*x[6]*y[2]-z[6]*z[1]*x[2]*y[6]-z[6]*y[1]*x[6]*z[2]-2.0*x[5]*y[2]*z[6]*z[6]+ + z[4]*z[1]*x[0]*y[4]-z[3]*x[2]*y[3]*z[6]-z[5]*y[1]*x[5]*z[2]+z[3]*y[2]*x[3]*z[6] + +2.0*x[2]*y[5]*z[6]*z[6]-z[5]*x[1]*y[5]*z[0]+y[2]*x[3]*z[7]*z[7]-x[2]*y[3]*z[6] + *z[6]; s8 = z[5]*y[5]*x[4]*z[0]+z[3]*z[2]*x[6]*y[3]+x[1]*y[5]*z[6]*z[6]+z[5]*y -[5]*x[7]*z[4]-z[1]*x[1]*y[2]*z[6]+z[1]*x[1]*y[6]*z[2]+2.0*z[6]*y[6]*x[7]*z[5]-z -[7]*y[6]*x[7]*z[2]-z[3]*y[6]*x[7]*z[2]+x[6]*y[7]*z[2]*z[2]-2.0*z[6]*y[6]*x[7]*z -[2]-2.0*x[6]*y[3]*z[7]*z[7]-x[6]*y[2]*z[7]*z[7]-z[5]*x[6]*y[5]*z[2]+y[6]*x[2]*z -[7]*z[7]; + [5]*x[7]*z[4]-z[1]*x[1]*y[2]*z[6]+z[1]*x[1]*y[6]*z[2]+2.0*z[6]*y[6]*x[7]*z[5]-z + [7]*y[6]*x[7]*z[2]-z[3]*y[6]*x[7]*z[2]+x[6]*y[7]*z[2]*z[2]-2.0*z[6]*y[6]*x[7]*z + [2]-2.0*x[6]*y[3]*z[7]*z[7]-x[6]*y[2]*z[7]*z[7]-z[5]*x[6]*y[5]*z[2]+y[6]*x[2]*z + [7]*z[7]; s6 = s8+2.0*y[6]*x[3]*z[7]*z[7]+z[6]*z[6]*x[7]*y[3]-y[6]*x[7]*z[3]*z[3]+z -[5]*x[5]*y[0]*z[4]+2.0*z[6]*z[6]*x[7]*y[2]-2.0*z[6]*z[6]*x[2]*y[7]-z[6]*z[6]*x -[3]*y[7]+z[7]*y[6]*x[7]*z[5]+z[7]*y[5]*x[7]*z[4]-2.0*z[7]*x[7]*y[3]*z[4]+2.0*z -[7]*x[3]*y[7]*z[4]-2.0*z[7]*x[4]*y[7]*z[3]+2.0*z[7]*x[7]*y[4]*z[3]-z[7]*y[0]*x -[7]*z[4]-2.0*z[7]*z[6]*x[3]*y[7]+s7; + [5]*x[5]*y[0]*z[4]+2.0*z[6]*z[6]*x[7]*y[2]-2.0*z[6]*z[6]*x[2]*y[7]-z[6]*z[6]*x + [3]*y[7]+z[7]*y[6]*x[7]*z[5]+z[7]*y[5]*x[7]*z[4]-2.0*z[7]*x[7]*y[3]*z[4]+2.0*z + [7]*x[3]*y[7]*z[4]-2.0*z[7]*x[4]*y[7]*z[3]+2.0*z[7]*x[7]*y[4]*z[3]-z[7]*y[0]*x + [7]*z[4]-2.0*z[7]*z[6]*x[3]*y[7]+s7; s8 = s6+2.0*z[7]*z[6]*x[7]*y[3]+2.0*z[7]*x[6]*y[7]*z[3]+z[7]*x[6]*y[7]*z -[2]-2.0*z[7]*y[6]*x[7]*z[3]+z[7]*z[6]*x[7]*y[2]-z[7]*z[6]*x[2]*y[7]+z[5]*y[1]*x -[5]*z[0]-z[5]*z[1]*x[5]*y[0]+2.0*y[1]*x[6]*z[5]*z[5]-2.0*x[1]*y[6]*z[5]*z[5]+z -[5]*z[1]*x[0]*y[5]+z[6]*y[6]*x[3]*z[7]+2.0*z[6]*x[6]*y[7]*z[2]-z[6]*y[6]*x[7]*z -[3]; + [2]-2.0*z[7]*y[6]*x[7]*z[3]+z[7]*z[6]*x[7]*y[2]-z[7]*z[6]*x[2]*y[7]+z[5]*y[1]*x + [5]*z[0]-z[5]*z[1]*x[5]*y[0]+2.0*y[1]*x[6]*z[5]*z[5]-2.0*x[1]*y[6]*z[5]*z[5]+z + [5]*z[1]*x[0]*y[5]+z[6]*y[6]*x[3]*z[7]+2.0*z[6]*x[6]*y[7]*z[2]-z[6]*y[6]*x[7]*z + [3]; s7 = s8+2.0*z[6]*y[6]*x[2]*z[7]-z[6]*x[6]*y[3]*z[7]+z[6]*x[6]*y[7]*z[3] --2.0*z[6]*x[6]*y[2]*z[7]-2.0*z[1]*y[1]*x[5]*z[2]-z[1]*y[1]*x[6]*z[2]-z[7]*z[0]* -x[7]*y[3]-2.0*z[6]*x[6]*y[5]*z[2]-z[2]*z[6]*x[3]*y[7]+z[2]*x[6]*y[7]*z[3]-z[2]* -z[6]*x[2]*y[7]+y[5]*x[6]*z[4]*z[4]+z[2]*y[6]*x[2]*z[7]+y[6]*x[7]*z[4]*z[4]+z[2] -*z[6]*x[7]*y[2]-2.0*x[5]*y[7]*z[4]*z[4]; + -2.0*z[6]*x[6]*y[2]*z[7]-2.0*z[1]*y[1]*x[5]*z[2]-z[1]*y[1]*x[6]*z[2]-z[7]*z[0]* + x[7]*y[3]-2.0*z[6]*x[6]*y[5]*z[2]-z[2]*z[6]*x[3]*y[7]+z[2]*x[6]*y[7]*z[3]-z[2]* + z[6]*x[2]*y[7]+y[5]*x[6]*z[4]*z[4]+z[2]*y[6]*x[2]*z[7]+y[6]*x[7]*z[4]*z[4]+z[2] + *z[6]*x[7]*y[2]-2.0*x[5]*y[7]*z[4]*z[4]; s8 = -x[6]*y[7]*z[4]*z[4]-z[5]*y[5]*x[0]*z[4]-z[2]*x[6]*y[2]*z[7]-x[5]*y -[6]*z[4]*z[4]-2.0*z[5]*y[1]*x[5]*z[6]+2.0*z[5]*z[1]*x[5]*y[6]+2.0*z[5]*x[1]*y -[5]*z[6]-2.0*z[5]*z[1]*x[6]*y[5]-z[5]*x[5]*y[2]*z[6]+z[5]*x[5]*y[6]*z[2]+z[5]*x -[2]*y[5]*z[6]+z[5]*z[5]*x[4]*y[7]-y[5]*x[4]*z[7]*z[7]+x[5]*y[4]*z[7]*z[7]+z[6]* -z[1]*x[5]*y[6]+z[6]*y[1]*x[6]*z[5]; + [6]*z[4]*z[4]-2.0*z[5]*y[1]*x[5]*z[6]+2.0*z[5]*z[1]*x[5]*y[6]+2.0*z[5]*x[1]*y + [5]*z[6]-2.0*z[5]*z[1]*x[6]*y[5]-z[5]*x[5]*y[2]*z[6]+z[5]*x[5]*y[6]*z[2]+z[5]*x + [2]*y[5]*z[6]+z[5]*z[5]*x[4]*y[7]-y[5]*x[4]*z[7]*z[7]+x[5]*y[4]*z[7]*z[7]+z[6]* + z[1]*x[5]*y[6]+z[6]*y[1]*x[6]*z[5]; s4 = s8-z[6]*z[1]*x[6]*y[5]-z[6]*x[1]*y[6]*z[5]+z[2]*z[6]*x[7]*y[3]+2.0*z -[6]*x[6]*y[2]*z[5]+2.0*z[6]*x[5]*y[6]*z[2]-2.0*z[6]*x[2]*y[6]*z[5]+z[7]*z[0]*x -[3]*y[7]+z[7]*z[0]*x[7]*y[4]+z[3]*z[6]*x[7]*y[3]-z[3]*z[6]*x[3]*y[7]-z[3]*x[6]* -y[3]*z[7]+z[3]*y[6]*x[2]*z[7]-z[3]*x[6]*y[2]*z[7]+z[5]*x[5]*y[4]*z[7]+s5+s7; + [6]*x[6]*y[2]*z[5]+2.0*z[6]*x[5]*y[6]*z[2]-2.0*z[6]*x[2]*y[6]*z[5]+z[7]*z[0]*x + [3]*y[7]+z[7]*z[0]*x[7]*y[4]+z[3]*z[6]*x[7]*y[3]-z[3]*z[6]*x[3]*y[7]-z[3]*x[6]* + y[3]*z[7]+z[3]*y[6]*x[2]*z[7]-z[3]*x[6]*y[2]*z[7]+z[5]*x[5]*y[4]*z[7]+s5+s7; s8 = s4+z[3]*y[6]*x[3]*z[7]-z[7]*x[0]*y[7]*z[3]+z[6]*x[5]*y[4]*z[7]+z[7]* -y[0]*x[7]*z[3]+z[5]*z[6]*x[4]*y[7]-2.0*z[5]*x[5]*y[6]*z[4]+2.0*z[5]*x[5]*y[4]*z -[6]-z[5]*x[5]*y[7]*z[4]-z[5]*y[6]*x[5]*z[7]-z[5]*z[6]*x[7]*y[4]-z[7]*z[0]*x[4]* -y[7]-z[5]*z[6]*x[7]*y[5]-z[5]*y[5]*x[4]*z[7]+z[7]*x[0]*y[7]*z[4]; + y[0]*x[7]*z[3]+z[5]*z[6]*x[4]*y[7]-2.0*z[5]*x[5]*y[6]*z[4]+2.0*z[5]*x[5]*y[4]*z + [6]-z[5]*x[5]*y[7]*z[4]-z[5]*y[6]*x[5]*z[7]-z[5]*z[6]*x[7]*y[4]-z[7]*z[0]*x[4]* + y[7]-z[5]*z[6]*x[7]*y[5]-z[5]*y[5]*x[4]*z[7]+z[7]*x[0]*y[7]*z[4]; s7 = s8-2.0*z[5]*y[5]*x[4]*z[6]+z[5]*z[6]*x[5]*y[7]+z[5]*x[6]*y[5]*z[7]+ -2.0*z[5]*y[5]*x[6]*z[4]+z[6]*z[5]*x[4]*y[6]-z[6]*x[5]*y[6]*z[4]-z[6]*z[5]*x[6]* -y[4]-z[6]*x[6]*y[7]*z[4]-2.0*z[6]*y[6]*x[5]*z[7]+z[6]*x[6]*y[4]*z[7]-z[6]*y[5]* -x[4]*z[7]-z[6]*y[6]*x[4]*z[7]+z[6]*y[6]*x[7]*z[4]+z[6]*y[5]*x[6]*z[4]+2.0*z[6]* -x[6]*y[5]*z[7]; + 2.0*z[5]*y[5]*x[6]*z[4]+z[6]*z[5]*x[4]*y[6]-z[6]*x[5]*y[6]*z[4]-z[6]*z[5]*x[6]* + y[4]-z[6]*x[6]*y[7]*z[4]-2.0*z[6]*y[6]*x[5]*z[7]+z[6]*x[6]*y[4]*z[7]-z[6]*y[5]* + x[4]*z[7]-z[6]*y[6]*x[4]*z[7]+z[6]*y[6]*x[7]*z[4]+z[6]*y[5]*x[6]*z[4]+2.0*z[6]* + x[6]*y[5]*z[7]; s8 = -2.0*z[6]*x[6]*y[7]*z[5]-z[2]*y[1]*x[2]*z[0]+2.0*z[7]*z[6]*x[4]*y[7] --2.0*z[7]*x[6]*y[7]*z[4]-2.0*z[7]*z[6]*x[7]*y[4]+z[7]*z[5]*x[4]*y[7]-z[7]*z[5]* -x[7]*y[4]-z[7]*x[5]*y[7]*z[4]+2.0*z[7]*y[6]*x[7]*z[4]-z[7]*z[6]*x[7]*y[5]+z[7]* -z[6]*x[5]*y[7]-z[7]*x[6]*y[7]*z[5]+z[1]*z[1]*x[6]*y[2]+s7+x[1]*y[5]*z[2]*z[2]; + -2.0*z[7]*x[6]*y[7]*z[4]-2.0*z[7]*z[6]*x[7]*y[4]+z[7]*z[5]*x[4]*y[7]-z[7]*z[5]* + x[7]*y[4]-z[7]*x[5]*y[7]*z[4]+2.0*z[7]*y[6]*x[7]*z[4]-z[7]*z[6]*x[7]*y[5]+z[7]* + z[6]*x[5]*y[7]-z[7]*x[6]*y[7]*z[5]+z[1]*z[1]*x[6]*y[2]+s7+x[1]*y[5]*z[2]*z[2]; s6 = s8+2.0*z[2]*y[2]*x[1]*z[3]-2.0*z[2]*y[2]*x[3]*z[1]-2.0*x[1]*y[4]*z -[0]*z[0]+2.0*y[1]*x[4]*z[0]*z[0]+2.0*x[2]*y[7]*z[3]*z[3]-2.0*y[2]*x[7]*z[3]*z -[3]-x[1]*y[5]*z[0]*z[0]+z[0]*z[0]*x[7]*y[4]+z[0]*z[0]*x[3]*y[7]+x[2]*y[3]*z[0]* -z[0]-2.0*y[1]*x[3]*z[0]*z[0]+y[5]*x[4]*z[0]*z[0]-2.0*z[0]*z[0]*x[4]*y[3]+x[1]*y -[2]*z[0]*z[0]-z[0]*z[0]*x[4]*y[7]+y[1]*x[5]*z[0]*z[0]; + [0]*z[0]+2.0*y[1]*x[4]*z[0]*z[0]+2.0*x[2]*y[7]*z[3]*z[3]-2.0*y[2]*x[7]*z[3]*z + [3]-x[1]*y[5]*z[0]*z[0]+z[0]*z[0]*x[7]*y[4]+z[0]*z[0]*x[3]*y[7]+x[2]*y[3]*z[0]* + z[0]-2.0*y[1]*x[3]*z[0]*z[0]+y[5]*x[4]*z[0]*z[0]-2.0*z[0]*z[0]*x[4]*y[3]+x[1]*y + [2]*z[0]*z[0]-z[0]*z[0]*x[4]*y[7]+y[1]*x[5]*z[0]*z[0]; s8 = s6-y[2]*x[3]*z[0]*z[0]+y[1]*x[0]*z[3]*z[3]-2.0*x[0]*y[7]*z[3]*z[3]-x -[0]*y[4]*z[3]*z[3]-2.0*x[2]*y[0]*z[3]*z[3]-x[1]*y[0]*z[3]*z[3]+y[0]*x[4]*z[3]*z -[3]-2.0*z[0]*y[1]*x[0]*z[4]+2.0*z[0]*z[1]*x[0]*y[4]+2.0*z[0]*x[1]*y[0]*z[4]-2.0 -*z[0]*z[1]*x[4]*y[0]-2.0*z[3]*x[2]*y[3]*z[7]-2.0*z[3]*z[2]*x[3]*y[7]+2.0*z[3]*z -[2]*x[7]*y[3]; + [0]*y[4]*z[3]*z[3]-2.0*x[2]*y[0]*z[3]*z[3]-x[1]*y[0]*z[3]*z[3]+y[0]*x[4]*z[3]*z + [3]-2.0*z[0]*y[1]*x[0]*z[4]+2.0*z[0]*z[1]*x[0]*y[4]+2.0*z[0]*x[1]*y[0]*z[4]-2.0 + *z[0]*z[1]*x[4]*y[0]-2.0*z[3]*x[2]*y[3]*z[7]-2.0*z[3]*z[2]*x[3]*y[7]+2.0*z[3]*z + [2]*x[7]*y[3]; s7 = s8+2.0*z[3]*y[2]*x[3]*z[7]+2.0*z[5]*y[5]*x[4]*z[1]+2.0*z[0]*y[1]*x -[0]*z[3]-z[0]*y[0]*x[3]*z[7]-2.0*z[0]*y[0]*x[3]*z[4]-z[0]*x[1]*y[0]*z[2]+z[0]*z -[1]*x[2]*y[0]-z[0]*y[1]*x[0]*z[5]-z[0]*z[1]*x[0]*y[2]-z[0]*x[0]*y[7]*z[3]-2.0*z -[0]*z[1]*x[0]*y[3]-z[5]*x[5]*y[4]*z[0]-2.0*z[0]*x[0]*y[4]*z[3]+z[0]*x[0]*y[7]*z -[4]-z[0]*z[2]*x[0]*y[3]; + [0]*z[3]-z[0]*y[0]*x[3]*z[7]-2.0*z[0]*y[0]*x[3]*z[4]-z[0]*x[1]*y[0]*z[2]+z[0]*z + [1]*x[2]*y[0]-z[0]*y[1]*x[0]*z[5]-z[0]*z[1]*x[0]*y[2]-z[0]*x[0]*y[7]*z[3]-2.0*z + [0]*z[1]*x[0]*y[3]-z[5]*x[5]*y[4]*z[0]-2.0*z[0]*x[0]*y[4]*z[3]+z[0]*x[0]*y[7]*z + [4]-z[0]*z[2]*x[0]*y[3]; s8 = s7+z[0]*x[5]*y[0]*z[4]+z[0]*z[1]*x[0]*y[5]-z[0]*x[2]*y[0]*z[3]-z[0]* -z[1]*x[5]*y[0]-2.0*z[0]*x[1]*y[0]*z[3]+2.0*z[0]*y[0]*x[4]*z[3]-z[0]*x[0]*y[4]*z -[7]+z[0]*x[1]*y[0]*z[5]+z[0]*y[0]*x[7]*z[3]+z[0]*y[2]*x[0]*z[3]-z[0]*y[5]*x[0]* -z[4]+z[0]*z[2]*x[3]*y[0]+z[0]*x[2]*y[3]*z[1]+z[0]*x[0]*y[3]*z[7]-z[0]*x[2]*y[1] -*z[3]; + z[1]*x[5]*y[0]-2.0*z[0]*x[1]*y[0]*z[3]+2.0*z[0]*y[0]*x[4]*z[3]-z[0]*x[0]*y[4]*z + [7]+z[0]*x[1]*y[0]*z[5]+z[0]*y[0]*x[7]*z[3]+z[0]*y[2]*x[0]*z[3]-z[0]*y[5]*x[0]* + z[4]+z[0]*z[2]*x[3]*y[0]+z[0]*x[2]*y[3]*z[1]+z[0]*x[0]*y[3]*z[7]-z[0]*x[2]*y[1] + *z[3]; s5 = s8+z[0]*y[1]*x[0]*z[2]+z[3]*x[1]*y[3]*z[0]-2.0*z[3]*y[0]*x[3]*z[7]-z -[3]*y[0]*x[3]*z[4]-z[3]*x[1]*y[0]*z[2]+z[3]*z[0]*x[7]*y[4]+2.0*z[3]*z[0]*x[3]*y -[7]+2.0*z[3]*x[2]*y[3]*z[0]-z[3]*y[1]*x[3]*z[0]-z[3]*z[1]*x[0]*y[3]-z[3]*z[0]*x -[4]*y[3]+z[3]*x[1]*y[2]*z[0]-z[3]*z[0]*x[4]*y[7]-2.0*z[3]*z[2]*x[0]*y[3]-z[3]*x -[0]*y[4]*z[7]-2.0*z[3]*y[2]*x[3]*z[0]; + [3]*y[0]*x[3]*z[4]-z[3]*x[1]*y[0]*z[2]+z[3]*z[0]*x[7]*y[4]+2.0*z[3]*z[0]*x[3]*y + [7]+2.0*z[3]*x[2]*y[3]*z[0]-z[3]*y[1]*x[3]*z[0]-z[3]*z[1]*x[0]*y[3]-z[3]*z[0]*x + [4]*y[3]+z[3]*x[1]*y[2]*z[0]-z[3]*z[0]*x[4]*y[7]-2.0*z[3]*z[2]*x[0]*y[3]-z[3]*x + [0]*y[4]*z[7]-2.0*z[3]*y[2]*x[3]*z[0]; s8 = s5+2.0*z[3]*z[2]*x[3]*y[0]+z[3]*x[2]*y[3]*z[1]+2.0*z[3]*x[0]*y[3]*z -[7]+z[3]*y[1]*x[0]*z[2]-z[4]*y[0]*x[3]*z[7]-z[4]*x[1]*y[5]*z[0]-z[4]*y[1]*x[0]* -z[5]+2.0*z[4]*z[0]*x[7]*y[4]+z[4]*z[0]*x[3]*y[7]+2.0*z[4]*y[5]*x[4]*z[0]+2.0*y -[0]*x[7]*z[3]*z[3]+2.0*y[2]*x[0]*z[3]*z[3]-x[2]*y[1]*z[3]*z[3]-y[0]*x[3]*z[4]*z -[4]; + [7]+z[3]*y[1]*x[0]*z[2]-z[4]*y[0]*x[3]*z[7]-z[4]*x[1]*y[5]*z[0]-z[4]*y[1]*x[0]* + z[5]+2.0*z[4]*z[0]*x[7]*y[4]+z[4]*z[0]*x[3]*y[7]+2.0*z[4]*y[5]*x[4]*z[0]+2.0*y + [0]*x[7]*z[3]*z[3]+2.0*y[2]*x[0]*z[3]*z[3]-x[2]*y[1]*z[3]*z[3]-y[0]*x[3]*z[4]*z + [4]; s7 = s8-y[1]*x[0]*z[4]*z[4]+x[1]*y[0]*z[4]*z[4]+2.0*x[0]*y[7]*z[4]*z[4]+ -2.0*x[5]*y[0]*z[4]*z[4]-2.0*y[5]*x[0]*z[4]*z[4]+2.0*z[1]*z[1]*x[2]*y[0]-2.0*z -[1]*z[1]*x[0]*y[2]+z[1]*z[1]*x[0]*y[4]-z[1]*z[1]*x[0]*y[3]-z[1]*z[1]*x[4]*y[0]+ -2.0*z[1]*z[1]*x[0]*y[5]-2.0*z[1]*z[1]*x[5]*y[0]+x[2]*y[3]*z[1]*z[1]-x[5]*y[4]*z -[0]*z[0]-z[0]*z[0]*x[7]*y[3]; + 2.0*x[5]*y[0]*z[4]*z[4]-2.0*y[5]*x[0]*z[4]*z[4]+2.0*z[1]*z[1]*x[2]*y[0]-2.0*z + [1]*z[1]*x[0]*y[2]+z[1]*z[1]*x[0]*y[4]-z[1]*z[1]*x[0]*y[3]-z[1]*z[1]*x[4]*y[0]+ + 2.0*z[1]*z[1]*x[0]*y[5]-2.0*z[1]*z[1]*x[5]*y[0]+x[2]*y[3]*z[1]*z[1]-x[5]*y[4]*z + [0]*z[0]-z[0]*z[0]*x[7]*y[3]; s8 = s7+x[7]*y[4]*z[3]*z[3]-x[4]*y[7]*z[3]*z[3]+y[2]*x[1]*z[3]*z[3]+x[0]* -y[3]*z[4]*z[4]-2.0*y[0]*x[7]*z[4]*z[4]+x[3]*y[7]*z[4]*z[4]-x[7]*y[3]*z[4]*z[4]- -y[5]*x[1]*z[4]*z[4]+x[5]*y[1]*z[4]*z[4]+z[1]*z[1]*x[3]*y[0]+y[5]*x[4]*z[1]*z[1] --y[2]*x[3]*z[1]*z[1]-x[5]*y[4]*z[1]*z[1]-z[4]*x[0]*y[4]*z[3]-z[4]*z[0]*x[4]*y -[3]; + y[3]*z[4]*z[4]-2.0*y[0]*x[7]*z[4]*z[4]+x[3]*y[7]*z[4]*z[4]-x[7]*y[3]*z[4]*z[4]- + y[5]*x[1]*z[4]*z[4]+x[5]*y[1]*z[4]*z[4]+z[1]*z[1]*x[3]*y[0]+y[5]*x[4]*z[1]*z[1] + -y[2]*x[3]*z[1]*z[1]-x[5]*y[4]*z[1]*z[1]-z[4]*x[0]*y[4]*z[3]-z[4]*z[0]*x[4]*y + [3]; s6 = s8-z[4]*z[1]*x[4]*y[0]-2.0*z[4]*z[0]*x[4]*y[7]+z[4]*y[1]*x[5]*z[0] --2.0*z[5]*x[5]*y[4]*z[1]-z[4]*x[1]*y[4]*z[0]+z[4]*y[0]*x[4]*z[3]-2.0*z[4]*x[0]* -y[4]*z[7]+z[4]*x[1]*y[0]*z[5]-2.0*z[1]*x[1]*y[2]*z[5]+z[4]*x[0]*y[3]*z[7]+2.0*z -[5]*x[5]*y[1]*z[4]+z[4]*y[1]*x[4]*z[0]+z[1]*y[1]*x[0]*z[3]+z[1]*x[1]*y[3]*z[0] --2.0*z[1]*x[1]*y[5]*z[0]-2.0*z[1]*x[1]*y[0]*z[2]; + -2.0*z[5]*x[5]*y[4]*z[1]-z[4]*x[1]*y[4]*z[0]+z[4]*y[0]*x[4]*z[3]-2.0*z[4]*x[0]* + y[4]*z[7]+z[4]*x[1]*y[0]*z[5]-2.0*z[1]*x[1]*y[2]*z[5]+z[4]*x[0]*y[3]*z[7]+2.0*z + [5]*x[5]*y[1]*z[4]+z[4]*y[1]*x[4]*z[0]+z[1]*y[1]*x[0]*z[3]+z[1]*x[1]*y[3]*z[0] + -2.0*z[1]*x[1]*y[5]*z[0]-2.0*z[1]*x[1]*y[0]*z[2]; s8 = s6-2.0*z[1]*y[1]*x[0]*z[5]-z[1]*y[1]*x[0]*z[4]+2.0*z[1]*y[1]*x[2]*z -[5]-z[1]*y[1]*x[3]*z[0]-2.0*z[5]*y[5]*x[1]*z[4]+z[1]*y[5]*x[4]*z[0]+z[1]*x[1]*y -[0]*z[4]+2.0*z[1]*x[1]*y[2]*z[0]-z[1]*z[2]*x[0]*y[3]+2.0*z[1]*y[1]*x[5]*z[0]-z -[1]*x[1]*y[0]*z[3]-z[1]*x[1]*y[4]*z[0]+2.0*z[1]*x[1]*y[0]*z[5]-z[1]*y[2]*x[3]*z -[0]; + [5]-z[1]*y[1]*x[3]*z[0]-2.0*z[5]*y[5]*x[1]*z[4]+z[1]*y[5]*x[4]*z[0]+z[1]*x[1]*y + [0]*z[4]+2.0*z[1]*x[1]*y[2]*z[0]-z[1]*z[2]*x[0]*y[3]+2.0*z[1]*y[1]*x[5]*z[0]-z + [1]*x[1]*y[0]*z[3]-z[1]*x[1]*y[4]*z[0]+2.0*z[1]*x[1]*y[0]*z[5]-z[1]*y[2]*x[3]*z + [0]; s7 = s8+z[1]*z[2]*x[3]*y[0]-z[1]*x[2]*y[1]*z[3]+z[1]*y[1]*x[4]*z[0]+2.0*z -[1]*y[1]*x[0]*z[2]+2.0*z[0]*z[1]*x[3]*y[0]+2.0*z[0]*x[0]*y[3]*z[4]+z[0]*z[5]*x -[0]*y[4]+z[0]*y[0]*x[4]*z[7]-z[0]*y[0]*x[7]*z[4]-z[0]*x[7]*y[3]*z[4]-z[0]*z[5]* -x[4]*y[0]-z[0]*x[5]*y[4]*z[1]+z[3]*z[1]*x[3]*y[0]+z[3]*x[0]*y[3]*z[4]+z[3]*z[0] -*x[3]*y[4]+z[3]*y[0]*x[4]*z[7]; + [1]*y[1]*x[0]*z[2]+2.0*z[0]*z[1]*x[3]*y[0]+2.0*z[0]*x[0]*y[3]*z[4]+z[0]*z[5]*x + [0]*y[4]+z[0]*y[0]*x[4]*z[7]-z[0]*y[0]*x[7]*z[4]-z[0]*x[7]*y[3]*z[4]-z[0]*z[5]* + x[4]*y[0]-z[0]*x[5]*y[4]*z[1]+z[3]*z[1]*x[3]*y[0]+z[3]*x[0]*y[3]*z[4]+z[3]*z[0] + *x[3]*y[4]+z[3]*y[0]*x[4]*z[7]; s8 = s7+z[3]*x[3]*y[7]*z[4]-z[3]*x[7]*y[3]*z[4]-z[3]*x[3]*y[4]*z[7]+z[3]* -x[4]*y[3]*z[7]-z[3]*y[2]*x[3]*z[1]+z[3]*z[2]*x[3]*y[1]-z[3]*z[2]*x[1]*y[3]-2.0* -z[3]*z[0]*x[7]*y[3]+z[4]*z[0]*x[3]*y[4]+2.0*z[4]*z[5]*x[0]*y[4]+2.0*z[4]*y[0]*x -[4]*z[7]-2.0*z[4]*x[5]*y[4]*z[0]+z[4]*y[5]*x[4]*z[1]+z[4]*x[7]*y[4]*z[3]-z[4]*x -[4]*y[7]*z[3]; + x[4]*y[3]*z[7]-z[3]*y[2]*x[3]*z[1]+z[3]*z[2]*x[3]*y[1]-z[3]*z[2]*x[1]*y[3]-2.0* + z[3]*z[0]*x[7]*y[3]+z[4]*z[0]*x[3]*y[4]+2.0*z[4]*z[5]*x[0]*y[4]+2.0*z[4]*y[0]*x + [4]*z[7]-2.0*z[4]*x[5]*y[4]*z[0]+z[4]*y[5]*x[4]*z[1]+z[4]*x[7]*y[4]*z[3]-z[4]*x + [4]*y[7]*z[3]; s3 = s8-z[4]*x[3]*y[4]*z[7]+z[4]*x[4]*y[3]*z[7]-2.0*z[4]*z[5]*x[4]*y[0]-z -[4]*x[5]*y[4]*z[1]+z[4]*z[5]*x[1]*y[4]-z[4]*z[5]*x[4]*y[1]-2.0*z[1]*y[1]*x[2]*z -[0]+z[1]*z[5]*x[0]*y[4]-z[1]*z[5]*x[4]*y[0]-z[1]*y[5]*x[1]*z[4]+z[1]*x[5]*y[1]* -z[4]+z[1]*z[5]*x[1]*y[4]-z[1]*z[5]*x[4]*y[1]+z[1]*z[2]*x[3]*y[1]-z[1]*z[2]*x[1] -*y[3]+z[1]*y[2]*x[1]*z[3]; + [4]*x[5]*y[4]*z[1]+z[4]*z[5]*x[1]*y[4]-z[4]*z[5]*x[4]*y[1]-2.0*z[1]*y[1]*x[2]*z + [0]+z[1]*z[5]*x[0]*y[4]-z[1]*z[5]*x[4]*y[0]-z[1]*y[5]*x[1]*z[4]+z[1]*x[5]*y[1]* + z[4]+z[1]*z[5]*x[1]*y[4]-z[1]*z[5]*x[4]*y[1]+z[1]*z[2]*x[3]*y[1]-z[1]*z[2]*x[1] + *y[3]+z[1]*y[2]*x[1]*z[3]; s8 = y[1]*x[0]*z[3]+x[1]*y[3]*z[0]-y[0]*x[3]*z[7]-x[1]*y[5]*z[0]-y[0]*x -[3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* -z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] -+x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; + [3]*z[4]-x[1]*y[0]*z[2]+z[1]*x[2]*y[0]-y[1]*x[0]*z[5]-z[1]*x[0]*y[2]-y[1]*x[0]* + z[4]+z[1]*x[5]*y[2]+z[0]*x[7]*y[4]+z[0]*x[3]*y[7]+z[1]*x[0]*y[4]-x[1]*y[2]*z[5] + +x[2]*y[3]*z[0]+y[1]*x[2]*z[5]-x[2]*y[3]*z[7]; s7 = s8-z[1]*x[2]*y[5]-y[1]*x[3]*z[0]-x[0]*y[7]*z[3]-z[1]*x[0]*y[3]+y[5]* -x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] -*y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z -[0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; + x[4]*z[0]-x[0]*y[4]*z[3]+y[5]*x[7]*z[4]-z[0]*x[4]*y[3]+x[1]*y[0]*z[4]-z[2]*x[3] + *y[7]-y[6]*x[7]*z[2]+x[1]*y[5]*z[2]+y[6]*x[7]*z[5]+x[0]*y[7]*z[4]+x[1]*y[2]*z + [0]-z[1]*x[4]*y[0]-z[0]*x[4]*y[7]-z[2]*x[0]*y[3]; s8 = x[5]*y[0]*z[4]+z[1]*x[0]*y[5]-x[2]*y[0]*z[3]-z[1]*x[5]*y[0]+y[1]*x -[5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* -z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] --y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; + [5]*z[0]-x[1]*y[0]*z[3]-x[1]*y[4]*z[0]-y[1]*x[5]*z[2]+x[2]*y[7]*z[3]+y[0]*x[4]* + z[3]-x[0]*y[4]*z[7]+x[1]*y[0]*z[5]-y[1]*x[6]*z[2]-y[2]*x[6]*z[3]+y[0]*x[7]*z[3] + -y[2]*x[7]*z[3]+z[2]*x[7]*y[3]+y[2]*x[0]*z[3]; s6 = s8+y[2]*x[3]*z[7]-y[2]*x[3]*z[0]-x[6]*y[5]*z[2]-y[5]*x[0]*z[4]+z[2]* -x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] -*z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z -[6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; + x[3]*y[0]+x[2]*y[3]*z[1]+x[0]*y[3]*z[7]-x[2]*y[1]*z[3]+y[1]*x[4]*z[0]+y[1]*x[0] + *z[2]-z[1]*x[2]*y[6]+y[2]*x[3]*z[6]-y[1]*x[2]*z[0]+z[1]*x[3]*y[0]-x[1]*y[2]*z + [6]-x[2]*y[3]*z[6]+x[0]*y[3]*z[4]+z[0]*x[3]*y[4]+s7; s8 = x[5]*y[4]*z[7]+s6+y[5]*x[6]*z[4]-y[5]*x[4]*z[6]+z[6]*x[5]*y[7]-x[6]* -y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] -*z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z -[5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; + y[2]*z[7]-x[6]*y[7]*z[5]+x[5]*y[6]*z[2]+x[6]*y[5]*z[7]+x[6]*y[7]*z[2]+y[6]*x[7] + *z[4]-y[6]*x[4]*z[7]-y[6]*x[7]*z[3]+z[6]*x[7]*y[2]+x[2]*y[5]*z[6]-x[2]*y[6]*z + [5]+y[6]*x[2]*z[7]+x[6]*y[2]*z[5]; s7 = s8-x[5]*y[2]*z[6]-z[6]*x[7]*y[5]-z[5]*x[7]*y[4]+z[5]*x[0]*y[4]-y[5]* -x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] -*z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z -[4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; + x[4]*z[7]+y[0]*x[4]*z[7]-z[6]*x[2]*y[7]-x[5]*y[4]*z[0]-x[5]*y[7]*z[4]-y[0]*x[7] + *z[4]+y[5]*x[4]*z[1]-x[6]*y[7]*z[4]+x[7]*y[4]*z[3]-x[4]*y[7]*z[3]+x[3]*y[7]*z + [4]-x[7]*y[3]*z[4]-x[6]*y[3]*z[7]+x[6]*y[4]*z[7]; s8 = -x[3]*y[4]*z[7]+x[4]*y[3]*z[7]-z[6]*x[7]*y[4]-z[1]*x[6]*y[5]+x[6]*y -[7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* -z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] -+x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; + [7]*z[3]-x[1]*y[6]*z[5]-y[1]*x[5]*z[6]+z[5]*x[4]*y[7]-z[5]*x[4]*y[0]+x[1]*y[5]* + z[6]-y[6]*x[5]*z[7]-y[2]*x[3]*z[1]+z[1]*x[5]*y[6]-y[5]*x[1]*z[4]+z[6]*x[4]*y[7] + +x[5]*y[1]*z[4]-x[5]*y[6]*z[4]+y[6]*x[3]*z[7]-x[5]*y[4]*z[1]; s5 = s8+x[5]*y[4]*z[6]+z[5]*x[1]*y[4]+y[1]*x[6]*z[5]-z[6]*x[3]*y[7]+z[6]* -x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] -*z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y -[6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; + x[7]*y[3]-z[5]*x[6]*y[4]-z[5]*x[4]*y[1]+z[5]*x[4]*y[6]+x[1]*y[6]*z[2]+x[2]*y[6] + *z[3]+z[2]*x[6]*y[3]+z[1]*x[6]*y[2]+z[2]*x[3]*y[1]-z[2]*x[1]*y[3]-z[2]*x[3]*y + [6]+y[2]*x[1]*z[3]+y[1]*x[2]*z[6]-z[0]*x[7]*y[3]+s7; s4 = 1/s5; s2 = s3*s4; const double unknown2 = s1*s2; @@ -1474,46 +1474,46 @@ double TriaObjectAccessor<3, 3>::measure () const double s1, s2, s3; s3 = -x[2]*y[7]*z[3]/12.0+x[1]*y[4]*z[0]/12.0-x[0]*y[3]*z[7]/12.0-z[1]*x -[2]*y[0]/12.0+x[5]*y[4]*z[0]/12.0+x[1]*y[5]*z[0]/12.0-x[1]*y[2]*z[0]/12.0-y[2]* -x[3]*z[7]/12.0-x[1]*y[0]*z[4]/12.0-y[1]*x[0]*z[2]/12.0-y[0]*x[7]*z[3]/12.0+y[5] -*x[4]*z[7]/12.0-x[0]*y[3]*z[4]/12.0-y[1]*x[0]*z[3]/12.0-z[0]*x[7]*y[4]/12.0+x -[1]*y[0]*z[3]/12.0-x[2]*y[3]*z[0]/12.0-y[1]*x[2]*z[5]/12.0; + [2]*y[0]/12.0+x[5]*y[4]*z[0]/12.0+x[1]*y[5]*z[0]/12.0-x[1]*y[2]*z[0]/12.0-y[2]* + x[3]*z[7]/12.0-x[1]*y[0]*z[4]/12.0-y[1]*x[0]*z[2]/12.0-y[0]*x[7]*z[3]/12.0+y[5] + *x[4]*z[7]/12.0-x[0]*y[3]*z[4]/12.0-y[1]*x[0]*z[3]/12.0-z[0]*x[7]*y[4]/12.0+x + [1]*y[0]*z[3]/12.0-x[2]*y[3]*z[0]/12.0-y[1]*x[2]*z[5]/12.0; s2 = s3+y[0]*x[3]*z[4]/12.0+y[1]*x[2]*z[0]/12.0+y[2]*x[7]*z[3]/12.0+z[1]* -x[4]*y[0]/12.0-y[5]*x[4]*z[0]/12.0-y[1]*x[5]*z[0]/12.0+x[5]*y[7]*z[4]/12.0+y[1] -*x[3]*z[0]/12.0+x[0]*y[4]*z[7]/12.0+z[0]*x[7]*y[3]/12.0-z[2]*x[3]*y[0]/12.0+y -[1]*x[0]*z[5]/12.0-x[1]*y[5]*z[2]/12.0+y[1]*x[0]*z[4]/12.0+z[1]*x[2]*y[5]/12.0- -x[5]*y[0]*z[4]/12.0+y[2]*x[3]*z[1]/12.0+x[1]*y[0]*z[2]/12.0; + x[4]*y[0]/12.0-y[5]*x[4]*z[0]/12.0-y[1]*x[5]*z[0]/12.0+x[5]*y[7]*z[4]/12.0+y[1] + *x[3]*z[0]/12.0+x[0]*y[4]*z[7]/12.0+z[0]*x[7]*y[3]/12.0-z[2]*x[3]*y[0]/12.0+y + [1]*x[0]*z[5]/12.0-x[1]*y[5]*z[2]/12.0+y[1]*x[0]*z[4]/12.0+z[1]*x[2]*y[5]/12.0- + x[5]*y[0]*z[4]/12.0+y[2]*x[3]*z[1]/12.0+x[1]*y[0]*z[2]/12.0; s3 = -z[1]*x[0]*y[4]/12.0+z[1]*x[0]*y[2]/12.0-x[0]*y[7]*z[4]/12.0+z[0]*x -[4]*y[7]/12.0+x[2]*y[3]*z[7]/12.0+y[2]*x[6]*z[3]/12.0+y[1]*x[6]*z[2]/12.0-y[2]* -x[1]*z[3]/12.0+x[1]*y[2]*z[5]/12.0+y[0]*x[3]*z[7]/12.0+y[2]*x[3]*z[0]/12.0-y[0] -*x[4]*z[3]/12.0-y[2]*x[0]*z[3]/12.0-y[1]*x[4]*z[0]/12.0+z[1]*x[5]*y[0]/12.0+x -[1]*y[2]*z[6]/12.0-x[1]*y[0]*z[5]/12.0-x[2]*y[3]*z[1]/12.0; + [4]*y[7]/12.0+x[2]*y[3]*z[7]/12.0+y[2]*x[6]*z[3]/12.0+y[1]*x[6]*z[2]/12.0-y[2]* + x[1]*z[3]/12.0+x[1]*y[2]*z[5]/12.0+y[0]*x[3]*z[7]/12.0+y[2]*x[3]*z[0]/12.0-y[0] + *x[4]*z[3]/12.0-y[2]*x[0]*z[3]/12.0-y[1]*x[4]*z[0]/12.0+z[1]*x[5]*y[0]/12.0+x + [1]*y[2]*z[6]/12.0-x[1]*y[0]*z[5]/12.0-x[2]*y[3]*z[1]/12.0; s1 = s3-z[0]*x[3]*y[4]/12.0+z[1]*x[0]*y[3]/12.0-z[1]*x[5]*y[2]/12.0+z[1]* -x[2]*y[6]/12.0-z[2]*x[3]*y[1]/12.0+z[2]*x[3]*y[6]/12.0+x[2]*y[1]*z[3]/12.0-z[1] -*x[3]*y[0]/12.0+x[2]*y[3]*z[6]/12.0-z[0]*x[3]*y[7]/12.0+y[5]*x[0]*z[4]/12.0-z -[1]*x[6]*y[2]/12.0-z[2]*x[6]*y[3]/12.0+z[2]*x[0]*y[3]/12.0+z[2]*x[3]*y[7]/12.0+ -z[2]*x[1]*y[3]/12.0+y[1]*x[5]*z[2]/12.0-z[2]*x[7]*y[3]/12.0+s2; + x[2]*y[6]/12.0-z[2]*x[3]*y[1]/12.0+z[2]*x[3]*y[6]/12.0+x[2]*y[1]*z[3]/12.0-z[1] + *x[3]*y[0]/12.0+x[2]*y[3]*z[6]/12.0-z[0]*x[3]*y[7]/12.0+y[5]*x[0]*z[4]/12.0-z + [1]*x[6]*y[2]/12.0-z[2]*x[6]*y[3]/12.0+z[2]*x[0]*y[3]/12.0+z[2]*x[3]*y[7]/12.0+ + z[2]*x[1]*y[3]/12.0+y[1]*x[5]*z[2]/12.0-z[2]*x[7]*y[3]/12.0+s2; s3 = x[0]*y[7]*z[3]/12.0-z[1]*x[0]*y[5]/12.0-x[1]*y[3]*z[0]/12.0-x[1]*y -[6]*z[2]/12.0-x[2]*y[6]*z[3]/12.0-x[5]*y[4]*z[7]/12.0+z[0]*x[4]*y[3]/12.0+x[0]* -y[4]*z[3]/12.0-x[6]*y[5]*z[7]/12.0-x[6]*y[7]*z[2]/12.0+z[1]*x[6]*y[5]/12.0+y[6] -*x[4]*z[7]/12.0+y[1]*x[5]*z[6]/12.0+x[1]*y[6]*z[5]/12.0-y[5]*x[7]*z[4]/12.0+y -[0]*x[7]*z[4]/12.0-y[0]*x[4]*z[7]/12.0-z[5]*x[0]*y[4]/12.0; + [6]*z[2]/12.0-x[2]*y[6]*z[3]/12.0-x[5]*y[4]*z[7]/12.0+z[0]*x[4]*y[3]/12.0+x[0]* + y[4]*z[3]/12.0-x[6]*y[5]*z[7]/12.0-x[6]*y[7]*z[2]/12.0+z[1]*x[6]*y[5]/12.0+y[6] + *x[4]*z[7]/12.0+y[1]*x[5]*z[6]/12.0+x[1]*y[6]*z[5]/12.0-y[5]*x[7]*z[4]/12.0+y + [0]*x[7]*z[4]/12.0-y[0]*x[4]*z[7]/12.0-z[5]*x[0]*y[4]/12.0; s2 = s3+z[6]*x[3]*y[7]/12.0+z[6]*x[7]*y[4]/12.0-z[6]*x[4]*y[7]/12.0-z[6]* -x[7]*y[3]/12.0+y[6]*x[5]*z[7]/12.0-y[6]*x[7]*z[5]/12.0-x[2]*y[5]*z[6]/12.0+z[6] -*x[2]*y[7]/12.0+z[6]*x[7]*y[5]/12.0-z[6]*x[5]*y[7]/12.0-z[6]*x[7]*y[2]/12.0+x -[6]*y[7]*z[5]/12.0+z[5]*x[7]*y[4]/12.0-z[5]*x[4]*y[7]/12.0+y[5]*x[1]*z[4]/12.0- -y[5]*x[6]*z[4]/12.0-y[5]*x[4]*z[1]/12.0+y[5]*x[4]*z[6]/12.0; + x[7]*y[3]/12.0+y[6]*x[5]*z[7]/12.0-y[6]*x[7]*z[5]/12.0-x[2]*y[5]*z[6]/12.0+z[6] + *x[2]*y[7]/12.0+z[6]*x[7]*y[5]/12.0-z[6]*x[5]*y[7]/12.0-z[6]*x[7]*y[2]/12.0+x + [6]*y[7]*z[5]/12.0+z[5]*x[7]*y[4]/12.0-z[5]*x[4]*y[7]/12.0+y[5]*x[1]*z[4]/12.0- + y[5]*x[6]*z[4]/12.0-y[5]*x[4]*z[1]/12.0+y[5]*x[4]*z[6]/12.0; s3 = y[6]*x[7]*z[3]/12.0+x[6]*y[5]*z[2]/12.0-x[5]*y[6]*z[2]/12.0-x[6]*y -[2]*z[5]/12.0+x[5]*y[2]*z[6]/12.0+x[6]*y[2]*z[7]/12.0+z[5]*x[4]*y[0]/12.0-y[6]* -x[2]*z[7]/12.0+x[2]*y[6]*z[5]/12.0+y[6]*x[7]*z[2]/12.0-y[6]*x[3]*z[7]/12.0-x[7] -*y[4]*z[3]/12.0-x[6]*y[4]*z[7]/12.0-x[5]*y[1]*z[4]/12.0+x[6]*y[7]*z[4]/12.0+x -[7]*y[3]*z[4]/12.0-z[1]*x[5]*y[6]/12.0+x[3]*y[4]*z[7]/12.0+x[5]*y[6]*z[4]/12.0; + [2]*z[5]/12.0+x[5]*y[2]*z[6]/12.0+x[6]*y[2]*z[7]/12.0+z[5]*x[4]*y[0]/12.0-y[6]* + x[2]*z[7]/12.0+x[2]*y[6]*z[5]/12.0+y[6]*x[7]*z[2]/12.0-y[6]*x[3]*z[7]/12.0-x[7] + *y[4]*z[3]/12.0-x[6]*y[4]*z[7]/12.0-x[5]*y[1]*z[4]/12.0+x[6]*y[7]*z[4]/12.0+x + [7]*y[3]*z[4]/12.0-z[1]*x[5]*y[6]/12.0+x[3]*y[4]*z[7]/12.0+x[5]*y[6]*z[4]/12.0; return s3+x[5]*y[4]*z[1]/12.0-x[5]*y[4]*z[6]/12.0-x[3]*y[7]*z[4]/12.0+x[6]* -y[3]*z[7]/12.0-y[1]*x[6]*z[5]/12.0-z[5]*x[1]*y[4]/12.0+z[5]*x[6]*y[4]/12.0+z[5] -*x[4]*y[1]/12.0-z[5]*x[4]*y[6]/12.0-x[6]*y[7]*z[3]/12.0-x[4]*y[3]*z[7]/12.0+x -[4]*y[7]*z[3]/12.0-x[1]*y[5]*z[6]/12.0-y[6]*x[7]*z[4]/12.0-y[1]*x[2]*z[6]/12.0- -y[2]*x[3]*z[6]/12.0+s2+s1+x[2]*y[0]*z[3]/12.0; + y[3]*z[7]/12.0-y[1]*x[6]*z[5]/12.0-z[5]*x[1]*y[4]/12.0+z[5]*x[6]*y[4]/12.0+z[5] + *x[4]*y[1]/12.0-z[5]*x[4]*y[6]/12.0-x[6]*y[7]*z[3]/12.0-x[4]*y[3]*z[7]/12.0+x + [4]*y[7]*z[3]/12.0-x[1]*y[5]*z[6]/12.0-y[6]*x[7]*z[4]/12.0-y[1]*x[2]*z[6]/12.0- + y[2]*x[3]*z[6]/12.0+s2+s1+x[2]*y[0]*z[3]/12.0; }; #endif diff --git a/deal.II/deal.II/source/grid/tria_boundary.cc b/deal.II/deal.II/source/grid/tria_boundary.cc index 8fa2eff1cf..ca112d6c50 100644 --- a/deal.II/deal.II/source/grid/tria_boundary.cc +++ b/deal.II/deal.II/source/grid/tria_boundary.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/grid/tria_boundary_lib.cc b/deal.II/deal.II/source/grid/tria_boundary_lib.cc index 67eff897c5..f47b9990ac 100644 --- a/deal.II/deal.II/source/grid/tria_boundary_lib.cc +++ b/deal.II/deal.II/source/grid/tria_boundary_lib.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/multigrid/mg_base.cc b/deal.II/deal.II/source/multigrid/mg_base.cc index 516e607d2a..8b50079c18 100644 --- a/deal.II/deal.II/source/multigrid/mg_base.cc +++ b/deal.II/deal.II/source/multigrid/mg_base.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc b/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc index c2a31faeb0..634acfc8a5 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -104,7 +104,7 @@ void MGDoFObjectAccessor<1, dim>::set_mg_vertex_dof_index (const unsigned int ve template void -MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (vector &dof_indices) const +MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (std::vector &dof_indices) const { Assert (dof_handler != 0, DoFAccessor::ExcInvalidObject()); Assert (mg_dof_handler != 0, DoFAccessor::ExcInvalidObject()); @@ -115,7 +115,7 @@ MGDoFObjectAccessor<1, dim>::get_mg_dof_indices (vector &dof_indic const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<2; ++vertex) for (unsigned int d=0; d::get_mg_dof_values (const Vector &values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line; - typename vector::iterator next_dof_value=dof_values.begin(); + typename Vector::iterator next_dof_value=dof_values.begin(); for (unsigned int vertex=0; vertex<2; ++vertex) for (unsigned int d=0; d::set_mg_vertex_dof_index (const unsigned int ve template void -MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (vector &dof_indices) const +MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (std::vector &dof_indices) const { Assert (dof_handler != 0, DoFAccessor::ExcInvalidObject()); Assert (mg_dof_handler != 0, DoFAccessor::ExcInvalidObject()); @@ -276,7 +276,7 @@ MGDoFObjectAccessor<2, dim>::get_mg_dof_indices (vector &dof_indic const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<4; ++vertex) for (unsigned int d=0; d::get_mg_dof_values (const Vector &values, const unsigned int dofs_per_vertex = dof_handler->get_fe().dofs_per_vertex, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad; - typename vector::iterator next_dof_value=dof_values.begin(); + typename Vector::iterator next_dof_value=dof_values.begin(); for (unsigned int vertex=0; vertex<4; ++vertex) for (unsigned int d=0; d::set_mg_vertex_dof_index (const unsigned int ve template void -MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (vector &dof_indices) const +MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (std::vector &dof_indices) const { Assert (dof_handler != 0, DoFAccessor::ExcInvalidObject()); Assert (mg_dof_handler != 0, DoFAccessor::ExcInvalidObject()); @@ -462,7 +462,7 @@ MGDoFObjectAccessor<3, dim>::get_mg_dof_indices (vector &dof_indic dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad, dofs_per_hex = dof_handler->get_fe().dofs_per_hex; - vector::iterator next = dof_indices.begin(); + std::vector::iterator next = dof_indices.begin(); for (unsigned int vertex=0; vertex<8; ++vertex) for (unsigned int d=0; d::get_mg_dof_values (const Vector &values, dofs_per_line = dof_handler->get_fe().dofs_per_line, dofs_per_quad = dof_handler->get_fe().dofs_per_quad, dofs_per_hex = dof_handler->get_fe().dofs_per_hex; - typename vector::iterator next_dof_value=dof_values.begin(); + typename Vector::iterator next_dof_value=dof_values.begin(); for (unsigned int vertex=0; vertex<8; ++vertex) for (unsigned int d=0; d::n_dofs (const unsigned int level) const { template <> void MGDoFHandler<1>::renumber_dofs (const unsigned int level, - const vector &new_numbers) { + const std::vector &new_numbers) { Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete()); // note that we can not use cell iterators @@ -1390,7 +1390,7 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level, // two cells more than once. Anyway, this // ways it's not only more correct but also // faster - for (vector::iterator i=mg_vertex_dofs.begin(); + for (std::vector::iterator i=mg_vertex_dofs.begin(); i!=mg_vertex_dofs.end(); ++i) // if the present vertex lives on // the present level @@ -1401,7 +1401,7 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level, new_numbers[i->get_index (level, d, selected_fe->dofs_per_vertex)]); - for (vector::iterator i=mg_levels[level]->line_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->line_dofs.begin(); i!=mg_levels[level]->line_dofs.end(); ++i) { Assert (*i != DoFHandler<1>::invalid_dof_index, ExcInternalError()); @@ -1416,10 +1416,10 @@ void MGDoFHandler<1>::renumber_dofs (const unsigned int level, template <> void MGDoFHandler<2>::renumber_dofs (const unsigned int level, - const vector &new_numbers) { + const std::vector &new_numbers) { Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete()); - for (vector::iterator i=mg_vertex_dofs.begin(); + for (std::vector::iterator i=mg_vertex_dofs.begin(); i!=mg_vertex_dofs.end(); ++i) // if the present vertex lives on // the present level @@ -1430,14 +1430,14 @@ void MGDoFHandler<2>::renumber_dofs (const unsigned int level, new_numbers[i->get_index (level, d, selected_fe->dofs_per_vertex)]); - for (vector::iterator i=mg_levels[level]->line_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->line_dofs.begin(); i!=mg_levels[level]->line_dofs.end(); ++i) { Assert (*i != DoFHandler<2>::invalid_dof_index, ExcInternalError()); *i = new_numbers[*i]; }; - for (vector::iterator i=mg_levels[level]->quad_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->quad_dofs.begin(); i!=mg_levels[level]->quad_dofs.end(); ++i) { Assert (*i != DoFHandler<2>::invalid_dof_index, ExcInternalError()); @@ -1452,10 +1452,10 @@ void MGDoFHandler<2>::renumber_dofs (const unsigned int level, template <> void MGDoFHandler<3>::renumber_dofs (const unsigned int level, - const vector &new_numbers) { + const std::vector &new_numbers) { Assert (new_numbers.size() == n_dofs(level), ExcRenumberingIncomplete()); - for (vector::iterator i=mg_vertex_dofs.begin(); + for (std::vector::iterator i=mg_vertex_dofs.begin(); i!=mg_vertex_dofs.end(); ++i) // if the present vertex lives on // the present level @@ -1466,21 +1466,21 @@ void MGDoFHandler<3>::renumber_dofs (const unsigned int level, new_numbers[i->get_index (level, d, selected_fe->dofs_per_vertex)]); - for (vector::iterator i=mg_levels[level]->line_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->line_dofs.begin(); i!=mg_levels[level]->line_dofs.end(); ++i) { Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError()); *i = new_numbers[*i]; }; - for (vector::iterator i=mg_levels[level]->quad_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->quad_dofs.begin(); i!=mg_levels[level]->quad_dofs.end(); ++i) { Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError()); *i = new_numbers[*i]; }; - for (vector::iterator i=mg_levels[level]->hex_dofs.begin(); + for (std::vector::iterator i=mg_levels[level]->hex_dofs.begin(); i!=mg_levels[level]->hex_dofs.end(); ++i) { Assert (*i != DoFHandler<3>::invalid_dof_index, ExcInternalError()); @@ -1525,7 +1525,7 @@ void MGDoFHandler<1>::reserve_space () { { mg_levels.push_back (new DoFLevel<1>); - mg_levels.back()->line_dofs = vector(tria->levels[i]->lines.lines.size() * + mg_levels.back()->line_dofs = std::vector(tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, DoFHandler<1>::invalid_dof_index); }; @@ -1544,8 +1544,8 @@ void MGDoFHandler<1>::reserve_space () { // vertex we pass by belongs to mg_vertex_dofs.resize (tria->vertices.size()); - vector min_level (tria->vertices.size(), tria->n_levels()); - vector max_level (tria->vertices.size(), 0); + std::vector min_level (tria->vertices.size(), tria->n_levels()); + std::vector max_level (tria->vertices.size(), 0); Triangulation::cell_iterator cell = tria->begin(), endc = tria->end(); @@ -1611,10 +1611,10 @@ void MGDoFHandler<2>::reserve_space () { { mg_levels.push_back (new DoFLevel<2>); - mg_levels.back()->line_dofs = vector (tria->levels[i]->lines.lines.size() * + mg_levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, DoFHandler<2>::invalid_dof_index); - mg_levels.back()->quad_dofs = vector (tria->levels[i]->quads.quads.size() * + mg_levels.back()->quad_dofs = std::vector (tria->levels[i]->quads.quads.size() * selected_fe->dofs_per_quad, DoFHandler<2>::invalid_dof_index); }; @@ -1634,8 +1634,8 @@ void MGDoFHandler<2>::reserve_space () { // vertex we pass by belongs to mg_vertex_dofs.resize (tria->vertices.size()); - vector min_level (tria->vertices.size(), tria->n_levels()); - vector max_level (tria->vertices.size(), 0); + std::vector min_level (tria->vertices.size(), tria->n_levels()); + std::vector max_level (tria->vertices.size(), 0); Triangulation::cell_iterator cell = tria->begin(), endc = tria->end(); @@ -1702,13 +1702,13 @@ void MGDoFHandler<3>::reserve_space () { { mg_levels.push_back (new DoFLevel<3>); - mg_levels.back()->line_dofs = vector (tria->levels[i]->lines.lines.size() * + mg_levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, DoFHandler<3>::invalid_dof_index); - mg_levels.back()->quad_dofs = vector (tria->levels[i]->quads.quads.size() * + mg_levels.back()->quad_dofs = std::vector (tria->levels[i]->quads.quads.size() * selected_fe->dofs_per_quad, DoFHandler<3>::invalid_dof_index); - mg_levels.back()->hex_dofs = vector (tria->levels[i]->hexes.hexes.size() * + mg_levels.back()->hex_dofs = std::vector (tria->levels[i]->hexes.hexes.size() * selected_fe->dofs_per_hex, DoFHandler<3>::invalid_dof_index); }; @@ -1728,8 +1728,8 @@ void MGDoFHandler<3>::reserve_space () { // vertex we pass by belongs to mg_vertex_dofs.resize (tria->vertices.size()); - vector min_level (tria->vertices.size(), tria->n_levels()); - vector max_level (tria->vertices.size(), 0); + std::vector min_level (tria->vertices.size(), tria->n_levels()); + std::vector max_level (tria->vertices.size(), 0); Triangulation::cell_iterator cell = tria->begin(), endc = tria->end(); diff --git a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc index 0c1e34ccef..b59f07bf57 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -34,7 +34,7 @@ void MGDoFTools::make_sparsity_pattern (const MGDoFHandler &dof, ExcDimensionMismatch (sparsity.n_cols(), n_dofs)); const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(dofs_per_cell); + std::vector dofs_on_this_cell(dofs_per_cell); MGDoFHandler::cell_iterator cell = dof.begin(level), endc = dof.end(level); for (; cell!=endc; ++cell) @@ -64,8 +64,8 @@ MGDoFTools::make_flux_sparsity_pattern (const MGDoFHandler &dof, ExcDimensionMismatch (sparsity.n_cols(), n_dofs)); const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(dofs_per_cell); - vector dofs_on_other_cell(dofs_per_cell); + std::vector dofs_on_this_cell(dofs_per_cell); + std::vector dofs_on_other_cell(dofs_per_cell); MGDoFHandler::cell_iterator cell = dof.begin(level), endc = dof.end(level); for (; cell!=endc; ++cell) @@ -125,8 +125,8 @@ MGDoFTools::make_flux_sparsity_pattern_edge (const MGDoFHandler &dof, ExcDimensionMismatch (sparsity.n_cols(), fine_dofs)); const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(dofs_per_cell); - vector dofs_on_other_cell(dofs_per_cell); + std::vector dofs_on_this_cell(dofs_per_cell); + std::vector dofs_on_other_cell(dofs_per_cell); MGDoFHandler::cell_iterator cell = dof.begin(level), endc = dof.end(level); for (; cell!=endc; ++cell) @@ -187,16 +187,16 @@ MGDoFTools::make_flux_sparsity_pattern (const MGDoFHandler &dof, ExcDimensionMismatch (flux_mask.n(), n_comp)); const unsigned int total_dofs = dof.get_fe().dofs_per_cell; - vector dofs_on_this_cell(total_dofs); - vector dofs_on_other_cell(total_dofs); + std::vector dofs_on_this_cell(total_dofs); + std::vector dofs_on_other_cell(total_dofs); MGDoFHandler::cell_iterator cell = dof.begin(level), endc = dof.end(level); - vector > int_dof_mask(total_dofs, - vector(total_dofs, false)); - vector > flux_dof_mask(total_dofs, - vector(total_dofs, false)); + std::vector > int_dof_mask(total_dofs, + std::vector(total_dofs, false)); + std::vector > flux_dof_mask(total_dofs, + std::vector(total_dofs, false)); for (unsigned int i=0; i &mg_dof, unsigned int steps) // to much memory by later copying the // content of this vector to its final // destination - vector boundary_dofs; + std::vector boundary_dofs; // temporary to hold the dof indices // on a face between to levels - vector dofs_on_face (mg_dof.get_fe().dofs_per_face); + std::vector dofs_on_face (mg_dof.get_fe().dofs_per_face); for (unsigned int level=1; level::const_iterator p=interior_boundary_dofs[level-1].begin(); + for (std::vector::const_iterator p=interior_boundary_dofs[level-1].begin(); p!=interior_boundary_dofs[level-1].end(); ++p) u(*p) = 0; }; diff --git a/deal.II/deal.II/source/multigrid/multigrid.all_dimensions.cc b/deal.II/deal.II/source/multigrid/multigrid.all_dimensions.cc index 6a2e53df99..be32a19fa5 100644 --- a/deal.II/deal.II/source/multigrid/multigrid.all_dimensions.cc +++ b/deal.II/deal.II/source/multigrid/multigrid.all_dimensions.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/multigrid/multigrid.cc b/deal.II/deal.II/source/multigrid/multigrid.cc index 652b36ad0d..140e4e0caf 100644 --- a/deal.II/deal.II/source/multigrid/multigrid.cc +++ b/deal.II/deal.II/source/multigrid/multigrid.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -35,7 +35,7 @@ Multigrid::Multigrid (const MGDoFHandler &mg_dof const unsigned int maxlevel) : MGBase(transfer, minlevel, - min(mg_dof_handler.get_tria().n_levels()-1, + std::min(mg_dof_handler.get_tria().n_levels()-1, maxlevel)), mg_dof_handler(&mg_dof_handler), level_sparsities(&level_sparsities), @@ -76,8 +76,8 @@ void MGTransferPrebuilt::build_matrices (const MGDoFHandler &mg_dof) // two fields which will store the // indices of the multigrid dofs // for a cell and one of its children - vector dof_indices_mother (dofs_per_cell); - vector dof_indices_child (dofs_per_cell); + std::vector dof_indices_mother (dofs_per_cell); + std::vector dof_indices_child (dofs_per_cell); // for each level: first build the sparsity // pattern of the matrices and then build the diff --git a/deal.II/deal.II/source/numerics/assembler.cc b/deal.II/deal.II/source/numerics/assembler.cc index 4737700a83..0ef8efff8f 100644 --- a/deal.II/deal.II/source/numerics/assembler.cc +++ b/deal.II/deal.II/source/numerics/assembler.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -91,7 +91,7 @@ void Assembler::assemble (const Equation &equation) { // get indices of dofs - vector dofs (n_dofs); + std::vector dofs (n_dofs); get_dof_indices (dofs); // one could use the diff --git a/deal.II/deal.II/source/numerics/base.cc b/deal.II/deal.II/source/numerics/base.cc index b3281538f3..83edf66f8e 100644 --- a/deal.II/deal.II/source/numerics/base.cc +++ b/deal.II/deal.II/source/numerics/base.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -130,7 +130,7 @@ void ProblemBase::assemble (const Equation &equation, // apply Dirichlet bc as described // in the docs - map boundary_value_list; + std::map boundary_value_list; for (typename FunctionMap::const_iterator dirichlet = dirichlet_bc.begin() ; dirichlet != dirichlet_bc.end() ; ++dirichlet) @@ -176,7 +176,7 @@ void ProblemBase::fill_data (DataOut &out) const { template -string ProblemBase::get_solution_name () const { +std::string ProblemBase::get_solution_name () const { return "solution"; }; diff --git a/deal.II/deal.II/source/numerics/data_out.cc b/deal.II/deal.II/source/numerics/data_out.cc index 2efc611348..9d8fbdb7a1 100644 --- a/deal.II/deal.II/source/numerics/data_out.cc +++ b/deal.II/deal.II/source/numerics/data_out.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -33,7 +33,7 @@ template DataOut_DoFData::DataEntry:: DataEntry (const Vector *data, - const vector &names) : + const std::vector &names) : data(data), names(names) {}; @@ -90,7 +90,7 @@ attach_dof_handler (const DoFHandler &d) template void DataOut_DoFData::add_data_vector (const Vector &vec, - const vector &names) + const std::vector &names) { Assert (dofs != 0, ExcNoDoFHandlerSelected ()); @@ -111,7 +111,7 @@ DataOut_DoFData::add_data_vector (con for (unsigned int i=0; i()") == string::npos, + "0123456789_<>()") == std::string::npos, ExcInvalidCharacter (names[i])); DataEntry new_entry (&vec, names); @@ -131,11 +131,11 @@ DataOut_DoFData::add_data_vector (con template void DataOut_DoFData::add_data_vector (const Vector &vec, - const string &name) + const std::string &name) { unsigned int n_components = dofs->get_fe().n_components (); - vector names; + std::vector names; // if only one component or vector // is cell vector: we only need one // name @@ -151,8 +151,8 @@ DataOut_DoFData::add_data_vector (con names.resize (n_components); for (unsigned int i=0; i::clear_data_vect cell_data.erase (cell_data.begin(), cell_data.end()); // delete patches - vector > dummy; + std::vector > dummy; patches.swap (dummy); } @@ -208,23 +208,23 @@ DataOut_DoFData::clear () }; // delete patches - vector > dummy; + std::vector > dummy; patches.swap (dummy); } template -vector +std::vector DataOut_DoFData::get_dataset_names () const { - vector names; + std::vector names; // collect the names of dof // and cell data - for (typename vector::const_iterator d=dof_data.begin(); + for (typename std::vector::const_iterator d=dof_data.begin(); d!=dof_data.end(); ++d) for (unsigned int i=0; inames.size(); ++i) names.push_back (d->names[i]); - for (typename vector::const_iterator d=cell_data.begin(); + for (typename std::vector::const_iterator d=cell_data.begin(); d!=cell_data.end(); ++d) { Assert (d->names.size() == 1, ExcInternalError()); @@ -237,7 +237,7 @@ DataOut_DoFData::get_dataset_names () template -const vector > & +const std::vector > & DataOut_DoFData::get_patches () const { return patches; @@ -275,7 +275,7 @@ void DataOut::build_some_patches (Data data) const unsigned int n_q_points = patch_points.n_quadrature_points; unsigned int cell_number = 0; - typename vector >::iterator patch = patches.begin(); + typename std::vector >::iterator patch = patches.begin(); DoFHandler::cell_iterator cell=first_cell(); // get first cell in this thread @@ -379,7 +379,7 @@ void DataOut::build_patches (const unsigned int n_subdivisions, // clear the patches array if (true) { - vector > dummy; + std::vector > dummy; patches.swap (dummy); }; @@ -392,7 +392,7 @@ void DataOut::build_patches (const unsigned int n_subdivisions, cell = next_cell(cell)) ++n_patches; - vector thread_data(n_threads); + std::vector thread_data(n_threads); // init data for the threads for (unsigned int i=0;i::build_some_patches (Data data) const unsigned int n_q_points = patch_points.n_quadrature_points; unsigned int face_number = 0; - typename vector >::iterator patch = patches.begin(); + typename std::vector >::iterator patch = patches.begin(); FaceDescriptor face=first_face(); // get first face in this thread @@ -149,7 +149,7 @@ void DataOutFaces::build_patches (const unsigned int n_subdivisions, // clear the patches array if (true) { - vector > dummy; + std::vector > dummy; patches.swap (dummy); }; @@ -162,7 +162,7 @@ void DataOutFaces::build_patches (const unsigned int n_subdivisions, face = next_face(face)) ++n_patches; - vector thread_data(n_threads); + std::vector thread_data(n_threads); // init data for the threads for (unsigned int i=0;i::build_some_patches (Data data) // initial direction at the end // again const double pi = 3.14159265358979323846; - vector > angle_directions (n_patches_per_circle+1); + std::vector > angle_directions (n_patches_per_circle+1); for (unsigned int i=0; i<=n_patches_per_circle; ++i) { angle_directions[i][0] = cos(2*pi*i/n_patches_per_circle); @@ -67,7 +67,7 @@ void DataOutRotation::build_some_patches (Data data) unsigned int cell_number = 0; - typename vector >::iterator patch = patches.begin(); + typename std::vector >::iterator patch = patches.begin(); typename DoFHandler::cell_iterator cell=first_cell(); // get first cell in this thread @@ -328,7 +328,7 @@ void DataOutRotation::build_patches (const unsigned int n_patches_per_circl // clear the patches array if (true) { - vector > dummy; + std::vector > dummy; patches.swap (dummy); }; @@ -347,7 +347,7 @@ void DataOutRotation::build_patches (const unsigned int n_patches_per_circl // rotation n_patches *= n_patches_per_circle; - vector thread_data(n_threads); + std::vector thread_data(n_threads); // init data for the threads for (unsigned int i=0;i::new_parameter_value (const double p, // // this is to prevent serious waste of // memory - for (typename vector::const_iterator i=dof_data.begin(); + for (typename std::vector::const_iterator i=dof_data.begin(); i!=dof_data.end(); ++i) Assert (i->data.size() == 0, ExcDataNotCleared ()); - for (typename vector::const_iterator i=cell_data.begin(); + for (typename std::vector::const_iterator i=cell_data.begin(); i!=cell_data.end(); ++i) Assert (i->data.size() == 0, ExcDataNotCleared ()); @@ -71,17 +71,17 @@ void DataOutStack::attach_dof_handler (const DoFHandler &dof) template -void DataOutStack::declare_data_vector (const string &name, +void DataOutStack::declare_data_vector (const std::string &name, const VectorType vector_type) { - vector names; + std::vector names; names.push_back (name); declare_data_vector (names, vector_type); }; template -void DataOutStack::declare_data_vector (const vector &names, +void DataOutStack::declare_data_vector (const std::vector &names, const VectorType vector_type) { // make sure this function is @@ -92,14 +92,14 @@ void DataOutStack::declare_data_vector (const vector &names, // also make sure that no name is // used twice - for (vector::const_iterator name=names.begin(); name!=names.end(); ++name) + for (std::vector::const_iterator name=names.begin(); name!=names.end(); ++name) { - for (typename vector::const_iterator data_set=dof_data.begin(); + for (typename std::vector::const_iterator data_set=dof_data.begin(); data_set!=dof_data.end(); ++data_set) for (unsigned int i=0; inames.size(); ++i) Assert (*name != data_set->names[i], ExcNameAlreadyUsed(*name)); - for (typename vector::const_iterator data_set=cell_data.begin(); + for (typename std::vector::const_iterator data_set=cell_data.begin(); data_set!=cell_data.end(); ++data_set) for (unsigned int i=0; inames.size(); ++i) Assert (*name != data_set->names[i], ExcNameAlreadyUsed(*name)); @@ -123,9 +123,9 @@ void DataOutStack::declare_data_vector (const vector &names, template template void DataOutStack::add_data_vector (const Vector &vec, - const string &name) + const std::string &name) { - vector names; + std::vector names; names.push_back (name); add_data_vector (vec, names); }; @@ -134,7 +134,7 @@ void DataOutStack::add_data_vector (const Vector &vec, template template void DataOutStack::add_data_vector (const Vector &vec, - const vector &names) + const std::vector &names) { Assert (dof_handler != 0, ExcNoDoFHandlerSelected ()); // either cell data and one name, @@ -148,17 +148,17 @@ void DataOutStack::add_data_vector (const Vector &vec, for (unsigned int i=0; i()") == string::npos, + "0123456789_<>()") == std::string::npos, ExcInvalidCharacter (names[i])); if (vec.size() == dof_handler->n_dofs()) { - typename vector::iterator data_vector=dof_data.begin(); + typename std::vector::iterator data_vector=dof_data.begin(); for (; data_vector!=dof_data.end(); ++data_vector) if (data_vector->names == names) { data_vector->data.reinit (vec.size()); - copy (vec.begin(), vec.end(), + std::copy (vec.begin(), vec.end(), data_vector->data.begin()); break; }; @@ -167,13 +167,13 @@ void DataOutStack::add_data_vector (const Vector &vec, } else { - typename vector::iterator data_vector=cell_data.begin(); + typename std::vector::iterator data_vector=cell_data.begin(); for (; data_vector!=cell_data.end(); ++data_vector) if (data_vector->names == names) { data_vector->data.reinit (vec.size()); - copy (vec.begin(), vec.end(), - data_vector->data.begin()); + std::copy (vec.begin(), vec.end(), + data_vector->data.begin()); break; }; Assert (data_vector != cell_data.end(), @@ -216,8 +216,8 @@ void DataOutStack::build_patches (const unsigned int n_subdivisions) patch_points, update_values); const unsigned int n_q_points = patch_points.n_quadrature_points; - vector patch_values (n_q_points); - vector > patch_values_system (n_q_points, + std::vector patch_values (n_q_points); + std::vector > patch_values_system (n_q_points, Vector(n_components)); // add the required number of patches @@ -228,8 +228,9 @@ void DataOutStack::build_patches (const unsigned int n_subdivisions) // now loop over all cells and // actually create the patches - typename vector >::iterator patch = &patches[patches.size()-n_patches]; - unsigned int cell_number = 0; + typename std::vector >::iterator + patch = patches.begin() + (patches.size()-n_patches); + unsigned int cell_number = 0; for (typename DoFHandler::active_cell_iterator cell=dof_handler->begin_active(); cell != dof_handler->end(); ++cell, ++patch, ++cell_number) { @@ -308,11 +309,11 @@ void DataOutStack::finish_parameter_value () { // release lock on dof handler dof_handler = 0; - for (typename vector::iterator i=dof_data.begin(); + for (typename std::vector::iterator i=dof_data.begin(); i!=dof_data.end(); ++i) i->data.reinit (0); - for (typename vector::iterator i=cell_data.begin(); + for (typename std::vector::iterator i=cell_data.begin(); i!=cell_data.end(); ++i) i->data.reinit (0); }; @@ -335,7 +336,7 @@ DataOutStack::memory_consumption () const template -const vector > & +const std::vector > & DataOutStack::get_patches () const { return patches; @@ -344,13 +345,13 @@ DataOutStack::get_patches () const template -vector DataOutStack::get_dataset_names () const +std::vector DataOutStack::get_dataset_names () const { - vector names; - for (typename vector::const_iterator dataset=dof_data.begin(); + std::vector names; + for (typename std::vector::const_iterator dataset=dof_data.begin(); dataset!=dof_data.end(); ++dataset) names.insert (names.end(), dataset->names.begin(), dataset->names.end()); - for (typename vector::const_iterator dataset=cell_data.begin(); + for (typename std::vector::const_iterator dataset=cell_data.begin(); dataset!=cell_data.end(); ++dataset) names.insert (names.end(), dataset->names.begin(), dataset->names.end()); @@ -361,7 +362,7 @@ vector DataOutStack::get_dataset_names () const // explicit instantiations template class DataOutStack; template void DataOutStack::add_data_vector (const Vector &vec, - const string &name); + const std::string &name); template void DataOutStack::add_data_vector (const Vector &vec, - const string &name); + const std::string &name); diff --git a/deal.II/deal.II/source/numerics/derivative_approximation.cc b/deal.II/deal.II/source/numerics/derivative_approximation.cc index 2dc4e10686..753fc954e9 100644 --- a/deal.II/deal.II/source/numerics/derivative_approximation.cc +++ b/deal.II/deal.II/source/numerics/derivative_approximation.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -47,13 +47,13 @@ get_projected_derivative (const FEValues &fe_values, { if (fe_values.get_fe().n_components() == 1) { - vector values (1); + std::vector values (1); fe_values.get_function_values (solution, values); return values[0]; } else { - vector > values + std::vector > values (1, Vector(fe_values.get_fe().n_components())); fe_values.get_function_values (solution, values); return values[0](component); @@ -95,14 +95,14 @@ get_projected_derivative (const FEValues &fe_values, { if (fe_values.get_fe().n_components() == 1) { - vector values (1); + std::vector values (1); fe_values.get_function_grads (solution, values); return values[0]; } else { - vector > values - (1, vector(fe_values.get_fe().n_components())); + std::vector > values + (1, std::vector(fe_values.get_fe().n_components())); fe_values.get_function_grads (solution, values); return values[0][component]; }; @@ -140,8 +140,8 @@ derivative_norm (const Derivative &d) = { 0.5*(d[0][0] + d[1][1] + sqrt(radicand)), 0.5*(d[0][0] + d[1][1] - sqrt(radicand)) }; - return max (fabs (eigenvalues[0]), - fabs (eigenvalues[1])); + return std::max (std::fabs (eigenvalues[0]), + std::fabs (eigenvalues[1])); }; @@ -231,7 +231,7 @@ approximate_derivative (const DoFHandler &dof_handler, dof_handler.get_tria().n_active_cells())); const unsigned int n_threads = multithread_info.n_default_threads; - vector index_intervals + std::vector index_intervals = Threads::split_interval (0, dof_handler.get_tria().n_active_cells(), n_threads); Threads::ThreadManager thread_manager; @@ -283,7 +283,7 @@ DerivativeApproximation::approximate (const DoFHandler &dof_handler, // active neighbors of a cell // reserve the maximal number of // active neighbors - vector::active_cell_iterator> active_neighbors; + std::vector::active_cell_iterator> active_neighbors; active_neighbors.reserve (GeometryInfo::faces_per_cell * GeometryInfo::subfaces_per_face); @@ -376,7 +376,7 @@ DerivativeApproximation::approximate (const DoFHandler &dof_handler, // now loop over all active // neighbors and collect the // data we need - typename vector::active_cell_iterator>::const_iterator + typename std::vector::active_cell_iterator>::const_iterator neighbor_ptr = active_neighbors.begin(); for (; neighbor_ptr!=active_neighbors.end(); ++neighbor_ptr) { diff --git a/deal.II/deal.II/source/numerics/equation.cc b/deal.II/deal.II/source/numerics/equation.cc index 4541b861e0..af05025e27 100644 --- a/deal.II/deal.II/source/numerics/equation.cc +++ b/deal.II/deal.II/source/numerics/equation.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/deal.II/source/numerics/error_estimator.cc b/deal.II/deal.II/source/numerics/error_estimator.cc index 76b97e6685..6a00f1adcd 100644 --- a/deal.II/deal.II/source/numerics/error_estimator.cc +++ b/deal.II/deal.II/source/numerics/error_estimator.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -49,15 +49,15 @@ template <> KellyErrorEstimator<1>::Data::Data(const DoFHandler<1> &, const Quadrature<0> &, const FunctionMap &, - const vector*> &, - const vector &, + const std::vector*> &, + const std::vector &, const Function<1> *, const unsigned int , FaceIntegrals &): dof_handler(* static_cast *> (0)), quadrature(* static_cast *> (0)), neumann_bc(* static_cast (0)), - solutions(* static_cast *> *> (0)), + solutions(* static_cast *> *> (0)), face_integrals (* static_cast (0)) { Assert (false, ExcInternalError()); @@ -69,8 +69,8 @@ template KellyErrorEstimator::Data::Data(const DoFHandler &dof_handler, const Quadrature &quadrature, const FunctionMap &neumann_bc, - const vector*> &solutions, - const vector &component_mask, + const std::vector*> &solutions, + const std::vector &component_mask, const Function *coefficients, const unsigned int n_threads, FaceIntegrals &face_integrals): @@ -146,13 +146,13 @@ void KellyErrorEstimator::estimate (const DoFHandler &dof_handler, const FunctionMap &neumann_bc, const Vector &solution, Vector &error, - const vector &component_mask, + const std::vector &component_mask, const Function *coefficients, unsigned int n_threads) { // just pass on to the other function - const vector*> solutions (1, &solution); - vector*> errors (1, &error); + const std::vector*> solutions (1, &solution); + std::vector*> errors (1, &error); estimate (dof_handler, quadrature, neumann_bc, solutions, errors, component_mask, coefficients, n_threads); }; @@ -176,9 +176,9 @@ template <> void KellyErrorEstimator<1>::estimate (const DoFHandler<1> &dof_handler, const Quadrature<0> &, const FunctionMap &neumann_bc, - const vector*> &solutions, - vector*> &errors, - const vector &component_mask_, + const std::vector*> &solutions, + std::vector*> &errors, + const std::vector &component_mask_, const Function<1> *coefficient, const unsigned int) { @@ -195,8 +195,8 @@ void KellyErrorEstimator<1>::estimate (const DoFHandler<1> &dof_ ExcInvalidSolutionVector()); // if no mask given: treat all components - vector component_mask ((component_mask_.size() == 0) ? - vector(n_components, true) : + std::vector component_mask ((component_mask_.size() == 0) ? + std::vector(n_components, true) : component_mask_); Assert (component_mask.size() == n_components, ExcInvalidComponentMask()); Assert (count(component_mask.begin(), component_mask.end(), true) > 0, @@ -225,12 +225,12 @@ void KellyErrorEstimator<1>::estimate (const DoFHandler<1> &dof_ // need several auxiliary fields, // depending on the way we get it // (see below) - vector > > > + std::vector > > > gradients_here (n_solution_vectors, - vector > >(2, vector >(n_components))); - vector > > > + std::vector > >(2, std::vector >(n_components))); + std::vector > > > gradients_neighbor (gradients_here); - vector > + std::vector > grad_neighbor (n_solution_vectors, Vector(n_components)); // reserve some space for @@ -495,9 +495,9 @@ template void KellyErrorEstimator::estimate (const DoFHandler &dof_handler, const Quadrature &quadrature, const FunctionMap &neumann_bc, - const vector*> &solutions, - vector*> &errors, - const vector &component_mask, + const std::vector*> &solutions, + std::vector*> &errors, + const std::vector &component_mask, const Function *coefficients, unsigned int n_threads) { @@ -536,7 +536,7 @@ void KellyErrorEstimator::estimate (const DoFHandler &do // in multithreaded mode. Negative // value indicates that the face // has not yet been processed. - vector default_face_integrals (n_solution_vectors, -10e20); + std::vector default_face_integrals (n_solution_vectors, -10e20); FaceIntegrals face_integrals; for (active_cell_iterator cell=dof_handler.begin_active(); cell!=dof_handler.end(); ++cell) for (unsigned int face_no=0; face_no::faces_per_cell; ++face_no) @@ -551,14 +551,14 @@ void KellyErrorEstimator::estimate (const DoFHandler &do // note that if no component mask // was given, then treat all // components - vector data_structures (n_threads); + std::vector data_structures (n_threads); for (unsigned int i=0; i(dof_handler.get_fe().n_components(), + std::vector(dof_handler.get_fe().n_components(), true) : component_mask), coefficients, @@ -779,7 +779,7 @@ integrate_over_regular_face (Data &data, // function at the quadrature // points - vector > g(n_q_points, Vector(n_components)); + std::vector > g(n_q_points, Vector(n_components)); data.neumann_bc.find(boundary_indicator)->second ->vector_value_list (fe_face_values_cell.get_quadrature_points(), g); @@ -803,7 +803,7 @@ integrate_over_regular_face (Data &data, // take the square of the phi[i] // for integration, and sum up - vector face_integral (n_solution_vectors, 0); + std::vector face_integral (n_solution_vectors, 0); for (unsigned int n=0; n face_integral (n_solution_vectors, 0); + std::vector face_integral (n_solution_vectors, 0); for (unsigned int n=0; n sum (n_solution_vectors, 0); + std::vector sum (n_solution_vectors, 0); typename DoFHandler::face_iterator face = cell->face(face_no); for (unsigned int subface_no=0; subface_no::subfaces_per_face; ++subface_no) diff --git a/deal.II/deal.II/source/numerics/histogram.cc b/deal.II/deal.II/source/numerics/histogram.cc index 23821c2f0f..edd6d3a407 100644 --- a/deal.II/deal.II/source/numerics/histogram.cc +++ b/deal.II/deal.II/source/numerics/histogram.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -49,8 +49,8 @@ Histogram::Interval::memory_consumption () const template -void Histogram::evaluate (const vector > &values, - const vector &_y_values, +void Histogram::evaluate (const std::vector > &values, + const std::vector &_y_values, const unsigned int n_intervals, const IntervalSpacing interval_spacing) { @@ -70,25 +70,25 @@ void Histogram::evaluate (const vector > &values, switch (interval_spacing) { case linear: - min_value = *min_element(values[0].begin(), + min_value = *std::min_element(values[0].begin(), values[0].end()); - max_value = *max_element(values[0].begin(), + max_value = *std::max_element(values[0].begin(), values[0].end()); for (unsigned int i=1; i @@ -97,7 +97,7 @@ void Histogram::evaluate (const vector > &values, #endif ); - max_value = *max_element(values[0].begin(), + max_value = *std::max_element(values[0].begin(), values[0].end(), #if (__GNUC__==2) && (__GNUC_MINOR__ < 95) &logarithmic_less @@ -109,8 +109,8 @@ void Histogram::evaluate (const vector > &values, for (unsigned int i=1; i @@ -126,8 +126,8 @@ void Histogram::evaluate (const vector > &values, #endif ); - max_value = max (max_value, - *max_element(values[i].begin(), + max_value = std::max (max_value, + *std::max_element(values[i].begin(), values[i].end(), #if (__GNUC__==2) && (__GNUC_MINOR__ < 95) &logarithmic_less @@ -167,7 +167,7 @@ void Histogram::evaluate (const vector > &values, // then produce all the other lists // for the other data vectors by // copying - intervals.push_back (vector()); + intervals.push_back (std::vector()); switch (interval_spacing) { @@ -229,14 +229,14 @@ void Histogram::evaluate (const Vector &values, const unsigned int n_intervals, const IntervalSpacing interval_spacing) { - vector > values_list (1, + std::vector > values_list (1, values); - evaluate (values_list, vector(1,0.), n_intervals, interval_spacing); + evaluate (values_list, std::vector(1,0.), n_intervals, interval_spacing); }; -void Histogram::write_gnuplot (ostream &out) const +void Histogram::write_gnuplot (std::ostream &out) const { AssertThrow (out, ExcIO()); Assert (intervals.size() > 0, ExcEmptyData()); @@ -249,11 +249,11 @@ void Histogram::write_gnuplot (ostream &out) const out << intervals[0][n].left_point << ' ' << intervals[0][n].content - << endl + << std::endl << intervals[0][n].right_point << ' ' << intervals[0][n].content - << endl; + << std::endl; } else // otherwise create a whole 3d plot @@ -274,7 +274,7 @@ void Histogram::write_gnuplot (ostream &out) const y_values[i] + (y_values[i]-y_values[i-1])) << ' ' << intervals[i][n].content - << endl + << std::endl << intervals[i][n].right_point << ' ' << (i(intervals.size())-1 ? @@ -282,24 +282,24 @@ void Histogram::write_gnuplot (ostream &out) const y_values[i] + (y_values[i]-y_values[i-1])) << ' ' << intervals[i][n].content - << endl; + << std::endl; - out << endl; + out << std::endl; for (unsigned int n=0; n > &values, - const vector &y_values, +void Histogram::evaluate (const std::vector > &values, + const std::vector &y_values, const unsigned int n_intervals, const IntervalSpacing interval_spacing); template @@ -356,8 +356,8 @@ void Histogram::evaluate (const Vector &values, // explicit instantiations for double template -void Histogram::evaluate (const vector > &values, - const vector &y_values, +void Histogram::evaluate (const std::vector > &values, + const std::vector &y_values, const unsigned int n_intervals, const IntervalSpacing interval_spacing); template diff --git a/deal.II/deal.II/source/numerics/matrices.cc b/deal.II/deal.II/source/numerics/matrices.cc index 499cce06de..448f6bee2b 100644 --- a/deal.II/deal.II/source/numerics/matrices.cc +++ b/deal.II/deal.II/source/numerics/matrices.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -100,7 +100,7 @@ void MatrixCreator::create_mass_matrix (const DoFHandler &dof, const unsigned int dofs_per_cell = fe.dofs_per_cell; FullMatrix local_mass_matrix (dofs_per_cell, dofs_per_cell); - vector dofs_on_this_cell (dofs_per_cell); + std::vector dofs_on_this_cell (dofs_per_cell); DoFHandler::active_cell_iterator cell = dof.begin_active(), endc = dof.end(); @@ -125,7 +125,7 @@ void MatrixCreator<1>::create_boundary_mass_matrix (const DoFHandler<1> &, SparseMatrix &, const FunctionMap &, Vector &, - vector &, + std::vector &, const Function<1> *) { Assert (false, ExcNotImplemented()); @@ -140,7 +140,7 @@ void MatrixCreator::create_boundary_mass_matrix (const DoFHandler & SparseMatrix &matrix, const FunctionMap &rhs, Vector &rhs_vector, - vector &dof_to_boundary_mapping, + std::vector &dof_to_boundary_mapping, const Function *a) { const FiniteElement &fe = dof.get_fe(); @@ -160,7 +160,7 @@ void MatrixCreator::create_boundary_mass_matrix (const DoFHandler & if (true) { unsigned int max_element = 0; - for (vector::const_iterator i=dof_to_boundary_mapping.begin(); + for (std::vector::const_iterator i=dof_to_boundary_mapping.begin(); i!=dof_to_boundary_mapping.end(); ++i) if ((*i != DoFHandler::invalid_dof_index) && (*i > max_element)) @@ -184,17 +184,17 @@ void MatrixCreator::create_boundary_mass_matrix (const DoFHandler & // two variables for the coefficient, // one for the two cases indicated in // the name - vector coefficient_values_scalar (fe_values.n_quadrature_points); - vector > coefficient_values_system (fe_values.n_quadrature_points, + std::vector coefficient_values_scalar (fe_values.n_quadrature_points); + std::vector > coefficient_values_system (fe_values.n_quadrature_points, Vector(n_components)); - vector rhs_values_scalar (fe_values.n_quadrature_points); - vector > rhs_values_system (fe_values.n_quadrature_points, + std::vector rhs_values_scalar (fe_values.n_quadrature_points); + std::vector > rhs_values_system (fe_values.n_quadrature_points, Vector(n_components)); - vector dofs (dofs_per_cell); - vector dofs_on_face_vector (dofs_per_face); - set dofs_on_face; + std::vector dofs (dofs_per_cell); + std::vector dofs_on_face_vector (dofs_per_face); + std::set dofs_on_face; DoFHandler::active_cell_iterator cell = dof.begin_active (), endc = dof.end (); @@ -210,7 +210,7 @@ void MatrixCreator::create_boundary_mass_matrix (const DoFHandler & fe_values.reinit (cell, face); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); + const std::vector &weights = fe_values.get_JxW_values (); if (fe_is_system) // FE has several components @@ -519,7 +519,7 @@ void MatrixCreator::create_laplace_matrix (const DoFHandler &dof, template template void -MatrixTools::apply_boundary_values (const map &boundary_values, +MatrixTools::apply_boundary_values (const std::map &boundary_values, SparseMatrix &matrix, Vector &solution, Vector &right_hand_side, @@ -537,7 +537,7 @@ MatrixTools::apply_boundary_values (const map &boundar return; - map::const_iterator dof = boundary_values.begin(), + std::map::const_iterator dof = boundary_values.begin(), endd = boundary_values.end(); const unsigned int n_dofs = matrix.m(); const SparsityPattern &sparsity = matrix.get_sparsity_pattern(); @@ -646,7 +646,7 @@ MatrixTools::apply_boundary_values (const map &boundar // element // (row,dof_number) const unsigned int * - p = lower_bound(&sparsity_colnums[sparsity_rowstart[row]+1], + p = std::lower_bound(&sparsity_colnums[sparsity_rowstart[row]+1], &sparsity_colnums[sparsity_rowstart[row+1]], dof_number); @@ -686,7 +686,7 @@ MatrixTools::apply_boundary_values (const map &boundar template void -MatrixTools::apply_boundary_values (const map &boundary_values, +MatrixTools::apply_boundary_values (const std::map &boundary_values, BlockSparseMatrix &matrix, BlockVector &solution, BlockVector &right_hand_side, @@ -719,7 +719,7 @@ MatrixTools::apply_boundary_values (const map &boundar return; - map::const_iterator dof = boundary_values.begin(), + std::map::const_iterator dof = boundary_values.begin(), endd = boundary_values.end(); const unsigned int n_dofs = matrix.m(); const BlockSparsityPattern & @@ -770,7 +770,7 @@ MatrixTools::apply_boundary_values (const map &boundar // in the block in which this // dof is located const unsigned int dof_number = dof->first; - const pair + const std::pair block_index = index_mapping.global_to_local (dof_number); // for each boundary dof: @@ -943,14 +943,14 @@ MatrixTools::apply_boundary_values (const map &boundar p = &this_sparsity.get_column_numbers() [this_sparsity.get_rowstart_indices()[row]]; else - p = lower_bound(&this_sparsity.get_column_numbers() + p = std::lower_bound(&this_sparsity.get_column_numbers() [this_sparsity.get_rowstart_indices()[row]+1], &this_sparsity.get_column_numbers() [this_sparsity.get_rowstart_indices()[row+1]], block_index.second); } else - p = lower_bound(&this_sparsity.get_column_numbers() + p = std::lower_bound(&this_sparsity.get_column_numbers() [this_sparsity.get_rowstart_indices()[row]], &this_sparsity.get_column_numbers() [this_sparsity.get_rowstart_indices()[row+1]], @@ -1030,7 +1030,7 @@ void MassMatrix::assemble (FullMatrix &cell_matrix, Equation::ExcObjectNotEmpty()); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); + const std::vector &weights = fe_values.get_JxW_values (); if (coefficient != 0) @@ -1038,7 +1038,7 @@ void MassMatrix::assemble (FullMatrix &cell_matrix, if (coefficient->n_components == 1) // scalar coefficient given { - vector coefficient_values (fe_values.n_quadrature_points); + std::vector coefficient_values (fe_values.n_quadrature_points); coefficient->value_list (fe_values.get_quadrature_points(), coefficient_values); for (unsigned int i=0; i::assemble (FullMatrix &cell_matrix, // vectorial coefficient // given { - vector > coefficient_values (fe_values.n_quadrature_points, + std::vector > coefficient_values (fe_values.n_quadrature_points, Vector(n_components)); coefficient->vector_value_list (fe_values.get_quadrature_points(), coefficient_values); @@ -1127,13 +1127,13 @@ void MassMatrix::assemble (FullMatrix &cell_matrix, Equation::ExcObjectNotEmpty()); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); - vector rhs_values (fe_values.n_quadrature_points); + const std::vector &weights = fe_values.get_JxW_values (); + std::vector rhs_values (fe_values.n_quadrature_points); right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values); if (coefficient != 0) { - vector coefficient_values (n_q_points); + std::vector coefficient_values (n_q_points); coefficient->value_list (fe_values.get_quadrature_points(), coefficient_values); for (unsigned int point=0; point::assemble (Vector &rhs, Equation::ExcObjectNotEmpty()); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); - vector rhs_values(fe_values.n_quadrature_points); + const std::vector &weights = fe_values.get_JxW_values (); + std::vector rhs_values(fe_values.n_quadrature_points); right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values); for (unsigned int point=0; point::assemble (FullMatrix &cell_matrix, Assert (rhs.all_zero(), Equation::ExcObjectNotEmpty()); - const vector > >&gradients = fe_values.get_shape_grads (); + const std::vector > >&gradients = fe_values.get_shape_grads (); const FullMatrix &values = fe_values.get_shape_values (); - vector rhs_values(fe_values.n_quadrature_points); - const vector &weights = fe_values.get_JxW_values (); + std::vector rhs_values(fe_values.n_quadrature_points); + const std::vector &weights = fe_values.get_JxW_values (); right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values); if (coefficient != 0) { - vector coefficient_values(n_q_points); + std::vector coefficient_values(n_q_points); coefficient->value_list (fe_values.get_quadrature_points(), coefficient_values); for (unsigned int point=0; point::assemble (FullMatrix &cell_matrix, Assert (cell_matrix.all_zero(), Equation::ExcObjectNotEmpty()); - const vector > >&gradients = fe_values.get_shape_grads (); - const vector &weights = fe_values.get_JxW_values (); + const std::vector > >&gradients = fe_values.get_shape_grads (); + const std::vector &weights = fe_values.get_JxW_values (); if (coefficient != 0) { - vector coefficient_values(n_q_points); + std::vector coefficient_values(n_q_points); coefficient->value_list (fe_values.get_quadrature_points(), coefficient_values); for (unsigned int point=0; point::assemble (Vector &rhs, Equation::ExcObjectNotEmpty()); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); - vector rhs_values(fe_values.n_quadrature_points); + const std::vector &weights = fe_values.get_JxW_values (); + std::vector rhs_values(fe_values.n_quadrature_points); right_hand_side->value_list (fe_values.get_quadrature_points(), rhs_values); for (unsigned int point=0; point; template void MatrixTools:: -apply_boundary_values (const map &boundary_values, +apply_boundary_values (const std::map &boundary_values, SparseMatrix &matrix, Vector &solution, Vector &right_hand_side, @@ -1391,7 +1391,7 @@ apply_boundary_values (const map &boundary_values, template void MatrixTools:: -apply_boundary_values (const map &boundary_values, +apply_boundary_values (const std::map &boundary_values, SparseMatrix &matrix, Vector &solution, Vector &right_hand_side, @@ -1400,7 +1400,7 @@ apply_boundary_values (const map &boundary_values, template void MatrixTools:: -apply_boundary_values (const map &, +apply_boundary_values (const std::map &, BlockSparseMatrix &, BlockVector &, BlockVector &, diff --git a/deal.II/deal.II/source/numerics/solution_transfer.cc b/deal.II/deal.II/source/numerics/solution_transfer.cc index 0f8930ab09..d2ece8e5a8 100644 --- a/deal.II/deal.II/source/numerics/solution_transfer.cc +++ b/deal.II/deal.II/source/numerics/solution_transfer.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -65,8 +65,8 @@ void SolutionTransfer::prepare_for_pure_refinement() const unsigned int dofs_per_cell = dof_handler->get_fe().dofs_per_cell; n_dofs_old=dof_handler->n_dofs(); - indices_on_cell=vector > (n_active_cells, - vector (dofs_per_cell)); + indices_on_cell=std::vector > (n_active_cells, + std::vector (dofs_per_cell)); DoFHandler::cell_iterator cell = dof_handler->begin(), endc = dof_handler->end(); @@ -110,7 +110,7 @@ SolutionTransfer::refine_interpolate(const Vector &in, DoFHandler::cell_iterator cell = dof_handler->begin(), endc = dof_handler->end(); - vector *indexptr; + std::vector *indexptr; for (; cell!=endc; ++cell) { @@ -122,7 +122,7 @@ SolutionTransfer::refine_interpolate(const Vector &in, // which is both done by one // function { - indexptr=static_cast *>(cell->user_pointer()); + indexptr=static_cast *>(cell->user_pointer()); for (unsigned int i=0; ioperator[](i)); cell->set_dof_values_by_interpolation(local_values, out); @@ -146,7 +146,7 @@ void SolutionTransfer::refine_interpolate (Vector &vec) con template void SolutionTransfer:: -prepare_for_coarsening_and_refinement(const vector > &all_in) +prepare_for_coarsening_and_refinement(const std::vector > &all_in) { Assert(prepared_for!=pure_refinement, ExcAlreadyPrepForRef()); Assert(!prepared_for!=coarsening_and_refinement, @@ -192,14 +192,14 @@ prepare_for_coarsening_and_refinement(const vector > &all_in) GeometryInfo::children_per_cell; // allocate the needed memory - indices_on_cell = vector > (n_cells_to_stay_or_refine, - vector (dofs_per_cell)); + indices_on_cell = std::vector > (n_cells_to_stay_or_refine, + std::vector (dofs_per_cell)); dof_values_on_cell - = vector > > (n_coarsen_fathers, - vector > (in_size, + = std::vector > > (n_coarsen_fathers, + std::vector > (in_size, Vector (dofs_per_cell))); - all_pointerstructs = vector (n_cells_to_stay_or_refine + + all_pointerstructs = std::vector (n_cells_to_stay_or_refine + n_coarsen_fathers); @@ -264,15 +264,15 @@ template void SolutionTransfer::prepare_for_coarsening_and_refinement(const Vector &in) { - vector > all_in=vector >(1, in); + std::vector > all_in=std::vector >(1, in); prepare_for_coarsening_and_refinement(all_in); } template void SolutionTransfer:: -interpolate (const vector > &all_in, - vector > &all_out) const +interpolate (const std::vector > &all_in, + std::vector > &all_out) const { Assert(prepared_for==coarsening_and_refinement, ExcNotPrepared()); for (unsigned int i=0; i > &all_in, // resize the output vector if (all_out.size() != all_in.size()) - all_out = vector >(all_in.size(), + all_out = std::vector >(all_in.size(), Vector(dof_handler->n_dofs())); else { @@ -296,10 +296,10 @@ interpolate (const vector > &all_in, const unsigned int dofs_per_cell=dof_handler->get_fe().dofs_per_cell; Vector local_values(dofs_per_cell); - vector *indexptr; + std::vector *indexptr; Pointerstruct *structptr; - vector > *valuesptr; - vector dofs(dofs_per_cell); + std::vector > *valuesptr; + std::vector dofs(dofs_per_cell); DoFHandler::cell_iterator cell = dof_handler->begin(), endc = dof_handler->end(); @@ -358,9 +358,9 @@ template void SolutionTransfer::interpolate(const Vector &in, Vector &out) const { - vector > all_in(1); + std::vector > all_in(1); all_in[0] = in; - vector > all_out(1); + std::vector > all_out(1); all_out[0] = out; interpolate(all_in, all_out); diff --git a/deal.II/deal.II/source/numerics/time_dependent.cc b/deal.II/deal.II/source/numerics/time_dependent.cc index ab3275fc88..40f98aedac 100644 --- a/deal.II/deal.II/source/numerics/time_dependent.cc +++ b/deal.II/deal.II/source/numerics/time_dependent.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -96,7 +96,7 @@ TimeDependent::insert_timestep (const TimeStepBase *position, else { // inner time step - vector::iterator insert_position + std::vector::iterator insert_position = find(timesteps.begin(), timesteps.end(), position); (*(insert_position-1))->set_next_timestep (new_timestep); @@ -128,7 +128,7 @@ void TimeDependent::delete_timestep (const unsigned int position) timesteps[position]->unsubscribe(); delete timesteps[position]; - timesteps.erase (×teps[position]); + timesteps.erase (timesteps.begin() + position); // reset "next" pointer of previous // time step if possible @@ -152,8 +152,8 @@ void TimeDependent::delete_timestep (const unsigned int position) void TimeDependent::solve_primal_problem () { - do_loop (mem_fun(&TimeStepBase::init_for_primal_problem), - mem_fun(&TimeStepBase::solve_primal_problem), + do_loop (std::mem_fun(&TimeStepBase::init_for_primal_problem), + std::mem_fun(&TimeStepBase::solve_primal_problem), timestepping_data_primal, forward); }; @@ -162,8 +162,8 @@ TimeDependent::solve_primal_problem () void TimeDependent::solve_dual_problem () { - do_loop (mem_fun(&TimeStepBase::init_for_dual_problem), - mem_fun(&TimeStepBase::solve_dual_problem), + do_loop (std::mem_fun(&TimeStepBase::init_for_dual_problem), + std::mem_fun(&TimeStepBase::solve_dual_problem), timestepping_data_dual, backward); }; @@ -172,8 +172,8 @@ TimeDependent::solve_dual_problem () void TimeDependent::postprocess () { - do_loop (mem_fun(&TimeStepBase::init_for_postprocessing), - mem_fun(&TimeStepBase::postprocess_timestep), + do_loop (std::mem_fun(&TimeStepBase::init_for_postprocessing), + std::mem_fun(&TimeStepBase::postprocess_timestep), timestepping_data_postprocess, forward); }; @@ -491,8 +491,8 @@ void TimeStepBase_Tria::save_refine_flags () { // for any of the non-initial grids // store the refinement flags - refine_flags.push_back (vector()); - coarsen_flags.push_back (vector()); + refine_flags.push_back (std::vector()); + coarsen_flags.push_back (std::vector()); tria->save_refine_flags (refine_flags.back()); tria->save_coarsen_flags (coarsen_flags.back()); }; @@ -758,14 +758,14 @@ void TimeStepBase_Tria::refine_grid (const RefinementData refinement_data) (refinement_flags.cell_number_correction_steps > 0)) { sorted_criteria = criteria; - sort (sorted_criteria.begin(), + std::sort (sorted_criteria.begin(), sorted_criteria.end()); - p_refinement_threshold = lower_bound (sorted_criteria.begin(), - sorted_criteria.end(), - refinement_threshold); - p_coarsening_threshold = upper_bound (sorted_criteria.begin(), - sorted_criteria.end(), - coarsening_threshold); + p_refinement_threshold = std::lower_bound (sorted_criteria.begin(), + sorted_criteria.end(), + static_cast(refinement_threshold)); + p_coarsening_threshold = std::upper_bound (sorted_criteria.begin(), + sorted_criteria.end(), + static_cast(coarsening_threshold)); }; @@ -897,7 +897,7 @@ void TimeStepBase_Tria::refine_grid (const RefinementData refinement_data) double delta_up = refinement_flags.cell_number_corridor_top, delta_down = refinement_flags.cell_number_corridor_bottom; - const vector > &relaxations + const std::vector > &relaxations = (sweep_no >= refinement_flags.correction_relaxations.size() ? refinement_flags.correction_relaxations.back() : refinement_flags.correction_relaxations[sweep_no]); @@ -1158,10 +1158,10 @@ template TimeStepBase_Tria::RefinementFlags::CorrectionRelaxations TimeStepBase_Tria::RefinementFlags::default_correction_relaxations (1, // one element, denoting the first and all subsequent sweeps - vector >(1, // one element, denoting the upper bound - // for the following - // relaxation - make_pair (0, 0.))); + std::vector >(1, // one element, denoting the upper bound + // for the following + // relaxation + std::make_pair (0, 0.))); template diff --git a/deal.II/deal.II/source/numerics/vectors.all_dimensions.cc b/deal.II/deal.II/source/numerics/vectors.all_dimensions.cc index 7aba0b069e..1321f0c471 100644 --- a/deal.II/deal.II/source/numerics/vectors.all_dimensions.cc +++ b/deal.II/deal.II/source/numerics/vectors.all_dimensions.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -18,7 +18,7 @@ void VectorTools::subtract_mean_value(Vector &v, - const vector &p_select) + const std::vector &p_select) { unsigned int n = v.size(); Assert(n == p_select.size(), ExcDimensionMismatch(n, p_select.size())); diff --git a/deal.II/deal.II/source/numerics/vectors.cc b/deal.II/deal.II/source/numerics/vectors.cc index 0b31df47f3..ded806891a 100644 --- a/deal.II/deal.II/source/numerics/vectors.cc +++ b/deal.II/deal.II/source/numerics/vectors.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -32,7 +32,7 @@ #include #include -#include +#include #include @@ -77,7 +77,7 @@ void VectorTools::interpolate (const DoFHandler &dof, // avoided to evaluate // the vectorfunction multiply at // the same point on a cell. - vector > unit_support_points (fe.dofs_per_cell); + std::vector > unit_support_points (fe.dofs_per_cell); fe.get_unit_support_points(unit_support_points); // The following works well @@ -180,10 +180,10 @@ void VectorTools::interpolate (const DoFHandler &dof, // the following vector collects all rep dofs. // the position of a rep dof within this vector // is called rep index. - vector dofs_of_rep_points; + std::vector dofs_of_rep_points; // the following table converts a dof i // to the rep index. - vector dof_to_rep_index_table; + std::vector dof_to_rep_index_table; unsigned int n_rep_points=0; for (unsigned int i=0; i &dof, Assert(dofs_of_rep_points.size()==n_rep_points, ExcInternalError()); Assert(dof_to_rep_index_table.size()==fe.dofs_per_cell, ExcInternalError()); - vector dofs_on_cell (fe.dofs_per_cell); - vector > support_points (fe.dofs_per_cell); + std::vector dofs_on_cell (fe.dofs_per_cell); + std::vector > support_points (fe.dofs_per_cell); - vector > rep_points (n_rep_points); + std::vector > rep_points (n_rep_points); // get space for the values of the // function at the rep support points. @@ -226,8 +226,8 @@ void VectorTools::interpolate (const DoFHandler &dof, // have two versions, one for system fe // and one for scalar ones, to take the // more efficient one respectively - vector function_values_scalar (n_rep_points); - vector > function_values_system (n_rep_points, + std::vector function_values_scalar (n_rep_points); + std::vector > function_values_system (n_rep_points, Vector(fe.n_components())); for (; cell!=endc; ++cell) @@ -293,8 +293,8 @@ VectorTools::interpolate (const DoFHandler &dof_1, Vector cell_data_1(dof_1.get_fe().dofs_per_cell); Vector cell_data_2(dof_2.get_fe().dofs_per_cell); - vector touch_count (dof_2.n_dofs(), 0); - vector local_dof_indices (dof_2.get_fe().dofs_per_cell); + std::vector touch_count (dof_2.n_dofs(), 0); + std::vector local_dof_indices (dof_2.get_fe().dofs_per_cell); DoFHandler::active_cell_iterator h = dof_1.begin_active(); DoFHandler::active_cell_iterator l = dof_2.begin_active(); @@ -372,7 +372,7 @@ void VectorTools::project (const DoFHandler &dof, const FiniteElement &fe = dof.get_fe(); // make up boundary values - map boundary_values; + std::map boundary_values; if (enforce_zero_boundary == true) // no need to project boundary values, but @@ -381,7 +381,7 @@ void VectorTools::project (const DoFHandler &dof, { DoFHandler::active_face_iterator face = dof.begin_active_face(), endf = dof.end_face(); - vector face_dof_indices (fe.dofs_per_face); + std::vector face_dof_indices (fe.dofs_per_face); for (; face!=endf; ++face) if (face->at_boundary()) { @@ -405,7 +405,7 @@ void VectorTools::project (const DoFHandler &dof, // the different boundary parts. We want the // @p{function} to hold on all parts of the // boundary - map*> boundary_functions; + std::map*> boundary_functions; for (unsigned char c=0; c<255; ++c) boundary_functions[c] = &function; project_boundary_values (dof, boundary_functions, q_boundary, @@ -482,7 +482,7 @@ void VectorTools::create_right_hand_side (const DoFHandler &dof_handler, n_q_points = fe_values.n_quadrature_points, n_components = fe.n_components(); - vector dofs (dofs_per_cell); + std::vector dofs (dofs_per_cell); Vector cell_vector (dofs_per_cell); DoFHandler::active_cell_iterator cell = dof_handler.begin_active(), @@ -490,14 +490,14 @@ void VectorTools::create_right_hand_side (const DoFHandler &dof_handler, if (n_components==1) { - vector rhs_values(n_q_points); + std::vector rhs_values(n_q_points); for (; cell!=endc; ++cell) { fe_values.reinit(cell); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); + const std::vector &weights = fe_values.get_JxW_values (); rhs_function.value_list (fe_values.get_quadrature_points(), rhs_values); cell_vector.clear(); @@ -516,14 +516,14 @@ void VectorTools::create_right_hand_side (const DoFHandler &dof_handler, } else { - vector > rhs_values(n_q_points, Vector(n_components)); + std::vector > rhs_values(n_q_points, Vector(n_components)); for (; cell!=endc; ++cell) { fe_values.reinit(cell); const FullMatrix &values = fe_values.get_shape_values (); - const vector &weights = fe_values.get_JxW_values (); + const std::vector &weights = fe_values.get_JxW_values (); rhs_function.vector_value_list (fe_values.get_quadrature_points(), rhs_values); cell_vector.clear(); @@ -555,8 +555,8 @@ void VectorTools::interpolate_boundary_values (const DoFHandler<1> &dof, const unsigned char boundary_component, const Function<1> &boundary_function, - map &boundary_values, - const vector &component_mask_) + std::map &boundary_values, + const std::vector &component_mask_) { Assert (boundary_component != 255, ExcInvalidBoundaryIndicator()); @@ -568,8 +568,8 @@ VectorTools::interpolate_boundary_values (const DoFHandler<1> &dof, // set the component mask to either // the original value or a vector // of @p{true}s - const vector component_mask ((component_mask_.size() == 0) ? - vector (fe.n_components(), true) : + const std::vector component_mask ((component_mask_.size() == 0) ? + std::vector (fe.n_components(), true) : component_mask_); Assert (count(component_mask.begin(), component_mask.end(), true) > 0, ExcComponentMismatch()); @@ -630,8 +630,8 @@ void VectorTools::interpolate_boundary_values (const DoFHandler &dof, const unsigned char boundary_component, const Function &boundary_function, - map &boundary_values, - const vector &component_mask_) + std::map &boundary_values, + const std::vector &component_mask_) { Assert (boundary_component != 255, ExcInvalidBoundaryIndicator()); @@ -646,23 +646,23 @@ VectorTools::interpolate_boundary_values (const DoFHandler &dof, // set the component mask to either // the original value or a vector // of @p{true}s - const vector component_mask ((component_mask_.size() == 0) ? - vector (fe.n_components(), true) : + const std::vector component_mask ((component_mask_.size() == 0) ? + std::vector (fe.n_components(), true) : component_mask_); Assert (count(component_mask.begin(), component_mask.end(), true) > 0, ExcComponentMismatch()); // field to store the indices of dofs - vector face_dofs (fe.dofs_per_face, -1); - vector > dof_locations (face_dofs.size(), Point()); + std::vector face_dofs (fe.dofs_per_face, -1); + std::vector > dof_locations (face_dofs.size(), Point()); // array to store the values of // the boundary function at the // boundary points. have to arrays // for scalar and vector functions // to use the more efficient one // respectively - vector dof_values_scalar (fe.dofs_per_face); - vector > dof_values_system (fe.dofs_per_face, + std::vector dof_values_scalar (fe.dofs_per_face); + std::vector > dof_values_system (fe.dofs_per_face, Vector(fe.n_components())); DoFHandler::active_face_iterator face = dof.begin_active_face(), @@ -711,16 +711,16 @@ VectorTools::interpolate_boundary_values (const DoFHandler &dof, template void VectorTools::project_boundary_values (const DoFHandler &dof, - const map*> &boundary_functions, + const std::map*> &boundary_functions, const Quadrature &q, - map &boundary_values) + std::map &boundary_values) { Assert (dof.get_fe().n_components() == boundary_functions.begin()->second->n_components, ExcComponentMismatch()); - vector dof_to_boundary_mapping; - set selected_boundary_components; - for (typename map*>::const_iterator + std::vector dof_to_boundary_mapping; + std::set selected_boundary_components; + for (typename std::map*>::const_iterator i=boundary_functions.begin(); i!=boundary_functions.end(); ++i) selected_boundary_components.insert (i->first); @@ -832,23 +832,23 @@ VectorTools::integrate_difference (const DoFHandler &dof, FEValues fe_values(fe, q, update_flags); - vector< Vector > function_values (n_q_points, + std::vector< Vector > function_values (n_q_points, Vector(n_components)); - vector > > function_grads (n_q_points, - vector >(n_components)); - vector weight_values (n_q_points); - vector > weight_vectors (n_q_points, n_components); + std::vector > > function_grads (n_q_points, + std::vector >(n_components)); + std::vector weight_values (n_q_points); + std::vector > weight_vectors (n_q_points, n_components); - vector > psi_values (n_q_points, + std::vector > psi_values (n_q_points, Vector(n_components)); - vector > > psi_grads (n_q_points, - vector >(n_components)); - vector psi_scalar (n_q_points); + std::vector > > psi_grads (n_q_points, + std::vector >(n_components)); + std::vector psi_scalar (n_q_points); // tmp vector when we use the // Function functions for // scalar functions - vector tmp_values (fe_values.n_quadrature_points); - vector > tmp_gradients (fe_values.n_quadrature_points); + std::vector tmp_values (fe_values.n_quadrature_points); + std::vector > tmp_gradients (fe_values.n_quadrature_points); // loop over all cells DoFHandler::active_cell_iterator cell = dof.begin_active(), @@ -937,9 +937,9 @@ VectorTools::integrate_difference (const DoFHandler &dof, } // Integration on one cell - diff = inner_product (psi_scalar.begin(), psi_scalar.end(), - fe_values.get_JxW_values().begin(), - 0.0); + diff = std::inner_product (psi_scalar.begin(), psi_scalar.end(), + fe_values.get_JxW_values().begin(), + 0.0); break; // Compute (weighted) squares // in each quadrature point @@ -1031,7 +1031,7 @@ VectorTools::integrate_difference (const DoFHandler &dof, psi_scalar[q] = psi_values[q].linfty_norm(); // Maximum on one cell - diff = *max_element (psi_scalar.begin(), psi_scalar.end()); + diff = *std::max_element (psi_scalar.begin(), psi_scalar.end()); break; default: Assert (false, ExcNotImplemented()); @@ -1142,7 +1142,7 @@ VectorTools::compute_mean_value (const DoFHandler &dof, | update_values)); DoFHandler::active_cell_iterator c; - vector > values(quadrature.n_quadrature_points, + std::vector > values(quadrature.n_quadrature_points, Vector (dof.get_fe().n_components())); double mean = 0.; @@ -1176,9 +1176,9 @@ void VectorTools::integrate_difference (const DoFHandler &, const Function *); template void VectorTools::project_boundary_values (const DoFHandler &, - const map*>&, + const std::map*>&, const Quadrature&, - map &); + std::map &); template void VectorTools::create_right_hand_side (const DoFHandler &, @@ -1212,8 +1212,8 @@ template void VectorTools::interpolate_boundary_values (const DoFHandler &, const unsigned char, const Function &, - map &, - const vector &); + std::map &, + const std::vector &); template void VectorTools::project (const DoFHandler &, const ConstraintMatrix &, diff --git a/deal.II/examples/step-1/step-1.cc b/deal.II/examples/step-1/step-1.cc index d07d5c5ef7..e2ea6d9ad9 100644 --- a/deal.II/examples/step-1/step-1.cc +++ b/deal.II/examples/step-1/step-1.cc @@ -72,7 +72,7 @@ void first_grid () // Now we want to write it to some // output, here in postscript // format - ofstream out ("grid-1.eps"); + std::ofstream out ("grid-1.eps"); GridOut grid_out; grid_out.write_eps (triangulation, out); }; @@ -194,7 +194,7 @@ void second_grid () // Now we want to write it to some // output, here in postscript // format - ofstream out ("grid-2.eps"); + std::ofstream out ("grid-2.eps"); GridOut grid_out; grid_out.write_eps (triangulation, out); diff --git a/deal.II/examples/step-2/step-2.cc b/deal.II/examples/step-2/step-2.cc index 181571a7bc..9cec48bc60 100644 --- a/deal.II/examples/step-2/step-2.cc +++ b/deal.II/examples/step-2/step-2.cc @@ -235,7 +235,7 @@ void distribute_dofs (DoFHandler<2> &dof_handler) sparsity_pattern.compress (); // Now write the results to a file - ofstream out ("sparsity_pattern.1"); + std::ofstream out ("sparsity_pattern.1"); sparsity_pattern.print_gnuplot (out); // The result is in GNUPLOT format, // where in each line of the output @@ -315,7 +315,7 @@ void renumber_dofs (DoFHandler<2> &dof_handler) DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern); sparsity_pattern.compress (); // ...and output the result: - ofstream out ("sparsity_pattern.2"); + std::ofstream out ("sparsity_pattern.2"); sparsity_pattern.print_gnuplot (out); // Again, the output is shown // below. Note that the nonzero diff --git a/deal.II/examples/step-3/step-3.cc b/deal.II/examples/step-3/step-3.cc index 385f7c94f7..9c6fdc2d4b 100644 --- a/deal.II/examples/step-3/step-3.cc +++ b/deal.II/examples/step-3/step-3.cc @@ -182,9 +182,9 @@ void LaplaceProblem::make_grid_and_dofs () // of terminal cells. By terminal // we mean the cells on the finest // grid. - cout << "Number of active cells: " - << triangulation.n_active_cells() - << endl; + std::cout << "Number of active cells: " + << triangulation.n_active_cells() + << std::endl; // We stress the adjective // `terminal' or `active', since // there are more cells, namely the @@ -198,9 +198,9 @@ void LaplaceProblem::make_grid_and_dofs () // i.e. 256, then 64, 16, 4, and // 1. We can get the total number // of cells like this: - cout << "Total number of cells: " - << triangulation.n_cells() - << endl; + std::cout << "Total number of cells: " + << triangulation.n_cells() + << std::endl; // Note the distinction between // n_active_cells() and n_cells(). @@ -218,9 +218,9 @@ void LaplaceProblem::make_grid_and_dofs () // Now that we have the degrees of // freedom, we can take a look at // how many there are: - cout << "Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << "Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; // There should be one DoF for each // vertex. Since we have a 32 times // 32 grid, the number of DoFs @@ -431,7 +431,7 @@ void LaplaceProblem::assemble_system () // them, we need a scratch // (temporary) array for these // numbers: - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // Now for the loop over all // cells. You have seen before how @@ -649,7 +649,7 @@ void LaplaceProblem::assemble_system () // mapping of DoF numbers to // boundary values is done by the // `map' class. - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, ZeroFunction<2>(), @@ -799,7 +799,7 @@ void LaplaceProblem::output_results () const // are other functions which write // their data in postscript, AVS, // GMV, or some other format): - ofstream output ("solution.gpl"); + std::ofstream output ("solution.gpl"); data_out.write_gnuplot (output); }; diff --git a/deal.II/examples/step-4/step-4.cc b/deal.II/examples/step-4/step-4.cc index 94d1e2e1ac..8566ce580d 100644 --- a/deal.II/examples/step-4/step-4.cc +++ b/deal.II/examples/step-4/step-4.cc @@ -250,18 +250,18 @@ void LaplaceProblem::make_grid_and_dofs () GridGenerator::hyper_cube (triangulation, -1, 1); triangulation.refine_global (4); - cout << " Number of active cells: " - << triangulation.n_active_cells() - << endl - << " Total number of cells: " - << triangulation.n_cells() - << endl; + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl + << " Total number of cells: " + << triangulation.n_cells() + << std::endl; dof_handler.distribute_dofs (fe); - cout << " Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; sparsity_pattern.reinit (dof_handler.n_dofs(), dof_handler.n_dofs(), @@ -358,7 +358,7 @@ void LaplaceProblem::assemble_system () FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); Vector cell_rhs (dofs_per_cell); - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // Note here, that a cell is a // quadrilateral in two space @@ -446,7 +446,7 @@ void LaplaceProblem::assemble_system () // would like to use (i.e. the // BoundaryValues class declared // above): - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, BoundaryValues(), @@ -479,9 +479,9 @@ void LaplaceProblem::solve () // from the linear solvers, we have // to print the number of // iterations by hand. - cout << " " << solver_control.last_step() - << " CG iterations needed to obtain convergence." - << endl; + std::cout << " " << solver_control.last_step() + << " CG iterations needed to obtain convergence." + << std::endl; }; @@ -511,9 +511,9 @@ void LaplaceProblem::output_results () const // other values than 2 or 3, but we // neglect this here for the sake // of brevity). - ofstream output (dim == 2 ? - "solution-2d.gmv" : - "solution-3d.gmv"); + std::ofstream output (dim == 2 ? + "solution-2d.gmv" : + "solution-3d.gmv"); data_out.write_gmv (output); }; @@ -527,7 +527,7 @@ void LaplaceProblem::output_results () const template void LaplaceProblem::run () { - cout << "Solving problem in " << dim << " space dimensions." << endl; + std::cout << "Solving problem in " << dim << " space dimensions." << std::endl; make_grid_and_dofs(); assemble_system (); diff --git a/deal.II/examples/step-5/step-5.cc b/deal.II/examples/step-5/step-5.cc index 71951736fa..5477e710f3 100644 --- a/deal.II/examples/step-5/step-5.cc +++ b/deal.II/examples/step-5/step-5.cc @@ -105,9 +105,9 @@ class Coefficient : public Function virtual double value (const Point &p, const unsigned int component = 0) const; - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -136,9 +136,9 @@ double Coefficient::value (const Point &p, // values are the same as if we would // ask the ``value'' function. template -void Coefficient::value_list (const vector > &points, - vector &values, - const unsigned int component) const +void Coefficient::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { // Use n_q_points as an // abbreviation for the number of @@ -272,9 +272,9 @@ void LaplaceProblem::setup_system () { dof_handler.distribute_dofs (fe); - cout << " Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; sparsity_pattern.reinit (dof_handler.n_dofs(), dof_handler.n_dofs(), @@ -341,7 +341,7 @@ void LaplaceProblem::assemble_system () FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); Vector cell_rhs (dofs_per_cell); - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // Below, we will ask the // Coefficient class to compute the @@ -351,7 +351,7 @@ void LaplaceProblem::assemble_system () // space to store the values in, // which we use the following // variable for: - vector coefficient_values (n_q_points); + std::vector coefficient_values (n_q_points); DoFHandler::active_cell_iterator cell = dof_handler.begin_active(), endc = dof_handler.end(); @@ -409,7 +409,7 @@ void LaplaceProblem::assemble_system () // in the FEValues class. The // gradient are accessed as // follows: - const vector > > + const std::vector > > & shape_grads = fe_values.get_shape_grads(); // The data type looks a bit // unwieldy, since each entry @@ -426,9 +426,9 @@ void LaplaceProblem::assemble_system () // respective quadrature points // are stored, can be obtained // like this: - const vector + const std::vector & JxW_values = fe_values.get_JxW_values(); - const vector > + const std::vector > & q_points = fe_values.get_quadrature_points(); // Admittedly, the declarations // above are not easily @@ -558,7 +558,7 @@ void LaplaceProblem::assemble_system () }; // Again use zero boundary values: - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, ZeroFunction(), @@ -625,9 +625,9 @@ void LaplaceProblem::solve () cg.solve (system_matrix, solution, system_rhs, preconditioner); - cout << " " << solver_control.last_step() - << " CG iterations needed to obtain convergence." - << endl; + std::cout << " " << solver_control.last_step() + << " CG iterations needed to obtain convergence." + << std::endl; }; @@ -741,20 +741,20 @@ void LaplaceProblem::output_results (const unsigned int cycle) const // could as well give stream // modifiers such as ``setf'', // ``setprecision'', and so on. - ostrstream filename; + std::ostrstream filename; filename << "solution-" << cycle << ".eps"; // In order to append the final // '\0', we have to put an ``ends'' // to the end of the string: - filename << ends; + filename << std::ends; // We can get whatever we wrote to // the stream using the ``str()'' // function. Use that as filename // for the output stream: - ofstream output (filename.str()); + std::ofstream output (filename.str()); // And then write the data to the // file. data_out.write_eps (output); @@ -767,7 +767,7 @@ void LaplaceProblem::run () { for (unsigned int cycle=0; cycle<6; ++cycle) { - cout << "Cycle " << cycle << ':' << endl; + std::cout << "Cycle " << cycle << ':' << std::endl; // If this is the first round, // then we have no grid yet, @@ -799,7 +799,7 @@ void LaplaceProblem::run () { GridIn grid_in; grid_in.attach_triangulation (triangulation); - ifstream input_file("circle-grid.inp"); + std::ifstream input_file("circle-grid.inp"); // We would now like to // read the file. However, // the input file is only @@ -902,12 +902,12 @@ void LaplaceProblem::run () // the things that we have // already seen in the previous // examples. - cout << " Number of active cells: " - << triangulation.n_active_cells() - << endl - << " Total number of cells: " - << triangulation.n_cells() - << endl; + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl + << " Total number of cells: " + << triangulation.n_cells() + << std::endl; setup_system (); assemble_system (); @@ -948,8 +948,8 @@ int main () // lines. /* Coefficient<2> coefficient; - vector > points (2); - vector coefficient_values (1); + std::vector > points (2); + std::vector coefficient_values (1); coefficient.value_list (points, coefficient_values); */ diff --git a/deal.II/examples/step-6/step-6.cc b/deal.II/examples/step-6/step-6.cc index 42e56590b0..f617d9843e 100644 --- a/deal.II/examples/step-6/step-6.cc +++ b/deal.II/examples/step-6/step-6.cc @@ -145,9 +145,9 @@ class Coefficient : public Function virtual double value (const Point &p, const unsigned int component = 0) const; - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -165,9 +165,9 @@ double Coefficient::value (const Point &p, template -void Coefficient::value_list (const vector > &points, - vector &values, - const unsigned int component) const +void Coefficient::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { const unsigned int n_points = points.size(); @@ -465,9 +465,9 @@ void LaplaceProblem::assemble_system () FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); Vector cell_rhs (dofs_per_cell); - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); - vector coefficient_values (n_q_points); + std::vector coefficient_values (n_q_points); // We can now go on with assembling // the matrix and right hand @@ -493,11 +493,11 @@ void LaplaceProblem::assemble_system () fe_values.reinit (cell); const FullMatrix & shape_values = fe_values.get_shape_values(); - const vector > > + const std::vector > > & shape_grads = fe_values.get_shape_grads(); - const vector + const std::vector & JxW_values = fe_values.get_JxW_values(); - const vector > + const std::vector > & q_points = fe_values.get_quadrature_points(); coefficient.value_list (q_points, coefficient_values); @@ -564,7 +564,7 @@ void LaplaceProblem::assemble_system () // from the system of equations // happens *after* the elimination // of hanging nodes. - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, ZeroFunction(), @@ -817,12 +817,12 @@ void LaplaceProblem::output_results (const unsigned int cycle) const // this will only work if the cycle // number is less than ten, which // we check by an assertion. - string filename = "grid-"; + std::string filename = "grid-"; filename += ('0' + cycle); Assert (cycle < 10, ExcInternalError()); filename += ".eps"; - ofstream output (filename.c_str()); + std::ofstream output (filename.c_str()); // Using this filename, we write // each grid as a postscript file. @@ -837,7 +837,7 @@ void LaplaceProblem::run () { for (unsigned int cycle=0; cycle<8; ++cycle) { - cout << "Cycle " << cycle << ':' << endl; + std::cout << "Cycle " << cycle << ':' << std::endl; if (cycle == 0) { @@ -889,15 +889,15 @@ void LaplaceProblem::run () }; - cout << " Number of active cells: " - << triangulation.n_active_cells() - << endl; + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; setup_system (); - cout << " Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; assemble_system (); solve (); @@ -922,7 +922,7 @@ void LaplaceProblem::run () data_out.add_data_vector (solution, "solution"); data_out.build_patches (); - ofstream output ("final-solution.eps"); + std::ofstream output ("final-solution.eps"); data_out.write_eps (output); }; @@ -1007,16 +1007,16 @@ int main () // other information. This is also // what would be printed in the // following. - catch (exception &exc) + catch (std::exception &exc) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Exception on processing: " << endl - << exc.what() << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; // We can't do much more than // printing as much information // as we can get to, so abort @@ -1032,13 +1032,13 @@ int main () // message and exit. catch (...) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Unknown exception!" << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; }; diff --git a/deal.II/examples/step-7/step-7.cc b/deal.II/examples/step-7/step-7.cc index 819a6f7ec3..0bf34a46ed 100644 --- a/deal.II/examples/step-7/step-7.cc +++ b/deal.II/examples/step-7/step-7.cc @@ -792,12 +792,12 @@ void LaplaceProblem::assemble_system () // of the degrees of freedom on a // cell. RightHandSide right_hand_side; - vector rhs_values (n_q_points); + std::vector rhs_values (n_q_points); FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); Vector cell_rhs (dofs_per_cell); - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // Then we define an object // denoting the exact solution @@ -831,11 +831,11 @@ void LaplaceProblem::assemble_system () fe_values.reinit (cell); const FullMatrix & shape_values = fe_values.get_shape_values(); - const vector > > + const std::vector > > & shape_grads = fe_values.get_shape_grads(); - const vector + const std::vector & JxW_values = fe_values.get_JxW_values(); - const vector > + const std::vector > & q_points = fe_values.get_quadrature_points(); right_hand_side.value_list (q_points, rhs_values); @@ -924,11 +924,11 @@ void LaplaceProblem::assemble_system () // local variables: const FullMatrix & face_shape_values = fe_face_values.get_shape_values(); - const vector + const std::vector & face_JxW_values = fe_face_values.get_JxW_values(); - const vector > + const std::vector > & face_q_points = fe_face_values.get_quadrature_points(); - const vector > + const std::vector > & face_normal_vectors = fe_face_values.get_normal_vectors (); // And we can then @@ -1007,7 +1007,7 @@ void LaplaceProblem::assemble_system () // belong to Gamma1 are therefore // excluded from the interpolation // of boundary values. - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, Solution(), @@ -1215,14 +1215,14 @@ void LaplaceProblem::process_solution (const unsigned int cycle) const unsigned int n_active_cells=triangulation.n_active_cells(); const unsigned int n_dofs=dof_handler.n_dofs(); - cout << "Cycle " << cycle << ':' - << endl - << " Number of active cells: " - << n_active_cells - << endl - << " Number of degrees of freedom: " - << n_dofs - << endl; + std::cout << "Cycle " << cycle << ':' + << std::endl + << " Number of active cells: " + << n_active_cells + << std::endl + << " Number of degrees of freedom: " + << n_dofs + << std::endl; // Add the important data to the // ``TableHandler'' by giving the key @@ -1427,7 +1427,7 @@ void LaplaceProblem::run () // statements which you have // already seen in previous // examples: - string filename; + std::string filename; switch (refinement_mode) { case global_refinement: @@ -1475,7 +1475,7 @@ void LaplaceProblem::run () filename += ".gmv"; - ofstream output (filename.c_str()); + std::ofstream output (filename.c_str()); DataOut data_out; @@ -1560,12 +1560,12 @@ void LaplaceProblem::run () // In each cycle values were added // to the TableHandler. Now write // the table to the standard output - // stream cout. Note, that the + // stream `std::cout'. Note, that the // output in text format is a quite // simple one and the captions may // not be printed directly above // the specific columns. - convergence_table.write_text(cout); + convergence_table.write_text(std::cout); // The table can also be written // into a Tex file. The (nicely) // formatted table can be viewed at @@ -1577,7 +1577,7 @@ void LaplaceProblem::run () // refinement mode, as above if (true) { - string filename = "error"; + std::string filename = "error"; switch (refinement_mode) { case global_refinement: @@ -1598,7 +1598,7 @@ void LaplaceProblem::run () Assert (false, ExcInternalError()); filename += ".tex"; - ofstream table_file(filename.c_str()); + std::ofstream table_file(filename.c_str()); convergence_table.write_tex(table_file); table_file.close(); } @@ -1618,7 +1618,7 @@ void LaplaceProblem::run () // by adding the columns or the // supercolumns to a new string // vector. - vector new_order; + std::vector new_order; new_order.push_back("n cells"); new_order.push_back("H1"); new_order.push_back("L2"); @@ -1669,11 +1669,11 @@ void LaplaceProblem::run () // Finally, the convergence chart // is written. The filename is // again constructed as above. - convergence_table.write_text(cout); + convergence_table.write_text(std::cout); if (true) { - string filename = "convergence"; + std::string filename = "convergence"; switch (refinement_mode) { case global_refinement: @@ -1694,7 +1694,7 @@ void LaplaceProblem::run () Assert (false, ExcInternalError()); filename += ".tex"; - ofstream table_file(filename.c_str()); + std::ofstream table_file(filename.c_str()); convergence_table.write_tex(table_file); table_file.close(); } @@ -1725,63 +1725,63 @@ int main () // before we go to the next // run. { - cout << "Solving with Q1 elements, adaptive refinement" << endl - << "=============================================" << endl - << endl; + std::cout << "Solving with Q1 elements, adaptive refinement" << std::endl + << "=============================================" << std::endl + << std::endl; FEQ1<2> fe; LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::adaptive_refinement); laplace_problem_2d.run (); - cout << endl; + std::cout << std::endl; }; { - cout << "Solving with Q1 elements, global refinement" << endl - << "===========================================" << endl - << endl; + std::cout << "Solving with Q1 elements, global refinement" << std::endl + << "===========================================" << std::endl + << std::endl; FEQ1<2> fe; LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::global_refinement); laplace_problem_2d.run (); - cout << endl; + std::cout << std::endl; }; { - cout << "Solving with Q2 elements, global refinement" << endl - << "===========================================" << endl - << endl; + std::cout << "Solving with Q2 elements, global refinement" << std::endl + << "===========================================" << std::endl + << std::endl; FEQ2<2> fe; LaplaceProblem<2> laplace_problem_2d (fe, LaplaceProblem<2>::global_refinement); laplace_problem_2d.run (); - cout << endl; + std::cout << std::endl; }; } - catch (exception &exc) + catch (std::exception &exc) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Exception on processing: " << endl - << exc.what() << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; } catch (...) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Unknown exception!" << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; }; diff --git a/deal.II/examples/step-8/step-8.cc b/deal.II/examples/step-8/step-8.cc index 264a93a8bb..fb4dcbeeed 100644 --- a/deal.II/examples/step-8/step-8.cc +++ b/deal.II/examples/step-8/step-8.cc @@ -140,8 +140,8 @@ class RightHandSide : public Function // returns the values of the // vector-valued function at // several points at once: - virtual void vector_value_list (const vector > &points, - vector > &value_list) const; + virtual void vector_value_list (const std::vector > &points, + std::vector > &value_list) const; }; @@ -236,8 +236,8 @@ void RightHandSide::vector_value (const Point &p, // the values at several points at // once. template -void RightHandSide::vector_value_list (const vector > &points, - vector > &value_list) const +void RightHandSide::vector_value_list (const std::vector > &points, + std::vector > &value_list) const { // First we define an abbreviation // for the number of points which @@ -460,7 +460,7 @@ void ElasticProblem::assemble_system () FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); Vector cell_rhs (dofs_per_cell); - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // As was shown in previous // examples as well, we need a @@ -469,8 +469,8 @@ void ElasticProblem::assemble_system () // quadrature points on a cell. In // the present situation, we have // two coefficients, lambda and mu. - vector lambda_values (n_q_points); - vector mu_values (n_q_points); + std::vector lambda_values (n_q_points); + std::vector mu_values (n_q_points); // Well, we could as well have // omitted the above two arrays @@ -499,8 +499,8 @@ void ElasticProblem::assemble_system () // which is a ``Vector'' // with ``dim'' elements. RightHandSide right_hand_side; - vector > rhs_values (n_q_points, - Vector(dim)); + std::vector > rhs_values (n_q_points, + Vector(dim)); // Now we can begin with the loop @@ -521,11 +521,11 @@ void ElasticProblem::assemble_system () // offers: const FullMatrix & shape_values = fe_values.get_shape_values(); - const vector > > + const std::vector > > & shape_grads = fe_values.get_shape_grads(); - const vector + const std::vector & JxW_values = fe_values.get_JxW_values(); - const vector > + const std::vector > & q_points = fe_values.get_quadrature_points(); // Next we get the values of @@ -562,7 +562,7 @@ void ElasticProblem::assemble_system () // that there is more in // it. In fact, the // function returns a - // ``pair'', of // which the first element // is ``comp(i)'' and the @@ -730,7 +730,7 @@ void ElasticProblem::assemble_system () // we need to pass ``dim'' as // number of components to the zero // function as well. - map boundary_values; + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, ZeroFunction(dim), @@ -813,20 +813,20 @@ void ElasticProblem::refine_grid () // been shown in previous examples // already. The only difference is // not that the solution function is - // vector values. The ``DataOut'' + // std::vector values. The ``DataOut'' // class takes care of this // automatically, but we have to give // each component of the solution - // vector a different name. + // std::vector a different name. template void ElasticProblem::output_results (const unsigned int cycle) const { - string filename = "solution-"; + std::string filename = "solution-"; filename += ('0' + cycle); Assert (cycle < 10, ExcInternalError()); filename += ".gmv"; - ofstream output (filename.c_str()); + std::ofstream output (filename.c_str()); DataOut data_out; data_out.attach_dof_handler (dof_handler); @@ -859,7 +859,7 @@ void ElasticProblem::output_results (const unsigned int cycle) const // library will throw an exception // otherwise, at least if in debug // mode. - vector solution_names; + std::vector solution_names; switch (dim) { case 1: @@ -925,7 +925,7 @@ void ElasticProblem::run () { for (unsigned int cycle=0; cycle<8; ++cycle) { - cout << "Cycle " << cycle << ':' << endl; + std::cout << "Cycle " << cycle << ':' << std::endl; if (cycle == 0) { @@ -1039,15 +1039,15 @@ void ElasticProblem::run () else refine_grid (); - cout << " Number of active cells: " - << triangulation.n_active_cells() - << endl; + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; setup_system (); - cout << " Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; assemble_system (); solve (); @@ -1068,28 +1068,28 @@ int main () ElasticProblem<2> elastic_problem_2d; elastic_problem_2d.run (); } - catch (exception &exc) + catch (std::exception &exc) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Exception on processing: " << endl - << exc.what() << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; - + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; } catch (...) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Unknown exception!" << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; }; diff --git a/deal.II/examples/step-9/step-9.cc b/deal.II/examples/step-9/step-9.cc index 7e4eae0a6c..39d3f6a777 100644 --- a/deal.II/examples/step-9/step-9.cc +++ b/deal.II/examples/step-9/step-9.cc @@ -231,8 +231,8 @@ class AdvectionField : public TensorFunction<1,dim> public: virtual Tensor<1,dim> value (const Point &p) const; - virtual void value_list (const vector > &points, - vector > &values) const; + virtual void value_list (const std::vector > &points, + std::vector > &values) const; // In previous examples, we have // used assertions that throw @@ -243,7 +243,7 @@ class AdvectionField : public TensorFunction<1,dim> // follows: DeclException2 (ExcDimensionMismatch, unsigned int, unsigned int, - << "The vector has size " << arg1 << " but should have " + << "The std::vector has size " << arg1 << " but should have " << arg2 << " elements."); // The syntax may look a little // strange, but is @@ -266,7 +266,7 @@ class AdvectionField : public TensorFunction<1,dim> // types of the parameters. The // last argument is a sequence of // output directives that will be - // piped into the ``cerr'' + // piped into the ``std::cerr'' // object, thus the strange // format with the leading ``<<'' // operator and the like. Note @@ -332,8 +332,8 @@ AdvectionField::value (const Point &p) const template void -AdvectionField::value_list (const vector > &points, - vector > &values) const +AdvectionField::value_list (const std::vector > &points, + std::vector > &values) const { Assert (values.size() == points.size(), ExcDimensionMismatch (values.size(), points.size())); @@ -372,9 +372,9 @@ class RightHandSide : public Function virtual double value (const Point &p, const unsigned int component = 0) const; - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; private: static const Point center_point; @@ -428,9 +428,9 @@ RightHandSide::value (const Point &p, template void -RightHandSide::value_list (const vector > &points, - vector &values, - const unsigned int component) const +RightHandSide::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { Assert (values.size() == points.size(), ExcDimensionMismatch (values.size(), points.size())); @@ -452,9 +452,9 @@ class BoundaryValues : public Function virtual double value (const Point &p, const unsigned int component = 0) const; - virtual void value_list (const vector > &points, - vector &values, - const unsigned int component = 0) const; + virtual void value_list (const std::vector > &points, + std::vector &values, + const unsigned int component = 0) const; }; @@ -475,9 +475,9 @@ BoundaryValues::value (const Point &p, template void -BoundaryValues::value_list (const vector > &points, - vector &values, - const unsigned int component) const +BoundaryValues::value_list (const std::vector > &points, + std::vector &values, + const unsigned int component) const { Assert (values.size() == points.size(), ExcDimensionMismatch (values.size(), points.size())); @@ -603,7 +603,7 @@ class GradientEstimation DeclException0 (ExcInsufficientDirections); private: - typedef pair IndexInterval; + typedef std::pair IndexInterval; template static void estimate_interval (const DoFHandler &dof, @@ -768,7 +768,7 @@ void AdvectionProblem::assemble_system () // only for a range of cell // iterators, but for iterators in // general, so you could use for - // ``vector::iterator'' or usual + // ``std::vector::iterator'' or usual // pointers as well. // // The function returns a vector of @@ -800,7 +800,7 @@ void AdvectionProblem::assemble_system () // first typedef this data type to // an alias. typedef typename DoFHandler::active_cell_iterator active_cell_iterator; - vector > + std::vector > thread_ranges = Threads::split_range (dof_handler.begin_active (), dof_handler.end (), @@ -964,7 +964,7 @@ assemble_system_interval (const DoFHandler::active_cell_iterator &begin, // indices of the degrees of // freedom of the cell on which we // are presently working... - vector local_dof_indices (dofs_per_cell); + std::vector local_dof_indices (dofs_per_cell); // ... and array in which the // values of right hand side, @@ -972,10 +972,10 @@ assemble_system_interval (const DoFHandler::active_cell_iterator &begin, // boundary values will be stored, // for cell and face integrals // respectively: - vector rhs_values (n_q_points); - vector > advection_directions (n_q_points); - vector face_boundary_values (n_face_q_points); - vector > face_advection_directions (n_face_q_points); + std::vector rhs_values (n_q_points); + std::vector > advection_directions (n_q_points); + std::vector face_boundary_values (n_face_q_points); + std::vector > face_advection_directions (n_face_q_points); // Then we start the main loop over // the cells: @@ -994,11 +994,11 @@ assemble_system_interval (const DoFHandler::active_cell_iterator &begin, fe_values.reinit (cell); const FullMatrix & shape_values = fe_values.get_shape_values(); - const vector > > + const std::vector > > & shape_grads = fe_values.get_shape_grads(); - const vector + const std::vector & JxW_values = fe_values.get_JxW_values(); - const vector > + const std::vector > & q_points = fe_values.get_quadrature_points(); // ... obtain the values of @@ -1092,11 +1092,11 @@ assemble_system_interval (const DoFHandler::active_cell_iterator &begin, const FullMatrix & face_shape_values = fe_face_values.get_shape_values(); - const vector + const std::vector & face_JxW_values = fe_face_values.get_JxW_values(); - const vector > + const std::vector > & face_q_points = fe_face_values.get_quadrature_points(); - const vector > + const std::vector > & normal_vectors = fe_face_values.get_normal_vectors(); // For the quadrature @@ -1345,12 +1345,12 @@ void AdvectionProblem::refine_grid () template void AdvectionProblem::output_results (const unsigned int cycle) const { - string filename = "grid-"; + std::string filename = "grid-"; filename += ('0' + cycle); Assert (cycle < 10, ExcInternalError()); filename += ".eps"; - ofstream output (filename.c_str()); + std::ofstream output (filename.c_str()); GridOut grid_out; grid_out.write_eps (triangulation, output); @@ -1364,7 +1364,7 @@ void AdvectionProblem::run () { for (unsigned int cycle=0; cycle<6; ++cycle) { - cout << "Cycle " << cycle << ':' << endl; + std::cout << "Cycle " << cycle << ':' << std::endl; if (cycle == 0) { @@ -1377,15 +1377,15 @@ void AdvectionProblem::run () }; - cout << " Number of active cells: " - << triangulation.n_active_cells() - << endl; + std::cout << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; setup_system (); - cout << " Number of degrees of freedom: " - << dof_handler.n_dofs() - << endl; + std::cout << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; assemble_system (); solve (); @@ -1397,7 +1397,7 @@ void AdvectionProblem::run () data_out.add_data_vector (solution, "solution"); data_out.build_patches (); - ofstream output ("final-solution.gmv"); + std::ofstream output ("final-solution.gmv"); data_out.write_gmv (output); }; @@ -1445,7 +1445,7 @@ GradientEstimation::estimate (const DoFHandler &dof_handler, // larger interval. This is used // here: const unsigned int n_threads = multithread_info.n_default_threads; - vector index_intervals + std::vector index_intervals = Threads::split_interval (0, dof_handler.get_tria().n_active_cells(), n_threads); @@ -1598,7 +1598,7 @@ GradientEstimation::estimate_interval (const DoFHandler &dof_handler, // later reallocations. Note how // this maximal number of active // neighbors is computed here. - vector::active_cell_iterator> active_neighbors; + std::vector::active_cell_iterator> active_neighbors; active_neighbors.reserve (GeometryInfo::faces_per_cell * GeometryInfo::subfaces_per_face); @@ -1863,14 +1863,14 @@ GradientEstimation::estimate_interval (const DoFHandler &dof_handler, // in real space. const Point this_center = fe_midpoint_value.quadrature_point(0); - vector this_midpoint_value(1); + std::vector this_midpoint_value(1); fe_midpoint_value.get_function_values (solution, this_midpoint_value); // Now loop over all active // neighbors and collect the // data we need. - typename vector::active_cell_iterator>::const_iterator + typename std::vector::active_cell_iterator>::const_iterator neighbor_ptr = active_neighbors.begin(); for (; neighbor_ptr!=active_neighbors.end(); ++neighbor_ptr) { @@ -1893,7 +1893,7 @@ GradientEstimation::estimate_interval (const DoFHandler &dof_handler, fe_midpoint_value.reinit (neighbor); const Point neighbor_center = fe_midpoint_value.quadrature_point(0); - vector neighbor_midpoint_value(1); + std::vector neighbor_midpoint_value(1); fe_midpoint_value.get_function_values (solution, this_midpoint_value); // Compute the vector ``y'' @@ -2014,27 +2014,27 @@ int main () AdvectionProblem<2> advection_problem_2d; advection_problem_2d.run (); } - catch (exception &exc) + catch (std::exception &exc) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Exception on processing: " << endl - << exc.what() << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; } catch (...) { - cerr << endl << endl - << "----------------------------------------------------" - << endl; - cerr << "Unknown exception!" << endl - << "Aborting!" << endl - << "----------------------------------------------------" - << endl; + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; return 1; }; diff --git a/deal.II/lac/include/lac/block_indices.h b/deal.II/lac/include/lac/block_indices.h index 6869bb1b4b..c24528f541 100644 --- a/deal.II/lac/include/lac/block_indices.h +++ b/deal.II/lac/include/lac/block_indices.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -46,7 +46,7 @@ class BlockIndices * number of blocks will be the * size of the vector */ - BlockIndices (const vector &n); + BlockIndices (const std::vector &n); /** * Reinitialize the number of @@ -65,7 +65,7 @@ class BlockIndices * of block @p{i} is set to * @p{n[i]}. */ - void reinit (const vector &n); + void reinit (const std::vector &n); /** * Return the block and the @@ -75,7 +75,7 @@ class BlockIndices * the block, the second the * index within it. */ - pair + std::pair global_to_local (const unsigned int i) const; /** @@ -139,7 +139,7 @@ class BlockIndices * value is the total number of * entries. */ - vector start_indices; + std::vector start_indices; }; @@ -158,7 +158,7 @@ BlockIndices::BlockIndices (unsigned int n_blocks) inline -BlockIndices::BlockIndices (const vector &n) +BlockIndices::BlockIndices (const std::vector &n) : n_blocks(n.size()), start_indices(n.size()+1) { @@ -172,7 +172,7 @@ void BlockIndices::reinit (const unsigned int n_blocks, const unsigned int n_elements_per_block) { - const vector v(n_blocks, n_elements_per_block); + const std::vector v(n_blocks, n_elements_per_block); reinit (v); }; @@ -180,7 +180,7 @@ BlockIndices::reinit (const unsigned int n_blocks, inline void -BlockIndices::reinit (const vector &n) +BlockIndices::reinit (const std::vector &n) { if (start_indices.size() != n.size()+1) { @@ -195,7 +195,7 @@ BlockIndices::reinit (const vector &n) inline -pair +std::pair BlockIndices::global_to_local (const unsigned int i) const { Assert (i(block, i-start_indices[block]); + return std::make_pair(block, i-start_indices[block]); }; diff --git a/deal.II/lac/include/lac/block_matrix.h b/deal.II/lac/include/lac/block_matrix.h index ac4c7fc99f..651a813fb6 100644 --- a/deal.II/lac/include/lac/block_matrix.h +++ b/deal.II/lac/include/lac/block_matrix.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/block_sparse_matrix.h b/deal.II/lac/include/lac/block_sparse_matrix.h index c58032e848..c18e070be7 100644 --- a/deal.II/lac/include/lac/block_sparse_matrix.h +++ b/deal.II/lac/include/lac/block_sparse_matrix.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -511,7 +511,7 @@ class BlockSparseMatrix : public Subscriptor /** * Array of sub-matrices. */ - vector > > > sub_objects; + std::vector > > > sub_objects; }; @@ -575,7 +575,7 @@ BlockSparseMatrix::set (const unsigned int i, const unsigned int j, const number value) { - const pair + const std::pair row_index = sparsity_pattern->row_indices.global_to_local (i), col_index = sparsity_pattern->column_indices.global_to_local (j); block(row_index.first,col_index.first).set (row_index.second, @@ -592,7 +592,7 @@ BlockSparseMatrix::add (const unsigned int i, const unsigned int j, const number value) { - const pair + const std::pair row_index = sparsity_pattern->row_indices.global_to_local (i), col_index = sparsity_pattern->column_indices.global_to_local (j); block(row_index.first,col_index.first).add (row_index.second, @@ -608,7 +608,7 @@ number BlockSparseMatrix::operator () (const unsigned int i, const unsigned int j) const { - const pair + const std::pair row_index = sparsity_pattern->row_indices.global_to_local (i), col_index = sparsity_pattern->column_indices.global_to_local (j); return block(row_index.first,col_index.first) (row_index.second, diff --git a/deal.II/lac/include/lac/block_sparse_matrix.templates.h b/deal.II/lac/include/lac/block_sparse_matrix.templates.h index 672c1c3e6b..728e992844 100644 --- a/deal.II/lac/include/lac/block_sparse_matrix.templates.h +++ b/deal.II/lac/include/lac/block_sparse_matrix.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -106,8 +106,8 @@ reinit (const BlockSparsityPattern &sparsity) sparsity_pattern = &sparsity; rows = sparsity.n_block_rows(); columns = sparsity.n_block_cols(); - sub_objects = vector > > > - (rows, vector > > (columns, 0)); + sub_objects = std::vector > > > + (rows, std::vector > > (columns, 0)); // and reinitialize the blocks for (unsigned int r=0; r > > sub_objects; + std::vector > > sub_objects; /** * Object storing and managing @@ -441,7 +441,7 @@ BlockSparsityPattern::add (const unsigned int i, // if you get an error here, are // you sure you called // @p{collect_sizes()} before? - const pair + const std::pair row_index = row_indices.global_to_local (i), col_index = column_indices.global_to_local (j); sub_objects[row_index.first][col_index.first]->add (row_index.second, diff --git a/deal.II/lac/include/lac/block_vector.h b/deal.II/lac/include/lac/block_vector.h index b9b6b6071b..962c99b34a 100644 --- a/deal.II/lac/include/lac/block_vector.h +++ b/deal.II/lac/include/lac/block_vector.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -123,7 +123,7 @@ class BlockVector * initialize each block with * @p{n[i]} zero elements. */ - BlockVector (const vector &n); + BlockVector (const std::vector &n); /** * Destructor. Clears memory @@ -163,8 +163,8 @@ class BlockVector * If @p{fast==false}, the vector * is filled with zeros. */ - void reinit (const vector &N, - const bool fast=false); + void reinit (const std::vector &N, + const bool fast=false); /** * Change the dimension to that of the @@ -176,7 +176,7 @@ class BlockVector * @p{reinit (V.size(), fast)}. */ void reinit (const BlockVector &V, - const bool fast=false); + const bool fast=false); /** * Set all entries to zero. Equivalent to @@ -449,11 +449,11 @@ class BlockVector /** * Print to a stream. - * */ - void print (ostream &, unsigned int precision = 3, - bool scientific = true, - bool across = true) const; + void print (std::ostream &out, + const unsigned int precision = 3, + const bool scientific = true, + const bool across = true) const; /** * Write the vector en bloc to a file. This @@ -463,7 +463,7 @@ class BlockVector * a different operating system of number * format. */ - void block_write (ostream &out) const; + void block_write (std::ostream &out) const; /** * Read a vector en block from a file. This @@ -480,7 +480,7 @@ class BlockVector * data as a vector stored bitwise to a * file, but not more. */ - void block_read (istream &in); + void block_read (std::istream &in); /** * Determine an estimate for the @@ -495,7 +495,7 @@ class BlockVector /** * Pointer to the array of components. */ - vector > components; + std::vector > components; /** * Object managing the @@ -540,7 +540,7 @@ template inline Number BlockVector::operator() (const unsigned int i) const { - const pair local_index + const std::pair local_index = block_indices.global_to_local (i); return components[local_index.first](local_index.second); } @@ -551,7 +551,7 @@ template inline Number& BlockVector::operator() (const unsigned int i) { - const pair local_index + const std::pair local_index = block_indices.global_to_local (i); return components[local_index.first](local_index.second); } diff --git a/deal.II/lac/include/lac/block_vector.templates.h b/deal.II/lac/include/lac/block_vector.templates.h index 47434977c7..53addc50c7 100644 --- a/deal.II/lac/include/lac/block_vector.templates.h +++ b/deal.II/lac/include/lac/block_vector.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -30,7 +30,7 @@ BlockVector::BlockVector (unsigned int n_blocks, template -BlockVector::BlockVector (const vector &n) +BlockVector::BlockVector (const std::vector &n) { reinit (n, false); } @@ -70,14 +70,14 @@ void BlockVector::reinit (const unsigned int n_bl, const unsigned int bl_sz, const bool fast) { - vector n(n_bl, bl_sz); + std::vector n(n_bl, bl_sz); reinit(n, fast); } template -void BlockVector::reinit (const vector &n, - const bool fast) +void BlockVector::reinit (const std::vector &n, + const bool fast) { block_indices.reinit (n); num_blocks = n.size(); @@ -451,17 +451,17 @@ BlockVector::operator = (const BlockVector< Number2>& v) template -void BlockVector::print (ostream &out, - unsigned int precision, - bool scientific, - bool across) const +void BlockVector::print (std::ostream &out, + const unsigned int precision, + const bool scientific, + const bool across) const { for (unsigned int i=0;i::print (ostream &out, template -void BlockVector::block_write (ostream &out) const +void BlockVector::block_write (std::ostream &out) const { for (unsigned int i=0;i::block_write (ostream &out) const template -void BlockVector::block_read (istream &in) +void BlockVector::block_read (std::istream &in) { for (unsigned int i=0;i::FullMatrix (const FullMatrix &m) : { reinit (m.dim_image, m.dim_range); if (dim_range*dim_image != 0) - copy (&m.val[0], &m.val[dim_image*dim_range], - &val[0]); + std::copy (&m.val[0], &m.val[dim_image*dim_range], + &val[0]); }; @@ -405,8 +405,8 @@ FullMatrix::operator = (const FullMatrix& m) { reinit (m); if (dim_range*dim_image != 0) - copy (&m.val[0], &m.val[dim_image*dim_range], - &val[0]); + std::copy (&m.val[0], &m.val[dim_image*dim_range], + &val[0]); return *this; } @@ -674,15 +674,17 @@ number FullMatrix::linfty_norm () const template void -FullMatrix::print (ostream& s, int w, int p) const +FullMatrix::print (std::ostream &s, + const unsigned int w, + const unsigned int p) const { Assert (val != 0, ExcEmptyMatrix()); - unsigned int i,j; - for (i=0;i::operator == (const FullMatrix &m) const return ( ((val==0) && (m.val==0)) || ((dim_range==m.dim_range) && (dim_image==m.dim_image) && - equal (&val[0], &val[dim_range*dim_image], - &m.val[0]))); + std::equal (&val[0], &val[dim_range*dim_image], + &m.val[0]))); }; @@ -1139,7 +1141,7 @@ template void FullMatrix::clear () { if (val != 0) - fill_n (&val[0], n()*m(), 0); + std::fill_n (&val[0], n()*m(), 0); }; @@ -1304,33 +1306,35 @@ FullMatrix::invert (const FullMatrix &M) template void -FullMatrix::print_formatted (ostream &out, const unsigned int precision) const +FullMatrix::print_formatted (std::ostream &out, + const unsigned int precision) const { Assert (val != 0, ExcEmptyMatrix()); - + + // set output format, but store old + // state + std::ios::fmtflags old_flags = out.flags(); out.precision (precision); - out.setf (ios::scientific, ios::floatfield); // set output format + out.setf (std::ios::scientific, std::ios::floatfield); for (unsigned int i=0; i void FullMatrix::gauss_jordan() @@ -1338,7 +1342,9 @@ FullMatrix::gauss_jordan() Assert (val != 0, ExcEmptyMatrix()); Assert (dim_range == dim_image, ExcNotQuadratic()); - vector p(n()); + // Gauss-Jordan-Algorithmus + // cf. Stoer I (4th Edition) p. 153 + std::vector p(n()); for (unsigned int i=0; i::gauss_jordan() if (r>j) { for (unsigned int k=0; k::gauss_jordan() el(j,j) = hr; } // columninterchange - vector hv(n()); + std::vector hv(n()); for (unsigned int i=0; i > var_inverse; + std::vector > var_inverse; /** * Storage of the original diagonal blocks. @@ -276,7 +276,7 @@ class PreconditionBlock * * Used by the blocked SSOR method. */ - vector > var_diagonal; + std::vector > var_diagonal; /** * Flag for diagonal compression. diff --git a/deal.II/lac/include/lac/precondition_block.templates.h b/deal.II/lac/include/lac/precondition_block.templates.h index 52effedff9..c8c1c5ce38 100644 --- a/deal.II/lac/include/lac/precondition_block.templates.h +++ b/deal.II/lac/include/lac/precondition_block.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -172,14 +172,20 @@ void PreconditionBlock::invert_diagblocks() // avoids copying if (store_diagonals) { - vector > tmp(n_cells, - FullMatrix(blocksize)); + std::vector > + tmp(n_cells, FullMatrix(blocksize)); var_diagonal.swap (tmp); } - - vector > tmp(n_cells, - FullMatrix(blocksize)); - var_inverse.swap (tmp); + + if (true) + { + std::vector > + tmp(n_cells, FullMatrix(blocksize)); + var_inverse.swap (tmp); + // make sure the tmp object + // goes out of scope as + // soon as possible + }; M_cell.clear (); diff --git a/deal.II/lac/include/lac/precondition_selector.h b/deal.II/lac/include/lac/precondition_selector.h index c325cca30a..cc1677b761 100644 --- a/deal.II/lac/include/lac/precondition_selector.h +++ b/deal.II/lac/include/lac/precondition_selector.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -89,7 +89,7 @@ class PreconditionSelector : public Subscriptor * the damping parameter of * the preconditioning. */ - PreconditionSelector(const string preconditioning, + PreconditionSelector(const std::string &preconditioning, const typename Vector::value_type &omega=1.); /** @@ -116,7 +116,7 @@ class PreconditionSelector : public Subscriptor * Get the names of all implemented * preconditionings. */ - static string get_precondition_names(); + static std::string get_precondition_names(); /** * Exception. @@ -130,7 +130,7 @@ class PreconditionSelector : public Subscriptor * Stores the name of the * preconditioning. */ - string preconditioning; + std::string preconditioning; private: /** @@ -153,7 +153,7 @@ class PreconditionSelector : public Subscriptor template PreconditionSelector -::PreconditionSelector(string preconditioning, +::PreconditionSelector(std::string &preconditioning, const typename Vector::value_type &omega) : preconditioning(preconditioning), omega(omega) {} @@ -204,7 +204,7 @@ void PreconditionSelector::vmult (Vector &dst, template -string PreconditionSelector::get_precondition_names() +std::string PreconditionSelector::get_precondition_names() { return "none|jacobi|sor|ssor"; } diff --git a/deal.II/lac/include/lac/solver.h b/deal.II/lac/include/lac/solver.h index 9f783b3669..0a48074bad 100644 --- a/deal.II/lac/include/lac/solver.h +++ b/deal.II/lac/include/lac/solver.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/solver_bicgstab.h b/deal.II/lac/include/lac/solver_bicgstab.h index c01f19051b..1335bb297e 100644 --- a/deal.II/lac/include/lac/solver_bicgstab.h +++ b/deal.II/lac/include/lac/solver_bicgstab.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/solver_cg.h b/deal.II/lac/include/lac/solver_cg.h index d6c8aeae32..1ddb2ca00d 100644 --- a/deal.II/lac/include/lac/solver_cg.h +++ b/deal.II/lac/include/lac/solver_cg.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/solver_control.h b/deal.II/lac/include/lac/solver_control.h index df2c4b784b..fc750da7f8 100644 --- a/deal.II/lac/include/lac/solver_control.h +++ b/deal.II/lac/include/lac/solver_control.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/solver_gmres.h b/deal.II/lac/include/lac/solver_gmres.h index fd77abd2a5..7596c4cc6f 100644 --- a/deal.II/lac/include/lac/solver_gmres.h +++ b/deal.II/lac/include/lac/solver_gmres.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -226,7 +226,7 @@ SolverGMRES::solve (const MATRIX& A, // This is really bad since vectors // should only be allocated if // really needed. (GK) - vector tmp_vectors (n_tmp_vectors, 0); + std::vector tmp_vectors (n_tmp_vectors, 0); for (unsigned int tmp=0; tmp::solve (const MATRIX &A, do { if (step) - deallog << "Restart step " << step << endl; + deallog << "Restart step " << step << std::endl; state = iterate(A, precondition); } while (state == breakdown); @@ -316,9 +316,9 @@ SolverQMRS::iterate(const MATRIX& A, precondition.vmult(q,p); tau = v.norm_sqr(); - //deallog << "tau:" << tau << endl; + //deallog << "tau:" << tau << std::endl; rho = q*v; - //deallog << "rho:" << rho << endl; + //deallog << "rho:" << rho << std::endl; while (state == SolverControl::iterate) @@ -335,7 +335,7 @@ while (state == SolverControl::iterate) return breakdown; // Step 3 alpha = rho/sigma; - //deallog << "alpha:" << alpha << endl; + //deallog << "alpha:" << alpha << std::endl; v.add(-alpha,t); // Step 4 @@ -344,9 +344,9 @@ while (state == SolverControl::iterate) psi = 1./(1.+theta); tau *= theta*psi; - //deallog << "psi:" << psi << endl; - //deallog << "theta:" << theta << endl; - //deallog << "tau:" << tau << endl; + //deallog << "psi:" << psi << std::endl; + //deallog << "theta:" << theta << std::endl; + //deallog << "tau:" << tau << std::endl; d.sadd(psi*theta_old, psi*alpha, p); x.add(d); diff --git a/deal.II/lac/include/lac/solver_richardson.h b/deal.II/lac/include/lac/solver_richardson.h index 4ad356a1b8..7850c5c403 100644 --- a/deal.II/lac/include/lac/solver_richardson.h +++ b/deal.II/lac/include/lac/solver_richardson.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/solver_selector.h b/deal.II/lac/include/lac/solver_selector.h index 30d94dfc5b..be805096f7 100644 --- a/deal.II/lac/include/lac/solver_selector.h +++ b/deal.II/lac/include/lac/solver_selector.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -94,9 +94,9 @@ class SolverSelector : public Subscriptor * the @p{SolverControl} and the * @p{VectorMemory} as argument. */ - SolverSelector(const string solvername, - SolverControl &control, - VectorMemory &vectorm); + SolverSelector (const std::string &solvername, + SolverControl &control, + VectorMemory &vectorm); /** * Destructor @@ -148,20 +148,20 @@ class SolverSelector : public Subscriptor * Get the names of all implemented * solvers. */ - static string get_solver_names (); + static std::string get_solver_names (); /** * Exception. */ DeclException1 (ExcSolverDoesNotExist, - string, << "Solver " << arg1 << " does not exist. Use one of " - << endl << get_solver_names()); + std::string, << "Solver " << arg1 << " does not exist. Use one of " + << std::endl << get_solver_names()); protected: /** * Stores the Name of the solver. */ - string solver_name; + std::string solver_name; /** * Stores the @p{SolverControl} that @@ -204,8 +204,8 @@ class SolverSelector : public Subscriptor template -SolverSelector::SolverSelector(string solver_name, - SolverControl &control, +SolverSelector::SolverSelector(const std::string &solver_name, + SolverControl &control, VectorMemory &vector_memory) : solver_name(solver_name), control(&control), @@ -258,7 +258,7 @@ SolverSelector::solve(const Matrix &A, template -string SolverSelector::get_solver_names() +std::string SolverSelector::get_solver_names() { return "richardson|cg|bicgstab|gmres"; }; diff --git a/deal.II/lac/include/lac/sparse_ilu.h b/deal.II/lac/include/lac/sparse_ilu.h index e87efffec7..15f1d3990e 100644 --- a/deal.II/lac/include/lac/sparse_ilu.h +++ b/deal.II/lac/include/lac/sparse_ilu.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/include/lac/sparse_ilu.templates.h b/deal.II/lac/include/lac/sparse_ilu.templates.h index e32255de43..753f3b4093 100644 --- a/deal.II/lac/include/lac/sparse_ilu.templates.h +++ b/deal.II/lac/include/lac/sparse_ilu.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -73,9 +73,9 @@ void SparseILU::decompose (const SparseMatrix &matrix, if (true) { // preset the elements - fill_n (&global_entry(0), - n_nonzero_elements(), - 0); + std::fill_n (&global_entry(0), + n_nonzero_elements(), + 0); // note: pointers to the sparsity // pattern of the old matrix! @@ -159,9 +159,9 @@ void SparseILU::decompose (const SparseMatrix &matrix, const unsigned int * first_of_row = &column_numbers[rowstart_indices[row]+1]; const unsigned int * first_after_diagonal - = lower_bound (&column_numbers[rowstart_indices[row]+1], - &column_numbers[rowstart_indices[row+1]], - row); + = std::lower_bound (&column_numbers[rowstart_indices[row]+1], + &column_numbers[rowstart_indices[row+1]], + row); // k := *col_ptr for (const unsigned int * col_ptr = first_of_row; col_ptr!=first_after_diagonal; ++col_ptr) @@ -301,9 +301,9 @@ void SparseILU::apply_decomposition (Vector &dst, // find the position where the part // right of the diagonal starts const unsigned int * const first_after_diagonal - = lower_bound (rowstart, - &column_numbers[rowstart_indices[row+1]], - row); + = std::lower_bound (rowstart, + &column_numbers[rowstart_indices[row+1]], + row); for (const unsigned int * col=rowstart; col!=first_after_diagonal; ++col) dst(row) -= global_entry (col-column_numbers) * dst(*col); @@ -324,9 +324,9 @@ void SparseILU::apply_decomposition (Vector &dst, // find the position where the part // right of the diagonal starts const unsigned int * const first_after_diagonal - = lower_bound (&column_numbers[rowstart_indices[row]+1], - &column_numbers[rowstart_indices[row+1]], - static_cast(row)); + = std::lower_bound (&column_numbers[rowstart_indices[row]+1], + &column_numbers[rowstart_indices[row+1]], + static_cast(row)); for (const unsigned int * col=first_after_diagonal; col!=rowend; ++col) dst(row) -= global_entry (col-column_numbers) * dst(*col); diff --git a/deal.II/lac/include/lac/sparse_matrix.h b/deal.II/lac/include/lac/sparse_matrix.h index 09d9ad660a..5715830ad8 100644 --- a/deal.II/lac/include/lac/sparse_matrix.h +++ b/deal.II/lac/include/lac/sparse_matrix.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -672,7 +672,7 @@ class SparseMatrix : public Subscriptor * nonzero entry of the matrix * per line. */ - void print (ostream &out) const; + void print (std::ostream &out) const; /** * Print the matrix in the usual @@ -714,7 +714,7 @@ class SparseMatrix : public Subscriptor * output if applied to a large matrix! * Be careful with it. */ - void print_formatted (ostream &out, + void print_formatted (std::ostream &out, const unsigned int precision = 3, const bool scientific = true, const unsigned int width = 0, @@ -873,7 +873,7 @@ class SparseMatrix : public Subscriptor void threaded_residual (Vector &dst, const Vector &u, const Vector &b, - const pair interval, + const std::pair interval, somenumber *partial_norm) const; diff --git a/deal.II/lac/include/lac/sparse_matrix.templates.h b/deal.II/lac/include/lac/sparse_matrix.templates.h index 4bf1714dde..fd2153f3e7 100644 --- a/deal.II/lac/include/lac/sparse_matrix.templates.h +++ b/deal.II/lac/include/lac/sparse_matrix.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -114,7 +114,7 @@ SparseMatrix::reinit () }; if (val) - fill_n (&val[0], N, 0); + std::fill_n (&val[0], N, 0); } @@ -168,8 +168,8 @@ unsigned int SparseMatrix::n_actually_nonzero_elements () const { Assert (cols != 0, ExcMatrixNotInitialized()); - return count_if(&val[0], &val[n_nonzero_elements ()], - bind2nd(not_equal_to(), 0)); + return std::count_if(&val[0], &val[n_nonzero_elements ()], + std::bind2nd(std::not_equal_to(), 0)); }; @@ -220,8 +220,8 @@ SparseMatrix::copy_from (const SparseMatrix &matrix) Assert (val != 0, ExcMatrixNotInitialized()); Assert (cols == matrix.cols, ExcDifferentSparsityPatterns()); - copy (&matrix.val[0], &matrix.val[cols->n_nonzero_elements()], - &val[0]); + std::copy (&matrix.val[0], &matrix.val[cols->n_nonzero_elements()], + &val[0]); return *this; }; @@ -414,7 +414,7 @@ SparseMatrix::matrix_norm_square (const Vector& v) const // space for the norms of // the different parts - vector partial_sums (n_threads, 0); + std::vector partial_sums (n_threads, 0); Threads::ThreadManager thread_manager; // spawn some jobs... for (unsigned int i=0; i::matrix_scalar_product (const Vector& u, // space for the norms of // the different parts - vector partial_sums (n_threads, 0); + std::vector partial_sums (n_threads, 0); Threads::ThreadManager thread_manager; // spawn some jobs... for (unsigned int i=0; i::residual (Vector &dst, // space for the square norms of // the different parts - vector partial_norms (n_threads, 0); + std::vector partial_norms (n_threads, 0); Threads::ThreadManager thread_manager; for (unsigned int i=0; i::threaded_residual (Vector &dst, const Vector &u, const Vector &b, - const pair interval, + const std::pair interval, somenumber *partial_norm) const { const unsigned int begin_row = interval.first, @@ -774,9 +774,10 @@ SparseMatrix::precondition_SSOR (Vector& dst, // line denotes the diagonal element, // which we need not check. const unsigned int first_right_of_diagonal_index - = (lower_bound (&cols->colnums[*rowstart_ptr+1], - &cols->colnums[*(rowstart_ptr+1)], - row) - + = (std::lower_bound (&cols->colnums[*rowstart_ptr+1], + &cols->colnums[*(rowstart_ptr+1)], + row) + - &cols->colnums[0]); for (unsigned int j=(*rowstart_ptr)+1; j::precondition_SSOR (Vector& dst, for (int row=n-1; row>=0; --row, --rowstart_ptr, --dst_ptr) { const unsigned int first_right_of_diagonal_index - = (lower_bound (&cols->colnums[*rowstart_ptr+1], - &cols->colnums[*(rowstart_ptr+1)], - static_cast(row)) - + = (std::lower_bound (&cols->colnums[*rowstart_ptr+1], + &cols->colnums[*(rowstart_ptr+1)], + static_cast(row)) - &cols->colnums[0]); for (unsigned int j=first_right_of_diagonal_index; j<*(rowstart_ptr+1); ++j) if (cols->colnums[j] > static_cast(row)) @@ -990,6 +991,7 @@ SparseMatrix::SSOR (Vector& dst, const number om) const } + template const SparsityPattern & SparseMatrix::get_sparsity_pattern () const @@ -999,21 +1001,23 @@ SparseMatrix::get_sparsity_pattern () const }; + template -void SparseMatrix::print (ostream &out) const { +void SparseMatrix::print (std::ostream &out) const +{ Assert (cols != 0, ExcMatrixNotInitialized()); Assert (val != 0, ExcMatrixNotInitialized()); for (unsigned int i=0; irows; ++i) for (unsigned int j=cols->rowstart[i]; jrowstart[i+1]; ++j) - out << "(" << i << "," << cols->colnums[j] << ") " << val[j] << endl; + out << "(" << i << "," << cols->colnums[j] << ") " << val[j] << std::endl; AssertThrow (out, ExcIO()); }; template -void SparseMatrix::print_formatted (ostream &out, +void SparseMatrix::print_formatted (std::ostream &out, const unsigned int precision, bool scientific, unsigned int width, @@ -1026,11 +1030,11 @@ void SparseMatrix::print_formatted (ostream &out, out.precision (precision); if (scientific) { - out.setf (ios::scientific, ios::floatfield); + out.setf (std::ios::scientific, std::ios::floatfield); if (!width) width = precision+7; } else { - out.setf (ios::fixed, ios::floatfield); + out.setf (std::ios::fixed, std::ios::floatfield); if (!width) width = precision+2; } @@ -1039,17 +1043,17 @@ void SparseMatrix::print_formatted (ostream &out, { for (unsigned int j=0; joperator()(i,j)] * denominator << ' '; else - out << setw(width) << zero_string << ' '; - out << endl; + out << std::setw(width) << zero_string << ' '; + out << std::endl; }; AssertThrow (out, ExcIO()); // see above -// out.setf (0, ios::floatfield); // reset output format +// out.setf (0, std::ios::floatfield); // reset output format }; diff --git a/deal.II/lac/include/lac/sparse_vanka.h b/deal.II/lac/include/lac/sparse_vanka.h index af1907743c..b13b58b1c0 100644 --- a/deal.II/lac/include/lac/sparse_vanka.h +++ b/deal.II/lac/include/lac/sparse_vanka.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -14,7 +14,6 @@ #define __deal2__sparse_vanka_h -/* Copyright Guido Kanschat, Wolfgang Bangerth 1999, 2000 */ #include @@ -186,7 +185,7 @@ class SparseVanka * @p{multithread_info.n_default_threads}. */ SparseVanka(const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const bool conserve_memory = false, const unsigned int n_threads = multithread_info.n_default_threads); @@ -261,9 +260,9 @@ class SparseVanka * with a null pointer */ template - void apply_preconditioner (Vector &dst, - const Vector &src, - const vector *dof_mask = 0) const; + void apply_preconditioner (Vector &dst, + const Vector &src, + const std::vector *dof_mask = 0) const; /** * Determine an estimate for the @@ -287,7 +286,7 @@ class SparseVanka * Indices of those degrees of * freedom that we shall work on. */ - const vector &selected; + const std::vector &selected; /** * Number of threads to be used @@ -303,7 +302,7 @@ class SparseVanka * Only those elements will be used * that are tagged in @p{selected}. */ - mutable vector > > inverses; + mutable std::vector > > inverses; /** * Compute the inverses of all @@ -339,8 +338,8 @@ class SparseVanka * the case where this function * re-creates it each time. */ - void compute_inverse (const unsigned int row, - vector &local_indices); + void compute_inverse (const unsigned int row, + std::vector &local_indices); }; @@ -513,7 +512,7 @@ class SparseBlockVanka : public SparseVanka * @p{n_blocks} to the base class. */ SparseBlockVanka (const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const unsigned int n_blocks, const BlockingStrategy blocking_strategy, const bool conserve_memory = false, @@ -553,7 +552,7 @@ class SparseBlockVanka : public SparseVanka * recomputing each time the * preconditioner is called. */ - vector > dof_masks; + std::vector > dof_masks; /** * Compute the contents of the @@ -562,7 +561,7 @@ class SparseBlockVanka : public SparseVanka * constructor. */ void compute_dof_masks (const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const BlockingStrategy blocking_strategy); }; diff --git a/deal.II/lac/include/lac/sparse_vanka.templates.h b/deal.II/lac/include/lac/sparse_vanka.templates.h index ff6f398ff6..d262748974 100644 --- a/deal.II/lac/include/lac/sparse_vanka.templates.h +++ b/deal.II/lac/include/lac/sparse_vanka.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -30,7 +30,7 @@ template SparseVanka::SparseVanka(const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const bool conserve_mem, const unsigned int n_threads) : @@ -51,7 +51,7 @@ SparseVanka::SparseVanka(const SparseMatrix &M, template SparseVanka::~SparseVanka() { - vector > >::iterator i; + std::vector > >::iterator i; for(i=inverses.begin(); i!=inverses.end(); ++i) { FullMatrix *p = *i; @@ -87,7 +87,7 @@ SparseVanka::compute_inverses () // consecutive, with other // consecutive regions where we do // not have to do something - vector > blocking (n_threads); + std::vector > blocking (n_threads); unsigned int c = 0; unsigned int thread = 0; @@ -134,7 +134,7 @@ SparseVanka::compute_inverses (const unsigned int begin, // set-up the vector that will be used // by the functions which we call // below. - vector local_indices; + std::vector local_indices; // traverse all rows of the matrix // which are selected @@ -147,8 +147,8 @@ SparseVanka::compute_inverses (const unsigned int begin, template void -SparseVanka::compute_inverse (const unsigned int row, - vector &local_indices) +SparseVanka::compute_inverse (const unsigned int row, + std::vector &local_indices) { // first define an alias to the sparsity // pattern of the matrix, since this @@ -207,9 +207,9 @@ SparseVanka::vmult (Vector &dst, template template void -SparseVanka::apply_preconditioner (Vector &dst, - const Vector &src, - const vector *const dof_mask) const +SparseVanka::apply_preconditioner (Vector &dst, + const Vector &src, + const std::vector *const dof_mask) const { Assert (dst.size() == src.size(), ExcInvalidVectorSize(dst.size(), src.size())); @@ -241,7 +241,7 @@ SparseVanka::apply_preconditioner (Vector &dst, Vector b (structure.max_entries_per_row()); Vector x (structure.max_entries_per_row()); - map local_index; + std::map local_index; // traverse all rows of the matrix // which are selected @@ -280,11 +280,11 @@ SparseVanka::apply_preconditioner (Vector &dst, // couple with @p{row}. local_index.clear (); for (unsigned int i=0; i + local_index.insert(std::pair (structure.column_number(row, i), i)); // Build local matrix and rhs - for (map::const_iterator is=local_index.begin(); + for (std::map::const_iterator is=local_index.begin(); is!=local_index.end(); ++is) { // irow loops over all DoFs that @@ -313,7 +313,7 @@ SparseVanka::apply_preconditioner (Vector &dst, // which itself couples with // @p{row}) also couples with // @p{row}. - const map::const_iterator js + const std::map::const_iterator js = local_index.find(col); // if not, then still use // this dof to modify the rhs @@ -342,7 +342,7 @@ SparseVanka::apply_preconditioner (Vector &dst, inverses[row]->vmult(x,b); // Distribute new values - for (map::const_iterator is=local_index.begin(); + for (std::map::const_iterator is=local_index.begin(); is!=local_index.end(); ++is) { const unsigned int irow = is->first; @@ -382,7 +382,7 @@ SparseVanka::memory_consumption () const template SparseBlockVanka::SparseBlockVanka (const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const unsigned int n_blocks, const BlockingStrategy blocking_strategy, const bool conserve_memory, @@ -391,7 +391,7 @@ SparseBlockVanka::SparseBlockVanka (const SparseMatrix &M, SparseVanka (M, selected, conserve_memory, n_threads), n_blocks (n_blocks), dof_masks (n_blocks, - vector(M.m(), false)) + std::vector(M.m(), false)) { compute_dof_masks (M, selected, blocking_strategy); }; @@ -400,7 +400,7 @@ SparseBlockVanka::SparseBlockVanka (const SparseMatrix &M, template void SparseBlockVanka::compute_dof_masks (const SparseMatrix &M, - const vector &selected, + const std::vector &selected, const BlockingStrategy blocking_strategy) { Assert (n_blocks > 0, ExcInternalError()); @@ -409,11 +409,10 @@ SparseBlockVanka::compute_dof_masks (const SparseMatrix &M, selected.end(), true); - const unsigned int n_inverses_per_block = max(n_inverses / n_blocks, - 1U); + const unsigned int n_inverses_per_block = std::max(n_inverses / n_blocks, 1U); // precompute the splitting points - vector > intervals (n_blocks); + std::vector > intervals (n_blocks); // set up start and end index for // each of the blocks. note that @@ -483,14 +482,14 @@ SparseBlockVanka::compute_dof_masks (const SparseMatrix &M, // Lagrange dofs of each // block access the different // dofs - vector > access_count (n_blocks, - vector(M.m(), 0)); + std::vector > + access_count (n_blocks, std::vector(M.m(), 0)); // set-up the map that will // be used to store the // indices each Lagrange dof // accesses - map local_index; + std::map local_index; const SparsityPattern &structure = M.get_sparsity_pattern(); for (unsigned int row=0; row &row_lengths); + SparsityPattern (const unsigned int m, + const unsigned int n, + const std::vector &row_lengths); /** * Initialize a square matrix of dimension @@ -204,8 +204,8 @@ class SparsityPattern : public Subscriptor * row is given by the * @p{row_lengths} array. */ - SparsityPattern (const unsigned int m, - const vector &row_lengths); + SparsityPattern (const unsigned int m, + const std::vector &row_lengths); /** * Copy operator. For this the same holds @@ -290,9 +290,9 @@ class SparsityPattern : public Subscriptor * to save time and to avoid fragmentation * of the heap. */ - void reinit (const unsigned int m, - const unsigned int n, - const vector &row_lengths); + void reinit (const unsigned int m, + const unsigned int n, + const std::vector &row_lengths); /** * This function compresses the sparsity @@ -402,7 +402,7 @@ class SparsityPattern : public Subscriptor * to dots or points and use the * @p{plot} command. */ - void print_gnuplot (ostream &out) const; + void print_gnuplot (std::ostream &out) const; /** * Return number of rows of this @@ -540,7 +540,7 @@ class SparsityPattern : public Subscriptor DeclException2 (ExcNotEnoughSpace, int, int, << "Upon entering a new entry to row " << arg1 - << ": there was no free entry any more. " << endl + << ": there was no free entry any more. " << std::endl << "(Maximum number of entries for this row: " << arg2 << "; maybe the matrix is already compressed?)"); /** diff --git a/deal.II/lac/include/lac/swappable_vector.h b/deal.II/lac/include/lac/swappable_vector.h index d8e172ed51..540a2f408c 100644 --- a/deal.II/lac/include/lac/swappable_vector.h +++ b/deal.II/lac/include/lac/swappable_vector.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000 by the deal.II authors +// Copyright (C) 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -117,7 +117,7 @@ class SwappableVector : public Vector * has previously been called, * then that is deleted first. */ - void swap_out (const string &filename); + void swap_out (const std::string &filename); /** * Reload the data of this vector @@ -219,7 +219,7 @@ class SwappableVector : public Vector * the filename is an empty * string. */ - const string & get_filename () const; + const std::string & get_filename () const; /** * Determine an estimate for the @@ -240,7 +240,7 @@ class SwappableVector : public Vector * Exception. */ DeclException1 (ExcInvalidFilename, - string, + std::string, << "The filename <" << arg1 << "> is not a valid one here."); /** @@ -259,7 +259,7 @@ class SwappableVector : public Vector * empty, indicating no ownership * of files. */ - string filename; + std::string filename; /** * If in multithread mode, then diff --git a/deal.II/lac/include/lac/swappable_vector.templates.h b/deal.II/lac/include/lac/swappable_vector.templates.h index 94f14e652b..964da1c14f 100644 --- a/deal.II/lac/include/lac/swappable_vector.templates.h +++ b/deal.II/lac/include/lac/swappable_vector.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000 by the deal.II authors +// Copyright (C) 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -93,7 +93,7 @@ SwappableVector::operator= (const SwappableVector &v) template -void SwappableVector::swap_out (const string &name) +void SwappableVector::swap_out (const std::string &name) { // if the vector was stored in // another file previously, and @@ -118,7 +118,7 @@ void SwappableVector::swap_out (const string &name) // @p{reload} function Assert (data_is_preloaded == false, ExcInternalError()); - ofstream tmp_out(filename.c_str()); + std::ofstream tmp_out(filename.c_str()); block_write (tmp_out); tmp_out.close (); @@ -203,7 +203,7 @@ void SwappableVector::reload_vector (const bool set_flag) Assert (filename != "", ExcInvalidFilename (filename)); Assert (size() == 0, ExcSizeNonzero()); - ifstream tmp_in(filename.c_str()); + std::ifstream tmp_in(filename.c_str()); block_read (tmp_in); tmp_in.close (); @@ -255,7 +255,7 @@ void SwappableVector::kill_file () template -const string & +const std::string & SwappableVector::get_filename () const { return filename; diff --git a/deal.II/lac/include/lac/vector.h b/deal.II/lac/include/lac/vector.h index dc8f79a22e..b168a51b40 100644 --- a/deal.II/lac/include/lac/vector.h +++ b/deal.II/lac/include/lac/vector.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -43,7 +43,8 @@ * @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth */ template -class Vector { +class Vector +{ public: /** * Declare standard types used in all @@ -418,9 +419,10 @@ class Vector { * Print to a stream. * */ - void print (ostream &, unsigned int precision = 3, - bool scientific = true, - bool across = true) const; + void print (std::ostream &out, + const unsigned int precision = 3, + const bool scientific = true, + const bool across = true) const; /** * Write the vector en bloc to a file. This @@ -430,7 +432,7 @@ class Vector { * a different operating system of number * format. */ - void block_write (ostream &out) const; + void block_write (std::ostream &out) const; /** * Read a vector en block from a file. This @@ -447,7 +449,7 @@ class Vector { * data as a vector stored bitwise to a * file, but not more. */ - void block_read (istream &in); + void block_read (std::istream &in); /** * Determine an estimate for the diff --git a/deal.II/lac/include/lac/vector.templates.h b/deal.II/lac/include/lac/vector.templates.h index 4ef8a4a25c..86ea6db1bf 100644 --- a/deal.II/lac/include/lac/vector.templates.h +++ b/deal.II/lac/include/lac/vector.templates.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -21,7 +21,8 @@ template -static inline Number sqr (const Number x) { +static inline Number sqr (const Number x) +{ return x*x; }; @@ -54,7 +55,7 @@ Vector::Vector (const Vector& v) : { val = new Number[maxdim]; Assert (val != 0, ExcOutOfMemory()); - copy (v.begin(), v.end(), begin()); + std::copy (v.begin(), v.end(), begin()); } } @@ -119,7 +120,7 @@ template void Vector::clear () { if (dim>0) - fill (begin(), end(), 0.); + std::fill (begin(), end(), 0.); } @@ -302,8 +303,8 @@ Number Vector::linfty_norm () const { if (max0 Vector& Vector::operator = (const Number s) { Assert (dim!=0, ExcEmptyVector()); - fill (begin(), end(), s); + std::fill (begin(), end(), s); return *this; } @@ -529,7 +530,7 @@ Vector::operator = (const Vector& v) if (v.dim != dim) reinit (v.dim, true); if (dim!=0) - copy (v.begin(), v.end(), begin()); + std::copy (v.begin(), v.end(), begin()); return *this; } @@ -544,7 +545,7 @@ Vector::operator = (const Vector& v) if (v.size() != dim) reinit (v.size(), true); if (dim!=0) - copy (v.begin(), v.end(), begin()); + std::copy (v.begin(), v.end(), begin()); return *this; } @@ -576,19 +577,19 @@ void Vector::print (const char* format) const template -void Vector::print (ostream &out, - unsigned int precision, - bool scientific, - bool across) const +void Vector::print (std::ostream &out, + const unsigned int precision, + const bool scientific, + const bool across) const { Assert (dim!=0, ExcEmptyVector()); out.precision (precision); if (scientific) { - out.setf (ios::scientific, ios::floatfield); + out.setf (std::ios::scientific, std::ios::floatfield); } else { - out.setf (ios::fixed, ios::floatfield); + out.setf (std::ios::fixed, std::ios::floatfield); } if (across) @@ -596,8 +597,8 @@ void Vector::print (ostream &out, out << val[i] << ' '; else for (unsigned int i=0; i::print (ostream &out, template -void Vector::block_write (ostream &out) const +void Vector::block_write (std::ostream &out) const { AssertThrow (out, ExcIO()); // other version of the following - // out << size() << endl << '['; + // out << size() << std::endl << '['; // reason: operator<< seems to use // some resources that lead to // problems in a multithreaded @@ -636,7 +637,7 @@ void Vector::block_write (ostream &out) const template -void Vector::block_read (istream &in) +void Vector::block_read (std::istream &in) { AssertThrow (in, ExcIO()); @@ -657,7 +658,7 @@ void Vector::block_read (istream &in) in.read (&c, 1); AssertThrow (c=='[', ExcIO()); - in.read (reinterpret_cast(begin()), + in.read (reinterpret_cast(begin()), reinterpret_cast(end()) - reinterpret_cast(begin())); diff --git a/deal.II/lac/include/lac/vector_memory.h b/deal.II/lac/include/lac/vector_memory.h index daca93e7e2..896ea37713 100644 --- a/deal.II/lac/include/lac/vector_memory.h +++ b/deal.II/lac/include/lac/vector_memory.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -151,12 +151,12 @@ class GrowingVectorMemory : public VectorMemory * vector is used, second the * vector itself. */ - typedef pair entry_type; + typedef std::pair entry_type; /** * Array of allocated vectors. */ - vector pool; + std::vector pool; /** * Overall number of allocations. @@ -172,7 +172,7 @@ template GrowingVectorMemory::GrowingVectorMemory(const unsigned int initial_size) : pool(initial_size) { - for (typename vector::iterator i=pool.begin(); + for (typename std::vector::iterator i=pool.begin(); i != pool.end(); ++i) { @@ -188,7 +188,7 @@ template GrowingVectorMemory::~GrowingVectorMemory() { unsigned int n = 0; - for (typename vector::iterator i=pool.begin(); + for (typename std::vector::iterator i=pool.begin(); i != pool.end(); ++i) { @@ -197,12 +197,12 @@ GrowingVectorMemory::~GrowingVectorMemory() delete i->second; } deallog << "GrowingVectorMemory:Overall allocated vectors: " - << n_alloc << endl; + << n_alloc << std::endl; deallog << "GrowingVectorMemory:Maximum allocated vectors: " - << pool.size() << endl; + << pool.size() << std::endl; if (n!=0) deallog << "GrowingVectorMemory:Vectors not deallocated: " - << n << " Memory leak!" << endl; + << n << " Memory leak!" << std::endl; } @@ -212,7 +212,7 @@ Vector* GrowingVectorMemory::alloc() { ++n_alloc; - for (typename vector::iterator i=pool.begin(); + for (typename std::vector::iterator i=pool.begin(); i != pool.end(); ++i) { @@ -235,7 +235,7 @@ template void GrowingVectorMemory::free(const Vector* const v) { - for (typename vector::iterator i=pool.begin();i != pool.end() ;++i) + for (typename std::vector::iterator i=pool.begin();i != pool.end() ;++i) { if (v == (i->second)) { diff --git a/deal.II/lac/source/block_sparse_matrix.cc b/deal.II/lac/source/block_sparse_matrix.cc index 6be484a433..3dd7348ed1 100644 --- a/deal.II/lac/source/block_sparse_matrix.cc +++ b/deal.II/lac/source/block_sparse_matrix.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/block_sparsity_pattern.cc b/deal.II/lac/source/block_sparsity_pattern.cc index 2ffe42ef26..3ffa3bb07a 100644 --- a/deal.II/lac/source/block_sparsity_pattern.cc +++ b/deal.II/lac/source/block_sparsity_pattern.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -60,7 +60,7 @@ BlockSparsityPattern::reinit (const unsigned int r, // set new sizes rows = r; columns = c; - sub_objects.resize (rows, vector > (columns)); + sub_objects.resize (rows, std::vector > (columns)); // allocate new objects for (unsigned int i=0; i row_sizes (rows); - vector col_sizes (columns); + std::vector row_sizes (rows); + std::vector col_sizes (columns); // first find out the row sizes // from the first block column diff --git a/deal.II/lac/source/block_vector.cc b/deal.II/lac/source/block_vector.cc index 0fc335ad69..a085184bb6 100644 --- a/deal.II/lac/source/block_vector.cc +++ b/deal.II/lac/source/block_vector.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/full_matrix.double.cc b/deal.II/lac/source/full_matrix.double.cc index c55dc1760e..199a68311a 100644 --- a/deal.II/lac/source/full_matrix.double.cc +++ b/deal.II/lac/source/full_matrix.double.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -125,9 +125,9 @@ FullMatrix::invert (const FullMatrix &M) // double condition = s[0]/s[dim_range-1]; if (info!=0) - deallog << "inverting error " << info << ' ' << erg << endl; + deallog << "inverting error " << info << ' ' << erg << std::endl; if (rank<(int)dim_range) - deallog << "rank deficiency " << rank << endl; + deallog << "rank deficiency " << rank << std::endl; delete[] work; delete[] s; delete[] matrix; diff --git a/deal.II/lac/source/full_matrix.float.cc b/deal.II/lac/source/full_matrix.float.cc index e5d88d8a9f..3ad09c4b29 100644 --- a/deal.II/lac/source/full_matrix.float.cc +++ b/deal.II/lac/source/full_matrix.float.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/precondition_block.cc b/deal.II/lac/source/precondition_block.cc index 0427e542e8..193c67f049 100644 --- a/deal.II/lac/source/precondition_block.cc +++ b/deal.II/lac/source/precondition_block.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/solver_control.cc b/deal.II/lac/source/solver_control.cc index e56f9951ed..e8e48ea025 100644 --- a/deal.II/lac/source/solver_control.cc +++ b/deal.II/lac/source/solver_control.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -88,7 +88,7 @@ SolverControl::check (const unsigned int step, { if (_log_result) deallog << "Convergence step " << step - << " value " << check_value << endl; + << " value " << check_value << endl; return success; } diff --git a/deal.II/lac/source/sparse_ilu.cc b/deal.II/lac/source/sparse_ilu.cc index 3aa33b6997..c15b4f43b6 100644 --- a/deal.II/lac/source/sparse_ilu.cc +++ b/deal.II/lac/source/sparse_ilu.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/sparse_matrix.double.cc b/deal.II/lac/source/sparse_matrix.double.cc index 69ca4421c0..da61ded2aa 100644 --- a/deal.II/lac/source/sparse_matrix.double.cc +++ b/deal.II/lac/source/sparse_matrix.double.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/sparse_matrix.float.cc b/deal.II/lac/source/sparse_matrix.float.cc index b239526912..4825be0df8 100644 --- a/deal.II/lac/source/sparse_matrix.float.cc +++ b/deal.II/lac/source/sparse_matrix.float.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/sparse_matrix.long_double.cc b/deal.II/lac/source/sparse_matrix.long_double.cc index 50a8cadfb3..055c8423ed 100644 --- a/deal.II/lac/source/sparse_matrix.long_double.cc +++ b/deal.II/lac/source/sparse_matrix.long_double.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/sparse_vanka.cc b/deal.II/lac/source/sparse_vanka.cc index 9828eea8dd..c61cf045a2 100644 --- a/deal.II/lac/source/sparse_vanka.cc +++ b/deal.II/lac/source/sparse_vanka.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/sparsity_pattern.cc b/deal.II/lac/source/sparsity_pattern.cc index d875283768..cb90d28264 100644 --- a/deal.II/lac/source/sparsity_pattern.cc +++ b/deal.II/lac/source/sparsity_pattern.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -67,9 +67,9 @@ SparsityPattern::SparsityPattern (const unsigned int m, -SparsityPattern::SparsityPattern (const unsigned int m, - const unsigned int n, - const vector &row_lengths) +SparsityPattern::SparsityPattern (const unsigned int m, + const unsigned int n, + const std::vector &row_lengths) : max_dim(0), max_vec_len(0), rowstart(0), @@ -92,8 +92,8 @@ SparsityPattern::SparsityPattern (const unsigned int n, -SparsityPattern::SparsityPattern (const unsigned int m, - const vector &row_lengths) +SparsityPattern::SparsityPattern (const unsigned int m, + const std::vector &row_lengths) : max_dim(0), max_vec_len(0), rowstart(0), @@ -156,17 +156,17 @@ SparsityPattern::SparsityPattern (const SparsityPattern &original, const unsigned int * const original_last_before_side_diagonals = (row > extra_off_diagonals ? - lower_bound (original_row_start, - original_row_end, - row-extra_off_diagonals) : + std::lower_bound (original_row_start, + original_row_end, + row-extra_off_diagonals) : original_row_start); const unsigned int * const original_first_after_side_diagonals = (row < rows-extra_off_diagonals-1 ? - upper_bound (original_row_start, - original_row_end, - row+extra_off_diagonals) : + std::upper_bound (original_row_start, + original_row_end, + row+extra_off_diagonals) : original_row_end); // find first free slot. the @@ -175,22 +175,22 @@ SparsityPattern::SparsityPattern (const SparsityPattern &original, unsigned int * next_free_slot = &colnums[rowstart[row]] + 1; // copy elements before side-diagonals - next_free_slot = copy (original_row_start, - original_last_before_side_diagonals, - next_free_slot); + next_free_slot = std::copy (original_row_start, + original_last_before_side_diagonals, + next_free_slot); // insert left and right side-diagonals - for (unsigned int i=1; i<=min(row,extra_off_diagonals); + for (unsigned int i=1; i<=std::min(row,extra_off_diagonals); ++i, ++next_free_slot) *next_free_slot = row-i; - for (unsigned int i=1; i<=min(extra_off_diagonals, rows-row-1); + for (unsigned int i=1; i<=std::min(extra_off_diagonals, rows-row-1); ++i, ++next_free_slot) *next_free_slot = row+i; // copy rest - next_free_slot = copy (original_first_after_side_diagonals, - original_row_end, - next_free_slot); + next_free_slot = std::copy (original_first_after_side_diagonals, + original_row_end, + next_free_slot); // this error may happen if the // sum of previous elements per row @@ -238,16 +238,16 @@ SparsityPattern::reinit (const unsigned int m, { // simply map this function to the // other @p{reinit} function - const vector row_lengths (m, max_per_row); + const std::vector row_lengths (m, max_per_row); reinit (m, n, row_lengths); }; void -SparsityPattern::reinit (const unsigned int m, - const unsigned int n, - const vector &row_lengths) +SparsityPattern::reinit (const unsigned int m, + const unsigned int n, + const std::vector &row_lengths) { Assert (((m==0) && (n==0)) || (*max_element(row_lengths.begin(), row_lengths.end()) > 0), ExcInvalidNumber(*max_element(row_lengths.begin(), row_lengths.end()))); @@ -282,12 +282,12 @@ SparsityPattern::reinit (const unsigned int m, // columns unsigned int vec_len = 0; for (unsigned int i=0; i(), invalid_entry)); + const unsigned int nonzero_elements + = std::count_if (&colnums[rowstart[0]], + &colnums[rowstart[rows]], + std::bind2nd(std::not_equal_to(), invalid_entry)); // now allocate the respective memory unsigned int *new_colnums = new unsigned int[nonzero_elements]; // reserve temporary storage to // store the entries of one row - vector tmp_entries (max_row_length); + std::vector tmp_entries (max_row_length); // Traverse all rows for (unsigned int line=0; line(i) << endl; + out << colnums[j] << " " << -static_cast(i) << std::endl; AssertThrow (out, ExcIO()); } diff --git a/deal.II/lac/source/swappable_vector.cc b/deal.II/lac/source/swappable_vector.cc index cf197881b0..d0883b43f6 100644 --- a/deal.II/lac/source/swappable_vector.cc +++ b/deal.II/lac/source/swappable_vector.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000 by the deal.II authors +// Copyright (C) 1999, 2000, 2001 by the deal authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer diff --git a/deal.II/lac/source/vector.cc b/deal.II/lac/source/vector.cc index 79bc6a33bb..2ff0e2217f 100644 --- a/deal.II/lac/source/vector.cc +++ b/deal.II/lac/source/vector.cc @@ -1,15 +1,15 @@ -//---------------------------- vector.cc --------------------------- +//---------------------------- std::vector.cc --------------------------- // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer // to the file deal.II/doc/license.html for the text and // further information on this license. // -//---------------------------- vector.cc --------------------------- +//---------------------------- std::vector.cc --------------------------- #include diff --git a/deal.II/lac/source/vector.long_double.cc b/deal.II/lac/source/vector.long_double.cc index 7e49c8ce26..86b8d00969 100644 --- a/deal.II/lac/source/vector.long_double.cc +++ b/deal.II/lac/source/vector.long_double.cc @@ -1,15 +1,15 @@ -//---------------------------- vector.long_double.cc --------------------------- +//---------------------------- std::vector.long_double.cc --------------------------- // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer // to the file deal.II/doc/license.html for the text and // further information on this license. // -//---------------------------- vector.long_double.cc --------------------------- +//---------------------------- std::vector.long_double.cc --------------------------- #include -- 2.39.5