From: guido Date: Wed, 5 May 1999 11:34:28 +0000 (+0000) Subject: test for long double X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=715258aad7675e57af42ce743a06bf116f79da75;p=dealii-svn.git test for long double git-svn-id: https://svn.dealii.org/trunk@1273 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/lac/mg.cc b/tests/lac/mg.cc index 3520dc113a..85807b480d 100644 --- a/tests/lac/mg.cc +++ b/tests/lac/mg.cc @@ -17,6 +17,9 @@ #include #include +#define TYPE long double +#define ACCURACY 1.e-19 + template void print_vector(ostream& s, const VECTOR& v) { @@ -52,8 +55,8 @@ class FDMG const Vector& src, const Vector& rhs); - void copy_to_mg(const Vector& rhs); - void copy_from_mg(Vector& lsg); + void copy_to_mg(const Vector& rhs); + void copy_from_mg(Vector& lsg); }; class MGSmootherLAC @@ -89,7 +92,7 @@ class MGPrecondition {} - void operator () (Vector& dst, const Vector& src) const + void operator () (Vector& dst, const Vector& src) const { // print_vector(cout, src); @@ -107,8 +110,8 @@ main() ofstream logfile("mg.output"); deallog.attach(logfile); - PrimitiveVectorMemory > mem; - SolverControl control(100, 1.e-14, true); + PrimitiveVectorMemory > mem; + SolverControl control(100, ACCURACY, true); const unsigned int base = 3; const unsigned int maxlevel = 8; @@ -162,13 +165,14 @@ main() MGSmootherLAC smoother(A); // MGSmootherIdentity smoother; - MGPrecondition precondition(multigrid, smoother, coarsegrid); + PreconditionMG > + precondition(multigrid, smoother, smoother, coarsegrid); -// SolverRichardson , Vector > solver(control, mem); - SolverCG , Vector > solver(control, mem); +// SolverRichardson , Vector > solver(control, mem); + SolverCG , Vector > solver(control, mem); - Vector u(dim); - Vector f(dim); + Vector u(dim); + Vector f(dim); u = 0.; f = 1.;//(size*size); @@ -202,13 +206,13 @@ FDMG::level_residual (unsigned int level, } void -FDMG::copy_to_mg(const Vector& v) +FDMG::copy_to_mg(const Vector& v) { d[maxlevel] = v; } void -FDMG::copy_from_mg(Vector& v) +FDMG::copy_from_mg(Vector& v) { v = s[maxlevel]; } diff --git a/tests/lac/testmatrix.cc b/tests/lac/testmatrix.cc index 53eeee5063..f3a0245b13 100644 --- a/tests/lac/testmatrix.cc +++ b/tests/lac/testmatrix.cc @@ -232,8 +232,10 @@ FDMGTransfer::restrict (const unsigned int from_level, } +template void FDMatrix::laplacian(SparseMatrix&) const; template void FDMatrix::laplacian(SparseMatrix&) const; template void FDMatrix::laplacian(SparseMatrix&) const; +template void FDMatrix::gnuplot_print(ostream& s, const Vector& V) const; template void FDMatrix::gnuplot_print(ostream& s, const Vector& V) const; template void FDMatrix::gnuplot_print(ostream& s, const Vector& V) const;