Civil Engineering Reference
In-Depth Information
END DO elements_3
CALL scatter(udiag_pp,utemp_pp) !udiag is A.l**(-1/2).va
udiag_pp = udiag_pp * diag_pp ; ua_pp = ua_pp + udiag_pp
END DO
!-------------- iflag = 0 therefore write out the spectrum ---------------
IF(numpe==npes) THEN
WRITE(11,'(2(A,E12.4))') "The range is",el," to ",er
WRITE(11,'(A,I8,A)') "There are ",neig," eigenvalues in the range"
WRITE(11,'(A,I8,A)') "It took ",iters," iterations"
WRITE(11,'(A)') "The eigenvalues are
:"
WRITE(11,'(6E12.4)') eig(1:neig)
END IF
! calculate the eigenvectors
IF(neig>10)neig = 10
CALL lancz2(neq_pp,lalfa,lp,eig,jeig,neig,alfa,beta,lz,jflag,y_pp,
&
w1_pp,z_pp,v_store_pp)
!------------------if jflag is zero calculate the eigenvectors ----------
IF (jflag==0) THEN
IF(numpe==npes) THEN
WRITE(11,'(A)') "The eigenvectors are :"
DO i = 1 , nmodes
udiag_pp(:) = y_pp(:,i) ; udiag_pp = udiag_pp * diag_pp
WRITE(11,'("Eigenvector number ",I4," is: ")') i
WRITE(11,'(6E12.4)') udiag_pp(1:6)
END DO
ELSE
! lancz2 fails
WRITE(11,'(A,I5)')" Lancz2 is signalling failure with jflag = ",jflag
END IF
END IF
IF(numpe==npes) WRITE(11,*)"This analysis took :", elap_time()-timest(1)
CALL shutdown( )
END PROGRAM p128
New scalar integers:
iflag failure flag
jflag failure flag
lalfa length of alfa array
leig length of eig array
lp output channel number
lx problem dependent array size
lz problem dependent array size
neig problem dependent array size
nmodes number of eigenmodes computed
New scalar reals:
acc
accuracy parameter
left limit of eigenvalue spectrum
el
right limit of eigenvalue spectrum
er
lancz1 and lancz2 are aliases for ep25a/ad and ep25e/ed of HSL (2002).
Search WWH ::




Custom Search