[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