X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=blobdiff_plain;f=source%2Funres%2Fsrc_CSA_DiL%2Fbanach.f;fp=source%2Funres%2Fsrc_CSA_DiL%2Fbanach.f;h=0000000000000000000000000000000000000000;hp=7c43d77cfb9c42b6afda7f803cceab981625dff8;hb=2a226bfc86eabc6e4eae0c3ad1cbc3cb5417a05a;hpb=a0e685f844163003749ba91dfbf4644bcc8cfa30 diff --git a/source/unres/src_CSA_DiL/banach.f b/source/unres/src_CSA_DiL/banach.f deleted file mode 100644 index 7c43d77..0000000 --- a/source/unres/src_CSA_DiL/banach.f +++ /dev/null @@ -1,99 +0,0 @@ -C -C********************** - SUBROUTINE BANACH(N,NMAX,A,X,osob) -C********************** -C Banachiewicz - implicit real*8 (a-h,o-z) - include 'DIMENSIONS' - DIMENSION A(NMAX,NMAX),X(NMAX),D(MAXRES6) - COMMON /BANII/ D - logical osob - osob=.false. - if (dabs(a(1,1)).lt.1.0d-15) then - osob=.true. - return - endif - D(1)=1./A(1,1) - DO 80 I=2,N - A(I,1)=A(1,I) - DO 81 J=2,I-1 - XX=A(J,I) - DO 82 K=1,J-1 - XX=XX-A(I,K)*A(J,K) - 82 CONTINUE - A(I,J)=XX - 81 CONTINUE - XX=A(I,I) - JJJJ=I-1 - DO 83 J=1,JJJJ - AIJ=A(I,J) - AIJD=AIJ*D(J) - A(I,J)=AIJD - XX=XX-AIJ*AIJD - 83 CONTINUE - if (dabs(xx).lt.1.0d-15) then - osob=.true. - return - endif - D(I)=1./XX - 80 CONTINUE -C - CALL BANAII(N,NMAX,A,X) - RETURN - END -C************************ - SUBROUTINE BANAII(N,NMAX,A,X) -C************************ - implicit real*8 (a-h,o-z) - include 'DIMENSIONS' - DIMENSION A(NMAX,NMAX),X(NMAX),D(MAXRES6) - COMMON /BANII/ D - DO 90 I=1,N - Z=X(I) - JJJJ=I-1 - DO 91 J=JJJJ,1,-1 - Z=Z-A(I,J)*X(J) - 91 CONTINUE - X(I)=Z - 90 CONTINUE - DO 92 I=N,1,-1 - Z=X(I)*D(I) - JJJJ=I+1 - DO 93 J=JJJJ,N - Z=Z-A(J,I)*X(J) - 93 CONTINUE - X(I)=Z - 92 CONTINUE - RETURN - END -C - SUBROUTINE MATINVERT(N,NMAX,A,A1,osob) - implicit real*8 (a-h,o-z) - include 'DIMENSIONS' - DIMENSION A(NMAX,NMAX),A1(NMAX,NMAX),D(MAXRES6) - COMMON /BANII/ D - DIMENSION X(NMAX) - logical osob - DO I=1,N - X(I)=0.0 - ENDDO - X(1)=1.0 - CALL BANACH(N,NMAX,A,X,osob) - if (osob) return - DO I=1,N - A1(I,1)=X(I) - ENDDO - DO I=2,N - DO J=1,N - X(J)=0.0 - ENDDO - X(I)=1.0 - CALL BANAII(N,NMAX,A,X) - DO J=1,N - A1(J,I)=X(J) - ENDDO - ENDDO - RETURN - END - -