40 lines
No EOL
1,022 B
Fortran
40 lines
No EOL
1,022 B
Fortran
Program Balloon_Wrap
|
|
!
|
|
! Program to map plaque from flat to cylindrical shape.
|
|
!
|
|
real pi,x_cor,y_cor,z_cor,theta,radius,theta_hat,rad_hat,alpha,beta,phi
|
|
real inner_radius,outer_radius,num_folds,multiplier
|
|
integer node_num
|
|
!
|
|
open(unit=10,file='in.dat',status='old')
|
|
open(unit=11,file='out.dat',status='unknown')
|
|
!
|
|
tb=0.2
|
|
A=0.5
|
|
ecen=0.2
|
|
t1=5.
|
|
t2=5.
|
|
xp1=0.5
|
|
xp2=0.5
|
|
rL1=11.
|
|
rL2=8.6708
|
|
radius=1.38
|
|
!
|
|
do i=1, 69264
|
|
read(10,*)node_num,x_cor,y_cor,z_cor
|
|
rFraction=z_cor/tb
|
|
rindex1=(y_cor/rL1)**(-log(2.)/log(xp1))
|
|
rbracket1=(sin(3.1415*rindex1))**t1
|
|
rad_plaque=1.+A*rbracket1
|
|
rheight1=tb+(A-tb)*rbracket1
|
|
!
|
|
z_cor=rheight1*rFraction
|
|
!
|
|
xfrac=x_cor/rL2
|
|
theta=x_cor/radius
|
|
x_cor=(radius-rad_plaque*z_cor)*cos(theta)
|
|
y_cor=y_cor
|
|
z_cor=(radius-rad_plaque*z_cor)*sin(theta)+ecen*rbracket1*rFraction
|
|
write(11,*)node_num,',',x_cor,',',y_cor,',',z_cor
|
|
enddo
|
|
end program |