54 REAL(DP) X1,X2,X3,Y1,Y2,Y3,DELT,AI1,AI2,AI3,BI1,BI2,BI3,CI1,CI2,CI3
55 REAL(DP) DELTX,DELTY,TEMP1,ANG1,ANG2,B1,B2,ANGLE
56 INTEGER I,II,J,JJ,J1,J2
57 REAL(SP) AA1,AA2,BB1,BB2,CC1,CC2,XTMP1,YTMP1,XTMP2,YTMP2
64 WRITE(ipt,*)
"! SETTING UP LINEAR INTEROPOLATION COEFFICIENTS" 68 IF(
isbce(i) == 0)
THEN 75 ELSE IF(
isbce(i) == 1)
THEN 77 IF(
nbe(i,j) == 0) jj = j
79 j1 = jj+1-int((jj+1)/4)*3
80 j2 = jj+2-int((jj+2)/4)*3
111 ELSE IF(
isbce(i) == 2)
THEN 113 IF(
nbe(i,j) == 0) jj = j
115 j1 = jj+1-int((jj+1)/4)*3
116 j2 = jj+2-int((jj+2)/4)*3
121 alpha(i) = atan2(delty,deltx)
126 cc1 = -aa1*
vx(
nv(i,j1))-bb1*
vy(
nv(i,j1))
130 cc2 = -aa2*
xc(i)-bb2*
yc(i)
132 xtmp1 = -(cc1*bb2-cc2*bb1)/(aa1*bb2-aa2*bb1)
133 ytmp1 = -(cc1*aa2-cc2*aa1)/(bb1*aa2-bb2*aa1)
136 x1 = (xtmp1-
xc(i))*2.0_sp
137 y1 = (ytmp1-
yc(i))*2.0_sp
145 x2 = (xtmp1-
xc(i))*2.0_sp
146 y2 = (ytmp1-
yc(i))*2.0_sp
154 x3 = (xtmp1-
xc(i))*2.0_sp
155 y3 = (ytmp1-
yc(i))*2.0_sp
157 ELSE IF(
isbce(i) == 3)
THEN 159 IF(
nbe(i,j) /= 0) jj = j
161 j1 = jj+1-int((jj+1)/4)*3
162 j2 = jj+2-int((jj+2)/4)*3
197 delt = (x1*y2-x2*y1)**2+(x1*y3-x3*y1)**2+(x2*y3-x3*y2)**2
200 a1u(i,1) = (y1+y2+y3)*(x1*y1+x2*y2+x3*y3)- &
201 (x1+x2+x3)*(y1**2+y2**2+y3**2)
203 a1u(i,2) = (y1**2+y2**2+y3**2)*x1-(x1*y1+x2*y2+x3*y3)*y1
205 a1u(i,3) = (y1**2+y2**2+y3**2)*x2-(x1*y1+x2*y2+x3*y3)*y2
207 a1u(i,4) = (y1**2+y2**2+y3**2)*x3-(x1*y1+x2*y2+x3*y3)*y3
210 a2u(i,1) = (x1+x2+x3)*(x1*x1+x2*x2+x3*x3)- &
211 (y1+y2+y3)*(x1**2+x2**2+x3**2)
213 a2u(i,2) = (x1**2+x2**2+x3**2)*y1-(x1*y1+x2*y2+x3*y3)*x1
215 a2u(i,3) = (x1**2+x2**2+x3**2)*y2-(x1*y1+x2*y2+x3*y3)*x2
217 a2u(i,4) = (x1**2+x2**2+x3**2)*y3-(x1*y1+x2*y2+x3*y3)*x3
251 ang1=359.9_sp/180.0_sp*3.1415926_sp
252 ang2=-0.1_sp/180.0_sp*3.1415926_sp
255 if((
isonb(i).eq.1).and.(
ntve(i).gt.2))
then 257 if(angle.gt.ang1)
then 259 else if(angle.gt.3.1415926_sp)
then 260 angle=angle-2.0_sp*3.1415926_sp
261 else if(angle.lt.-3.1415926_sp)
then 262 angle=angle+2.0_sp*3.1415926_sp
263 else if(angle.lt.ang2)
then 268 if(
isbce(ii).ne.1)
then 270 angle/float(
ntve(i)-1)*float(j-1)
279 WRITE(ipt,*)
"! INTERP COEFFICIENTS : COMPLETE" real(sp), dimension(:), allocatable, target alpha
real(sp), dimension(:), allocatable, target art
logical function dbg_set(vrb)
real(sp), dimension(:), allocatable, target yc
real(sp), dimension(:,:), allocatable, target a1u
real(sp), dimension(:,:), allocatable, target awx
real(sp), dimension(:,:), allocatable, target aw0
real(sp), dimension(:,:), allocatable, target awy
real(sp), dimension(:), allocatable, target vx
real(sp), dimension(:), allocatable, target vy
integer, dimension(:), allocatable, target ntve
integer, dimension(:,:), allocatable, target nbe
integer, dimension(:,:), allocatable, target nv
real(sp), dimension(:,:), allocatable, target a2u
integer, dimension(:,:), allocatable, target nbve
real(sp), dimension(:), allocatable, target xc
integer, dimension(:), allocatable, target isbce
subroutine shape_coef_gcy
integer, dimension(:), allocatable, target isonb
integer, parameter dbg_log