]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
stop copying BlockList
authorkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 17 Jun 2011 21:45:56 +0000 (21:45 +0000)
committerkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 17 Jun 2011 21:45:56 +0000 (21:45 +0000)
git-svn-id: https://svn.dealii.org/trunk@23839 0785d39b-7218-0410-832d-ea1e28bc413d

tests/lac/solver_relaxation_02.cc
tests/lac/solver_relaxation_03.cc

index 7777f5b86e660e22f70ca5ada577bb7cf1addd13..268e6860650be9670dab438bf9940e469e7c7787 100644 (file)
@@ -80,20 +80,19 @@ int main()
          deallog << "Block size " << blocksize << std::endl;
 
          const unsigned int n_blocks = dim/blocksize;
-         BlockList blist;
-         blist.initialize(n_blocks);
          std::vector<unsigned int> indices(blocksize);
          
+         RelaxationBlock<SparseMatrix<double>,double>::AdditionalData relax_data(0.8);
+         PreconditionBlock<SparseMatrix<double>,double>::AdditionalData prec_data(blocksize, 0.8);
+         
+         relax_data.block_list.initialize(n_blocks);
          for (unsigned int block=0;block<n_blocks;++block)
            {
              for (unsigned int i=0;i<blocksize;++i)
                indices[i] = i+block*blocksize;
-             blist.add(block, indices);
+             relax_data.block_list.add(block, indices);
            }
          
-         RelaxationBlock<SparseMatrix<double>,double>::AdditionalData relax_data(blist, 0.8);
-         PreconditionBlock<SparseMatrix<double>,double>::AdditionalData prec_data(blocksize, 0.8);
-         
          PreconditionBlockJacobi<SparseMatrix<double>,double> prec_jacobi;
          prec_jacobi.initialize(A, prec_data);
          PreconditionBlockSOR<SparseMatrix<double>,double> prec_sor;
index fb94938d26c840e46f517e6379e424c99f185f03..58f6a4d51ead5744d5664368256b69314a6bb644 100644 (file)
@@ -85,20 +85,22 @@ int main()
          deallog << "Block size " << blocksize << std::endl;
 
          const unsigned int n_blocks = dim/blocksize;
-         BlockList blist;
-         blist.initialize(n_blocks);
          std::vector<unsigned int> indices(blocksize);
 
+         RelaxationBlock<SparseMatrix<double>,double>::AdditionalData relax_data(0.8);
+         PreconditionBlock<SparseMatrix<double>,double>::AdditionalData prec_data(blocksize, 0.8);
+         
                                           // The permutation vectors;
          std::vector<unsigned int> bperm(n_blocks);
          std::vector<unsigned int> ibperm(n_blocks);
          
+         relax_data.block_list.initialize(n_blocks);
          for (unsigned int block=0;block<n_blocks;++block)
            {
              bperm[block] = n_blocks-block-1;
              for (unsigned int i=0;i<blocksize;++i)
                indices[i] = i+block*blocksize;
-             blist.add(block, indices);
+             relax_data.block_list.add(block, indices);
            }
                                           // Currently, bperm is just
                                           // the inversion.
@@ -126,9 +128,6 @@ int main()
 
          deallog << "Size " << bperm.size() << std::endl;
          
-         RelaxationBlock<SparseMatrix<double>,double>::AdditionalData relax_data(blist, 0.8);
-         PreconditionBlock<SparseMatrix<double>,double>::AdditionalData prec_data(blocksize, 0.8);
-         
          PreconditionBlockJacobi<SparseMatrix<double>,double> prec_jacobi;
          prec_jacobi.initialize(A, perm, iperm, prec_data);
          PreconditionBlockSOR<SparseMatrix<double>,double> prec_sor;

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.