[Nek5000-users] mapping straight pipe to curved pipe
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Fri Nov 15 07:01:54 CST 2013
Hi Ami,
You have a statement: zm1=...
this clearly can't be correct in the standard nek
usage.
You should have something like
zm1(i,1,1,1)=...
Perhaps this is the issue.
Best regards,
Paul
----- Original Message -----
From: nek5000-users at lists.mcs.anl.gov
To: nek5000-users at lists.mcs.anl.gov
Sent: Thursday, November 14, 2013 4:56:03 PM
Subject: [Nek5000-users] mapping straight pipe to curved pipe
Hello,
I am trying to change the usrdat2 in example pipe(helix) to make curved pipe with defined curvature. I changed the .usr file like this:
subroutine usrdat2
include 'SIZE'
include 'TOTAL'
common /ogeom/ ox(lx1,ly1,lz1,lelv)
$ , oy(lx1,ly1,lz1,lelv)
$ , oz(lx1,ly1,lz1,lelv)
diam = 1.0
one = 1.
pi = 4.*atan(one)
Rcurv = 3 !curvature of the pipe
z0 = 0.
z1 = pi*Rcurv !equal to area of the curved pipe
call rescale_x (zm1,z0,z1)
rad = diam/2.
radm = -rad
call rescale_x (xm1,radm,rad)
call rescale_x (ym1,radm,rad)
n = nx1*ny1*nz1*nelv
call copy(ox,xm1,n)
call copy(oy,ym1,n)
call copy(oz,zm1,n)
do i=1,n ! preset offset twist
x = xm1(i,1,1,1)
y = ym1(i,1,1,1)
z = zm1(i,1,1,1)
theta = z/Rcurv
zm1 = Rcurv*sin(theta)
ym1(i,1,1,1) = y + Rcurv*cos(theta)
enddo
param(59) = 1. ! All elements deformed
ifxyo = .true.
return
end
c-----------------------------------------------------------------------
but it comes out with some error associated with vanishing jacobian! I would ask that what is the problem with my modification on mapping straight pipe?
Thanks,
Ami
_______________________________________________
Nek5000-users mailing list
Nek5000-users at lists.mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
More information about the Nek5000-users
mailing list