From 4ad3f2e7d169865e4131bfcac84462ee7a9342de Mon Sep 17 00:00:00 2001 From: bangerth Date: Sun, 21 Sep 2008 04:41:13 +0000 Subject: [PATCH] Remove the Epetra_Maps and the communicator objects necessary for that. git-svn-id: https://svn.dealii.org/trunk@16878 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-31/step-31.cc | 98 ++++++++++++----------------- 1 file changed, 41 insertions(+), 57 deletions(-) diff --git a/deal.II/examples/step-31/step-31.cc b/deal.II/examples/step-31/step-31.cc index 46821aaa83..f0ff402482 100644 --- a/deal.II/examples/step-31/step-31.cc +++ b/deal.II/examples/step-31/step-31.cc @@ -13,29 +13,22 @@ // @sect3{Include files} - // We include the functionality - // of these well-known deal.II - // library files and some C++ - // header files. + // The first step, as always, is to include + // the functionality of these well-known + // deal.II library files and some C++ header + // files. #include #include -#include #include #include #include #include -#include -#include -#include -#include -#include #include #include #include #include -#include #include #include @@ -48,27 +41,39 @@ #include #include #include -#include #include -#include #include #include #include -#ifdef DEAL_II_COMPILER_SUPPORTS_MPI -# include -#else -# include -#endif -#include + // Then we need to include some header files + // that provide vector, matrix, and + // preconditioner classes that implement + // interfaces to the respective Trilinos + // classes. In particular, we will need + // interfaces to the matrix and vector + // classes based on Trilinos as well as + // generic preconditioners and the Trilinos + // Algebraic Multigrid (AMG) preconditioner + // that we will use for the $A$ block of the + // Stokes matrix: +#include +#include +#include +#include +#include + // Finally, here are two C++ headers that + // haven't been included yet by one of the + // aforelisted header files: #include #include - // Next, we import all deal.II - // names into global namespace + // At the end of this top-matter, we import + // all deal.II names into the global + // namespace: using namespace dealii; @@ -527,12 +532,6 @@ class BoussinesqFlowProblem const double old_time_step); -#ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator; -#else - Epetra_SerialComm trilinos_communicator; -#endif - Triangulation triangulation; const unsigned int stokes_degree; @@ -540,7 +539,7 @@ class BoussinesqFlowProblem DoFHandler stokes_dof_handler; ConstraintMatrix stokes_constraints; - std::vector stokes_partitioner; + std::vector stokes_block_sizes; TrilinosWrappers::BlockSparseMatrix stokes_matrix; TrilinosWrappers::BlockSparseMatrix stokes_preconditioner_matrix; @@ -553,7 +552,6 @@ class BoussinesqFlowProblem DoFHandler temperature_dof_handler; ConstraintMatrix temperature_constraints; - Epetra_Map temperature_partitioner; TrilinosWrappers::SparseMatrix temperature_mass_matrix; TrilinosWrappers::SparseMatrix temperature_stiffness_matrix; TrilinosWrappers::SparseMatrix temperature_matrix; @@ -596,9 +594,6 @@ class BoussinesqFlowProblem template BoussinesqFlowProblem::BoussinesqFlowProblem () : -#ifdef DEAL_II_COMPILER_SUPPORTS_MPI - trilinos_communicator (MPI_COMM_WORLD), -#endif triangulation (Triangulation::maximum_smoothing), stokes_degree (1), @@ -610,8 +605,6 @@ BoussinesqFlowProblem::BoussinesqFlowProblem () temperature_fe (temperature_degree), temperature_dof_handler (triangulation), - temperature_partitioner (0, 0, trilinos_communicator), - time_step (0), old_time_step (0), timestep_number (0), @@ -920,13 +913,9 @@ void BoussinesqFlowProblem::setup_dofs () // need to reassign the // system matrix structure to // the sparsity pattern. - stokes_partitioner.clear(); - { - Epetra_Map map_u(n_u, 0, trilinos_communicator); - stokes_partitioner.push_back (map_u); - Epetra_Map map_p(n_p, 0, trilinos_communicator); - stokes_partitioner.push_back (map_p); - } + stokes_block_sizes.resize (2); + stokes_block_sizes[0] = n_u; + stokes_block_sizes[1] = n_p; { stokes_matrix.clear (); @@ -960,7 +949,7 @@ void BoussinesqFlowProblem::setup_dofs () BlockSparsityPattern stokes_sparsity_pattern; stokes_sparsity_pattern.copy_from (csp); - stokes_matrix.reinit (stokes_partitioner, stokes_sparsity_pattern); + stokes_matrix.reinit (stokes_sparsity_pattern); stokes_matrix.collect_sizes(); } @@ -992,12 +981,10 @@ void BoussinesqFlowProblem::setup_dofs () BlockSparsityPattern stokes_preconditioner_sparsity_pattern; stokes_preconditioner_sparsity_pattern.copy_from (csp); - stokes_preconditioner_matrix.reinit (stokes_partitioner, - stokes_preconditioner_sparsity_pattern); + stokes_preconditioner_matrix.reinit (stokes_preconditioner_sparsity_pattern); stokes_preconditioner_matrix.collect_sizes(); } - temperature_partitioner = Epetra_Map (n_T, 0, trilinos_communicator); { temperature_mass_matrix.clear (); temperature_stiffness_matrix.clear (); @@ -1010,12 +997,9 @@ void BoussinesqFlowProblem::setup_dofs () SparsityPattern temperature_sparsity_pattern; temperature_sparsity_pattern.copy_from (csp); - temperature_matrix.reinit (temperature_partitioner, - temperature_sparsity_pattern); - temperature_mass_matrix.reinit (temperature_partitioner, - temperature_sparsity_pattern); - temperature_stiffness_matrix.reinit (temperature_partitioner, - temperature_sparsity_pattern); + temperature_matrix.reinit (temperature_sparsity_pattern); + temperature_mass_matrix.reinit (temperature_sparsity_pattern); + temperature_stiffness_matrix.reinit (temperature_sparsity_pattern); } // As last action in this function, @@ -1027,14 +1011,14 @@ void BoussinesqFlowProblem::setup_dofs () // three-block structure given // by velocity, pressure and // temperature. - stokes_solution.reinit (stokes_partitioner); - stokes_rhs.reinit (stokes_partitioner); + stokes_solution.reinit (stokes_block_sizes); + stokes_rhs.reinit (stokes_block_sizes); - temperature_solution.reinit (temperature_partitioner); - old_temperature_solution.reinit (temperature_partitioner); - old_old_temperature_solution.reinit (temperature_partitioner); + temperature_solution.reinit (temperature_dof_handler.n_dofs()); + old_temperature_solution.reinit (temperature_dof_handler.n_dofs()); + old_old_temperature_solution.reinit (temperature_dof_handler.n_dofs()); - temperature_rhs.reinit (temperature_partitioner); + temperature_rhs.reinit (temperature_dof_handler.n_dofs()); } -- 2.39.5