]> https://gitweb.dealii.org/ - dealii.git/commitdiff
fix MGMatrixSimple::assemble
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Tue, 24 Nov 2009 22:31:23 +0000 (22:31 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Tue, 24 Nov 2009 22:31:23 +0000 (22:31 +0000)
git-svn-id: https://svn.dealii.org/trunk@20160 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/numerics/mesh_worker_assembler.h

index eb9dea657f0a4186b7ef74da4f4260d758cfe722..3eae97e4959a8241cac9d7a8994d2323e4029c77 100644 (file)
@@ -1192,7 +1192,8 @@ namespace MeshWorker
     inline void
     MGMatrixSimple<MATRIX>::assemble(const DoFInfo<dim>& info)
     {
-      assemble(info.M1[0].matrix, info.indices, info.indices);
+      const unsigned int level = info.cell->level();
+      assemble((*matrix)[level], info.M1[0].matrix, info.indices, info.indices);
     }
     
 
@@ -1207,10 +1208,10 @@ namespace MeshWorker
       
       if (level1 == level2)
        {
-         assemble(matrix[level1], info1.M1[0].matrix, info1.indices, info1.indices);
-         assemble(matrix[level1], info1.M2[0].matrix, info1.indices, info2.indices);
-         assemble(matrix[level1], info2.M1[0].matrix, info2.indices, info2.indices);
-         assemble(matrix[level1], info2.M2[0].matrix, info2.indices, info1.indices);
+         assemble((*matrix)[level1], info1.M1[0].matrix, info1.indices, info1.indices);
+         assemble((*matrix)[level1], info1.M2[0].matrix, info1.indices, info2.indices);
+         assemble((*matrix)[level1], info2.M1[0].matrix, info2.indices, info2.indices);
+         assemble((*matrix)[level1], info2.M2[0].matrix, info2.indices, info1.indices);
        }
       else
        {
@@ -1218,9 +1219,9 @@ namespace MeshWorker
                                           // Do not add info2.M1,
                                           // which is done by
                                           // the coarser cell
-         assemble(matrix[level1], info1.M1[0].matrix, info1.indices, info1.indices);
-         assemble(flux_up[level1],info1.M2[0].matrix, info1.indices, info2.indices, true);
-         assemble(flux_down[level1], info2.M2[0].matrix, info2.indices, info1.indices);
+         assemble((*matrix)[level1], info1.M1[0].matrix, info1.indices, info1.indices);
+         assemble((*flux_up)[level1],info1.M2[0].matrix, info1.indices, info2.indices, true);
+         assemble((*flux_down)[level1], info2.M2[0].matrix, info2.indices, info1.indices);
        }
     }
     

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.