]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 6 Mar 1998 17:32:51 +0000 (17:32 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 6 Mar 1998 17:32:51 +0000 (17:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@42 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/Attic/examples/poisson/poisson.cc
tests/big-tests/poisson/poisson.cc

index 47c8848dbaa510da107ffa25818f32e09400090c..f4f0530b0581d7492e0837f8fd2955f516c7a3ad 100644 (file)
@@ -6,11 +6,11 @@
 #include <fe/fe_lib.h>
 #include <grid/tria_iterator.h>
 #include <grid/tria_accessor.h>
-#include "../../deal/dsmatrix.h>
+#include <lac/dsmatrix.h>
 #include <grid/dof_constraints.h>
 #include <basic/data_io.h>
-#include <numerics/problem_base.h>
-#include <numerics/problem_assembler.h>
+#include <numerics/base.h>
+#include <numerics/assembler.h>
 
 #include <fstream.h>
 #include <cmath>
@@ -22,6 +22,41 @@ extern TriaActiveIterator<1,CellAccessor<1> > x;
 extern TriaActiveIterator<2,CellAccessor<2> > y;
 
 
+
+template <int dim>
+class PoissonEquation :  public Equation<dim> {
+  public:
+    PoissonEquation () :
+                   Equation<dim>(1) {};
+
+    virtual void assemble (dFMatrix            &cell_matrix,
+                          vector<dVector>     &rhs,
+                          const FEValues<dim> &fe_values,
+                          const Triangulation<dim>::cell_iterator &cell) const;
+};
+
+
+
+void PoissonEquation<1>::assemble (dFMatrix            &cell_matrix,
+                                  vector<dVector>     &rhs,
+                                  const FEValues<1>   &fe_values,
+                                  const Triangulation<1>::cell_iterator &) const {
+  for (unsigned int point=0; point<fe_values.n_quadrature_points; ++point)
+    for (unsigned int i=0; i<fe_values.total_dofs; ++i) 
+      {
+       for (unsigned int j=0; j<fe_values.total_dofs; ++j)
+         cell_matrix(i,j) = fe_values.shape_grad(i,point) *
+                            fe_values.shape_grad(j,point) *
+                            fe_values.JxW(point);
+       rhs[0] = fe_values.shape_value(i,point) *
+                right_hand_side(fe_values.quadrature_point(point)) *
+                fe_values.JxW(point);
+      };
+};
+
+  
+
+
 void main () {
   Triangulation<1> tria;
   DoFHandler<1>    dof(tria);
index 47c8848dbaa510da107ffa25818f32e09400090c..f4f0530b0581d7492e0837f8fd2955f516c7a3ad 100644 (file)
@@ -6,11 +6,11 @@
 #include <fe/fe_lib.h>
 #include <grid/tria_iterator.h>
 #include <grid/tria_accessor.h>
-#include "../../deal/dsmatrix.h>
+#include <lac/dsmatrix.h>
 #include <grid/dof_constraints.h>
 #include <basic/data_io.h>
-#include <numerics/problem_base.h>
-#include <numerics/problem_assembler.h>
+#include <numerics/base.h>
+#include <numerics/assembler.h>
 
 #include <fstream.h>
 #include <cmath>
@@ -22,6 +22,41 @@ extern TriaActiveIterator<1,CellAccessor<1> > x;
 extern TriaActiveIterator<2,CellAccessor<2> > y;
 
 
+
+template <int dim>
+class PoissonEquation :  public Equation<dim> {
+  public:
+    PoissonEquation () :
+                   Equation<dim>(1) {};
+
+    virtual void assemble (dFMatrix            &cell_matrix,
+                          vector<dVector>     &rhs,
+                          const FEValues<dim> &fe_values,
+                          const Triangulation<dim>::cell_iterator &cell) const;
+};
+
+
+
+void PoissonEquation<1>::assemble (dFMatrix            &cell_matrix,
+                                  vector<dVector>     &rhs,
+                                  const FEValues<1>   &fe_values,
+                                  const Triangulation<1>::cell_iterator &) const {
+  for (unsigned int point=0; point<fe_values.n_quadrature_points; ++point)
+    for (unsigned int i=0; i<fe_values.total_dofs; ++i) 
+      {
+       for (unsigned int j=0; j<fe_values.total_dofs; ++j)
+         cell_matrix(i,j) = fe_values.shape_grad(i,point) *
+                            fe_values.shape_grad(j,point) *
+                            fe_values.JxW(point);
+       rhs[0] = fe_values.shape_value(i,point) *
+                right_hand_side(fe_values.quadrature_point(point)) *
+                fe_values.JxW(point);
+      };
+};
+
+  
+
+
 void main () {
   Triangulation<1> tria;
   DoFHandler<1>    dof(tria);

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.