PreconditionBlockSSOR<SparseMatrix<double>,double> prec_bssor;
prec_bssor.initialize(A, bperm, ibperm, prec_data);
-// RelaxationBlockSOR<SparseMatrix<double>,double> relax_sor;
-// relax_sor.set_permutation(bperm,ibperm);
-// relax_sor.initialize(A, relax_data);
+ relax_data.order.resize(1);
+ relax_data.order[0].resize(bperm.size());
+ for (unsigned int i=0;i<bperm.size();++i)
+ relax_data.order[0][i] = bperm[i];
-// RelaxationBlockSSOR<SparseMatrix<double>,double> relax_ssor;
-// relax_sor.set_permutation(bperm,ibperm);
-// relax_ssor.initialize(A, relax_data);
+ RelaxationBlockSOR<SparseMatrix<double>,double> relax_sor;
+ relax_sor.initialize(A, relax_data);
+
+ RelaxationBlockSSOR<SparseMatrix<double>,double> relax_ssor;
+ relax_ssor.initialize(A, relax_data);
Vector<double> f(dim);
Vector<double> u(dim);
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
r2 = check_solve(relax,A,u,f,prec_bsor2);
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
+ r2 = check_solve(relax,A,u,f,relax_sor);
+ deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
deallog.pop();
deallog.push("SSOR ");
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
r2 = check_solve(relax,A,u,f,prec_bssor);
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
+ r2 = check_solve(relax,A,u,f,relax_ssor);
+ deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
deallog.pop();
}
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 24.60
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 24.60
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 21.41
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Failure step 10 value 21.41
DEAL:SSOR ::diff 0
+DEAL:SSOR :Relaxation::Starting value 32.00
+DEAL:SSOR :Relaxation::Failure step 10 value 21.41
+DEAL:SSOR ::diff 0
DEAL::Block size 8
DEAL::Size 128
DEAL:Jacobi:Richardson::Starting value 32.00
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 23.66
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 23.66
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 19.22
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Failure step 10 value 19.22
DEAL:SSOR ::diff 0
+DEAL:SSOR :Relaxation::Starting value 32.00
+DEAL:SSOR :Relaxation::Failure step 10 value 19.22
+DEAL:SSOR ::diff 0
DEAL::Block size 16
DEAL::Size 64
DEAL:Jacobi:Richardson::Starting value 32.00
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 22.95
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 22.95
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 17.41
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SSOR :Relaxation::Failure step 10 value 17.41
DEAL:SSOR ::diff 0
+DEAL:SSOR :Relaxation::Starting value 32.00
+DEAL:SSOR :Relaxation::Failure step 10 value 17.41
+DEAL:SSOR ::diff 0