You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.4 KiB
Plaintext
71 lines
2.4 KiB
Plaintext
5 years ago
|
c---------------------------------------------------------------calc_ab
|
||
|
SUBROUTINE calc_ab(a, b, E, N)
|
||
|
c---------------------------------------------------------------------c
|
||
|
c purpose: c
|
||
|
c To rotate and translate coordinates from E-N to grid. c
|
||
|
c---------------------------------------------------------------------c
|
||
|
INCLUDE '3dgeom.cb'
|
||
|
REAL E, N, a, b
|
||
|
REAL nt, et
|
||
|
|
||
|
nt= N-goN
|
||
|
et= E-goE
|
||
|
a = (nt*gaS+et*gaC)/dimXY
|
||
|
b = (nt*gaC-et*gaS)/dimXY
|
||
|
RETURN
|
||
|
END
|
||
|
|
||
|
c---------------------------------------------------------------calc_EN
|
||
|
subroutine calc_EN(E,N,x,y)
|
||
|
c---------------------------------------------------------------------c
|
||
|
c Purpose: c
|
||
|
c To rotate and translate coordinates from grid to E-N. c
|
||
|
c---------------------------------------------------------------------c
|
||
|
INCLUDE '3dgeom.cb'
|
||
|
real E,N,x,y
|
||
|
c
|
||
|
N=goN+x*dimXY*gaS+y*dimXY*gaC
|
||
|
E=goE+x*dimXY*gaC-y*dimXY*gaS
|
||
|
return
|
||
|
end
|
||
|
|
||
|
c----------------------------------------------------------------calc_c
|
||
|
SUBROUTINE calc_c(c, Z)
|
||
|
c---------------------------------------------------------------------c
|
||
|
c purpose: c
|
||
|
c To translate z-coordinates from E-N to grid. c
|
||
|
c---------------------------------------------------------------------c
|
||
|
INCLUDE '3dgeom.cb'
|
||
|
REAL c, Z
|
||
|
|
||
|
c=-Z/dimZ
|
||
|
RETURN
|
||
|
END
|
||
|
|
||
|
c--------------------------------------------------------------calc_XYZ
|
||
|
subroutine calc_XYZ(nop,cord,itype,pel,pnl,pzl,pil,pe,pn,pz)
|
||
|
c---------------------------------------------------------------------c
|
||
|
c purpose: c
|
||
|
c To interplate the global coordinates. c
|
||
|
c---------------------------------------------------------------------c
|
||
|
common /etype/inode(4)
|
||
|
common /shape/shap(20),shpx(20),shpy(20),shpz(20)
|
||
|
real pe,pn,pz,pel,pnl,pzl,cord(3,1),shap
|
||
|
integer*2 nop(20,1)
|
||
|
integer pil,it,nen,i,itype(1)
|
||
|
c
|
||
|
it=itype(pil)
|
||
|
nen=inode(it)
|
||
|
pe=0.0
|
||
|
pn=0.0
|
||
|
pz=0.0
|
||
|
call xn3(it,nen,pel,pnl,pzl)
|
||
|
do i=1,nen
|
||
|
pe=pe+shap(i)*cord(1,nop(i,pil))
|
||
|
pn=pn+shap(i)*cord(2,nop(i,pil))
|
||
|
pz=pz+shap(i)*cord(3,nop(i,pil))
|
||
|
enddo
|
||
|
return
|
||
|
end
|
||
|
|