From baf7fae43c5f58cb96dfa48514524c12afdc6d4f Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 16 Mar 1998 08:33:53 +0000 Subject: [PATCH] Change include pathes and extend a bit. git-svn-id: https://svn.dealii.org/trunk@65 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/Attic/examples/poisson/poisson.cc | 52 ++++++++++++++----- tests/big-tests/poisson/poisson.cc | 52 ++++++++++++++----- 2 files changed, 78 insertions(+), 26 deletions(-) diff --git a/deal.II/deal.II/Attic/examples/poisson/poisson.cc b/deal.II/deal.II/Attic/examples/poisson/poisson.cc index ebd4e00631..9be2e12b2e 100644 --- a/deal.II/deal.II/Attic/examples/poisson/poisson.cc +++ b/deal.II/deal.II/Attic/examples/poisson/poisson.cc @@ -1,18 +1,19 @@ /* $Id$ */ -#include #include -#include +#include #include #include #include -#include +#include #include #include +#include +#include #include #include -#include +#include #include #include @@ -43,9 +44,19 @@ class PoissonEquation : public Equation { template inline -double PoissonEquation::right_hand_side (const Point &) const { - // this yields as solution u=x^2+y^2+...=\vec x^2 - return -2*dim; +double PoissonEquation::right_hand_side (const Point &p) const { + switch (dim) + { + case 1: + return ((1-4*3.1415926536*3.1415926536) * + cos(2*3.1415926536*p(0))); + case 2: + return ((1-3.1415926536*3.1415926536) * + cos(3.1415926536*p(0)) * + cos(3.1415926536*p(1))); + default: + return 0; + }; }; @@ -58,8 +69,10 @@ void PoissonEquation<1>::assemble (dFMatrix &cell_matrix, for (unsigned int i=0; i::assemble (dFMatrix &cell_matrix, for (unsigned int i=0; i problem(&tria, &dof); PoissonEquation<2> equation; QGauss4<2> quadrature; + + HyperBallBoundary<2> boundary(Point<2>(2,3), 4); - tria.create_hypercube(); - tria.refine_global (1); + tria.create_hyper_ball(Point<2>(2,3),4); + tria.set_boundary (&boundary); + + tria.refine_global (5); dof.distribute_dofs (fe); problem.assemble (equation, quadrature, fe); + + problem.solve (); + + DataOut<2> out; + ofstream gnuplot("gnuplot.out.5"); + problem.fill_data (out); + out.write_gnuplot (gnuplot); return 0; }; diff --git a/tests/big-tests/poisson/poisson.cc b/tests/big-tests/poisson/poisson.cc index ebd4e00631..9be2e12b2e 100644 --- a/tests/big-tests/poisson/poisson.cc +++ b/tests/big-tests/poisson/poisson.cc @@ -1,18 +1,19 @@ /* $Id$ */ -#include #include -#include +#include #include #include #include -#include +#include #include #include +#include +#include #include #include -#include +#include #include #include @@ -43,9 +44,19 @@ class PoissonEquation : public Equation { template inline -double PoissonEquation::right_hand_side (const Point &) const { - // this yields as solution u=x^2+y^2+...=\vec x^2 - return -2*dim; +double PoissonEquation::right_hand_side (const Point &p) const { + switch (dim) + { + case 1: + return ((1-4*3.1415926536*3.1415926536) * + cos(2*3.1415926536*p(0))); + case 2: + return ((1-3.1415926536*3.1415926536) * + cos(3.1415926536*p(0)) * + cos(3.1415926536*p(1))); + default: + return 0; + }; }; @@ -58,8 +69,10 @@ void PoissonEquation<1>::assemble (dFMatrix &cell_matrix, for (unsigned int i=0; i::assemble (dFMatrix &cell_matrix, for (unsigned int i=0; i problem(&tria, &dof); PoissonEquation<2> equation; QGauss4<2> quadrature; + + HyperBallBoundary<2> boundary(Point<2>(2,3), 4); - tria.create_hypercube(); - tria.refine_global (1); + tria.create_hyper_ball(Point<2>(2,3),4); + tria.set_boundary (&boundary); + + tria.refine_global (5); dof.distribute_dofs (fe); problem.assemble (equation, quadrature, fe); + + problem.solve (); + + DataOut<2> out; + ofstream gnuplot("gnuplot.out.5"); + problem.fill_data (out); + out.write_gnuplot (gnuplot); return 0; }; -- 2.39.5