Changeset ee8cedc for src/solvers/pcg.F90
- Timestamp:
- 03/08/07 14:19:59 (6 years ago)
- Branches:
- master, external, fix-prolong, refactor, refactor-ext, refactor-subsolvers
- Children:
- 7efae20
- Parents:
- 8866c2a
- git-author:
- chris <chris@…> (03/08/07 14:19:59)
- git-committer:
- chris <chris@…> (03/08/07 14:19:59)
- File:
-
- 1 edited
-
src/solvers/pcg.F90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/solvers/pcg.F90
re365c5b ree8cedc 641 641 end subroutine msolve 642 642 643 !-------------------------- 644 !> Preconditioned conjugent gradient method with eigenvalues 645 !-------------------------- 643 646 subroutine pcg_weigs (A,b,x,Msh,it,cond_num,A_interf_,tol_,maxit_, & 644 647 x0_,solinf,resvects_,CoarseMtx_,Restrict,refactor_) … … 647 650 implicit none 648 651 649 type(SpMtx),intent(in out) :: A ! System matrix (sparse) 650 float(kind=rk),dimension(:),pointer :: b ! RHS 651 float(kind=rk),dimension(:),pointer :: x ! Solution 652 ! Mesh - aux data for Ax operation 653 type(Mesh),intent(in) :: Msh 652 type(SpMtx),intent(in out) :: A !< System matrix (sparse) 653 float(kind=rk),dimension(:),pointer :: b !< RHS 654 float(kind=rk),dimension(:),pointer :: x !< Solution 655 type(Mesh),intent(in) :: Msh !< Mesh - aux data for Ax operation 654 656 655 657 integer,intent(out) :: it 656 658 real(kind=rk),intent(out) :: cond_num 659 657 660 ! Optional arguments 658 type(SpMtx),intent(in out),optional :: A_interf_ !matr@interf. 659 ! Tolerance of the method 660 real(kind=rk), intent(in), optional :: tol_ 661 ! Max number of iterations 662 integer, intent(in), optional :: maxit_ 663 ! Initial guess 664 float(kind=rk), dimension(:), intent(in), optional :: x0_ 665 ! Solution statistics 666 type(ConvInf), intent(in out), optional :: solinf 667 ! Fill in the 'resvect' or not 668 logical, intent(in), optional :: resvects_ 669 type(SpMtx),optional :: CoarseMtx_ ! Coarse matrix 670 type(SpMtx),optional :: Restrict ! Restriction mtx 671 672 logical,intent(in),optional :: refactor_ 661 type(SpMtx),intent(in out),optional :: A_interf_ !< matr@interf. 662 real(kind=rk), intent(in), optional :: tol_ !< Tolerance of the method 663 integer, intent(in), optional :: maxit_ !< Max number of iterations 664 float(kind=rk), dimension(:), intent(in), optional :: x0_ !< Initial guess 665 type(ConvInf), intent(in out), optional :: solinf !< Solution statistics 666 logical, intent(in), optional :: resvects_ !< Fill in the 'resvect' or not 667 type(SpMtx),optional :: CoarseMtx_ !< Coarse matrix 668 type(SpMtx),optional :: Restrict !< Restriction mtx 669 logical,intent(in),optional :: refactor_ 670 671 ! Local variables 673 672 logical :: refactor 674 673 … … 760 759 761 760 if (bugtrack)call Print_Glob_Vect(r,Msh,'global r===',chk_endind=Msh%ninner) 761 write(6,*) '############# CALLING PRECOND #############' !XXX 762 762 call preconditioner(sol=z, & 763 763 A=A, &
Note: See TracChangeset
for help on using the changeset viewer.
