dear all:

my code is as follows
TrilinosWrappers::PreconditionSSOR  preconditioner;
preconditioner.initialize(system_matrix->block(1,1));

SolverControl solver_control (src.size(), 1e-8*src.l2_norm());

std::cout<<"the solver tolorence is "<<1e-8*src.l2_norm()<<std::endl;

SolverCG<TrilinosWrappers::MPI::Vector>  solver_cg (solver_control);
solver_cg.solve (system_matrix->block(1,1), dst,src, preconditioner); 

it works well when i use *ONE PROCESS*, it only need 14~15 iterations to 
get a satisified result. 
but when i use the
 mpirun -np 2
i get errors as follows
----------------------------------------------------
Exception on processing: 

--------------------------------------------------------
An error occurred in line <590> of file 
</usr/include/deal.II/lac/solver_cg.h> in function
    void dealii::SolverCG<VectorType>::solve(const MatrixType&, 
VectorType&, const VectorType&, const PreconditionerType&) [with MatrixType 
= dealii::TrilinosWrappers::SparseMatrix; PreconditionerType = 
dealii::TrilinosWrappers::PreconditionSSOR; VectorType = 
dealii::TrilinosWrappers::MPI::Vector]
The violated condition was: 
    false
Additional information: 
Iterative method reported convergence failure in step 4788. The residual in 
the last step was 0.00440582.

This error message can indicate that you have simply not allowed a 
sufficiently large number of iterations for your iterative solver to 
converge. This often happens when you increase the size of your problem. In 
such cases, the last residual will likely still be very small, and you can 
make the error go away by increasing the allowed number of iterations when 
setting up the SolverControl object that determines the maximal number of 
iterations you allow.

The other situation where this error may occur is when your matrix is not 
invertible (e.g., your matrix has a null-space), or if you try to apply the 
wrong solver to a matrix (e.g., using CG for a matrix that is not symmetric 
or not positive definite). In these cases, the residual in the last 
iteration is likely going to be large.
--------------------------------------------------------

Aborting!
----------------------------------------------------


----------------------------------------------------
Exception on processing: 

--------------------------------------------------------
An error occurred in line <590> of file 
</usr/include/deal.II/lac/solver_cg.h> in function
    void dealii::SolverCG<VectorType>::solve(const MatrixType&, 
VectorType&, const VectorType&, const PreconditionerType&) [with MatrixType 
= dealii::TrilinosWrappers::SparseMatrix; PreconditionerType = 
dealii::TrilinosWrappers::PreconditionSSOR; VectorType = 
dealii::TrilinosWrappers::MPI::Vector]
The violated condition was: 
    false
Additional information: 
Iterative method reported convergence failure in step 4788. The residual in 
the last step was 0.00440582.

This error message can indicate that you have simply not allowed a 
sufficiently large number of iterations for your iterative solver to 
converge. This often happens when you increase the size of your problem. In 
such cases, the last residual will likely still be very small, and you can 
make the error go away by increasing the allowed number of iterations when 
setting up the SolverControl object that determines the maximal number of 
iterations you allow.

The other situation where this error may occur is when your matrix is not 
invertible (e.g., your matrix has a null-space), or if you try to apply the 
wrong solver to a matrix (e.g., using CG for a matrix that is not symmetric 
or not positive definite). In these cases, the residual in the last 
iteration is likely going to be large.
--------------------------------------------------------

Aborting!
----------------------------------------------------
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, 
thus causing
the job to be terminated. The first process to do so was:

  Process name: [[53229,1],1]
  Exit code:    1


does anyone has the same problem ?

i change the preconditioner by a TrilinosWrappers::PreconditionAMG one , 
the iteration increase from 15 to 28 in the first computation ,and didn't 
converge in the 2dn computation.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5f06276e-57b1-46f1-a366-4fc52c07b8df%40googlegroups.com.

Reply via email to