*** empty log message ***
This commit is contained in:
parent
a6958a3b2f
commit
5761f041dc
@ -211,7 +211,8 @@ c residual calculation routines
|
||||
c
|
||||
c=====================================================================
|
||||
c
|
||||
subroutine rsdl(k,enrg,res,resv,iprt,imin,imax,u,f,a,ia,ja,iu)
|
||||
subroutine rsdl(k,enrg,res,resv,aip,fu,ru,
|
||||
* uu,iprt,imin,imax,u,f,a,ia,ja,iu)
|
||||
c
|
||||
c---------------------------------------------------------------------
|
||||
c
|
||||
@ -241,6 +242,12 @@ c
|
||||
10 continue
|
||||
resp=res
|
||||
enrg=0.e0
|
||||
cveh test. compute <Au,u>, <r,u>, <f,u>
|
||||
aip=0.e0
|
||||
fu=0.e0
|
||||
ru=0.e0
|
||||
uu=0.e0
|
||||
cveh
|
||||
r2=0.e0
|
||||
ilo=imin(k)
|
||||
ihi=imax(k)
|
||||
@ -252,6 +259,12 @@ c
|
||||
20 s=s+a(j)*u(ja(j))
|
||||
r=s-f(i)
|
||||
r2=r*r
|
||||
cveh
|
||||
aip = aip + s*u(i)
|
||||
fu = fu + f(i)*u(i)
|
||||
ru = ru + r*u(i)
|
||||
uu = uu + u(i)*u(i)
|
||||
cveh
|
||||
enrg=enrg+r*u(i)-u(i)*f(i)
|
||||
resv(iu(i))=resv(iu(i))+r2
|
||||
30 continue
|
||||
|
||||
@ -99,7 +99,9 @@ c
|
||||
c===> find initial residual
|
||||
c
|
||||
if(iprtc.ge.0) then
|
||||
call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(1,enrg,res,resv,aip,fu,ru,uu,0,
|
||||
* imin,imax,u,f,a,ia,ja,iu)
|
||||
resi = res
|
||||
write(6,1000)
|
||||
write(6,1100) res,enrg
|
||||
@ -138,12 +140,16 @@ c
|
||||
cveh
|
||||
cveh relative residual temporarily added: relres,
|
||||
cveh
|
||||
engold = enrg
|
||||
resold=res
|
||||
call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(1,enrg,res,resv,aip,fu,ru,uu,0,
|
||||
* imin,imax,u,f,a,ia,ja,iu)
|
||||
factor=res/resold
|
||||
relres = res/fnorm
|
||||
delteng=enrg-engold
|
||||
cveh write(6,1200) ncy,res,enrg,factor
|
||||
write(6,1200) ncy,res,enrg,factor,relres
|
||||
write(6,1200) ncy,res,enrg,factor,relres,aip,delteng,fu,ru,uu
|
||||
endif
|
||||
|
||||
100 continue
|
||||
@ -164,10 +170,11 @@ cveh write(6,1200) ncy,res,enrg,factor
|
||||
return
|
||||
|
||||
1000 format(/14x,' relative'/,
|
||||
* 14x,'residual energy factor residual'/,
|
||||
* 14x,'residual energy factor residual'
|
||||
* ' <Au,u> delteng <f,u> <r,u> <u,u>'/,
|
||||
* 14x,'-------- ------ ------ --------')
|
||||
1100 format(3x,' Initial ',1p,5(1x,e9.2))
|
||||
1200 format(3x,' Cycle ',i2,1p,5(1x,e9.2))
|
||||
1200 format(3x,' Cycle ',i2,1p,9(1x,e9.2))
|
||||
1300 format(/3x,' Average convergence factor = ',1p,e9.2)
|
||||
cveh New format statement 2000 replaces above ccccccccccccccccc
|
||||
2000 format(/5x,'Solution times:'/
|
||||
@ -357,7 +364,8 @@ c
|
||||
lltop=0
|
||||
endif
|
||||
|
||||
call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(k,enrg,res,resv,aip,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
enrgt=enrg+enrgf(k)
|
||||
c write(6,6001) k,res,enrgt,(resv(i),i=1,nun1)
|
||||
write(6,6001) k,res,enrgt,(resv(i),i=1,nun)
|
||||
@ -380,7 +388,8 @@ c
|
||||
c compute & print residuals
|
||||
c
|
||||
if(iprtc.ge.k) then
|
||||
call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(k,enrg,res,resv,aip,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
enrgt=enrg+enrgf(k)
|
||||
c write(6,6000) k,ity(i),ipt(i),ieq(i),iun(i),res,enrgt,
|
||||
c * (resv(iii),iii=1,nun1)
|
||||
|
||||
@ -211,7 +211,8 @@ c residual calculation routines
|
||||
c
|
||||
c=====================================================================
|
||||
c
|
||||
subroutine rsdl(k,enrg,res,resv,iprt,imin,imax,u,f,a,ia,ja,iu)
|
||||
subroutine rsdl(k,enrg,res,resv,aip,fu,ru,
|
||||
* uu,iprt,imin,imax,u,f,a,ia,ja,iu)
|
||||
c
|
||||
c---------------------------------------------------------------------
|
||||
c
|
||||
@ -241,6 +242,12 @@ c
|
||||
10 continue
|
||||
resp=res
|
||||
enrg=0.e0
|
||||
cveh test. compute <Au,u>, <r,u>, <f,u>
|
||||
aip=0.e0
|
||||
fu=0.e0
|
||||
ru=0.e0
|
||||
uu=0.e0
|
||||
cveh
|
||||
r2=0.e0
|
||||
ilo=imin(k)
|
||||
ihi=imax(k)
|
||||
@ -252,6 +259,12 @@ c
|
||||
20 s=s+a(j)*u(ja(j))
|
||||
r=s-f(i)
|
||||
r2=r*r
|
||||
cveh
|
||||
aip = aip + s*u(i)
|
||||
fu = fu + f(i)*u(i)
|
||||
ru = ru + r*u(i)
|
||||
uu = uu + u(i)*u(i)
|
||||
cveh
|
||||
enrg=enrg+r*u(i)-u(i)*f(i)
|
||||
resv(iu(i))=resv(iu(i))+r2
|
||||
30 continue
|
||||
|
||||
@ -99,7 +99,9 @@ c
|
||||
c===> find initial residual
|
||||
c
|
||||
if(iprtc.ge.0) then
|
||||
call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(1,enrg,res,resv,aip,fu,ru,uu,0,
|
||||
* imin,imax,u,f,a,ia,ja,iu)
|
||||
resi = res
|
||||
write(6,1000)
|
||||
write(6,1100) res,enrg
|
||||
@ -138,12 +140,16 @@ c
|
||||
cveh
|
||||
cveh relative residual temporarily added: relres,
|
||||
cveh
|
||||
engold = enrg
|
||||
resold=res
|
||||
call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(1,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(1,enrg,res,resv,aip,fu,ru,uu,0,
|
||||
* imin,imax,u,f,a,ia,ja,iu)
|
||||
factor=res/resold
|
||||
relres = res/fnorm
|
||||
delteng=enrg-engold
|
||||
cveh write(6,1200) ncy,res,enrg,factor
|
||||
write(6,1200) ncy,res,enrg,factor,relres
|
||||
write(6,1200) ncy,res,enrg,factor,relres,aip,delteng,fu,ru,uu
|
||||
endif
|
||||
|
||||
100 continue
|
||||
@ -164,10 +170,11 @@ cveh write(6,1200) ncy,res,enrg,factor
|
||||
return
|
||||
|
||||
1000 format(/14x,' relative'/,
|
||||
* 14x,'residual energy factor residual'/,
|
||||
* 14x,'residual energy factor residual'
|
||||
* ' <Au,u> delteng <f,u> <r,u> <u,u>'/,
|
||||
* 14x,'-------- ------ ------ --------')
|
||||
1100 format(3x,' Initial ',1p,5(1x,e9.2))
|
||||
1200 format(3x,' Cycle ',i2,1p,5(1x,e9.2))
|
||||
1200 format(3x,' Cycle ',i2,1p,9(1x,e9.2))
|
||||
1300 format(/3x,' Average convergence factor = ',1p,e9.2)
|
||||
cveh New format statement 2000 replaces above ccccccccccccccccc
|
||||
2000 format(/5x,'Solution times:'/
|
||||
@ -357,7 +364,8 @@ c
|
||||
lltop=0
|
||||
endif
|
||||
|
||||
call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(k,enrg,res,resv,aip,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
enrgt=enrg+enrgf(k)
|
||||
c write(6,6001) k,res,enrgt,(resv(i),i=1,nun1)
|
||||
write(6,6001) k,res,enrgt,(resv(i),i=1,nun)
|
||||
@ -380,7 +388,8 @@ c
|
||||
c compute & print residuals
|
||||
c
|
||||
if(iprtc.ge.k) then
|
||||
call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
cveh call rsdl(k,enrg,res,resv,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
call rsdl(k,enrg,res,resv,aip,0,imin,imax,u,f,a,ia,ja,iu)
|
||||
enrgt=enrg+enrgf(k)
|
||||
c write(6,6000) k,ity(i),ipt(i),ieq(i),iun(i),res,enrgt,
|
||||
c * (resv(iii),iii=1,nun1)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user