[Nek5000-users] Pipe with expansion
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Wed Jan 29 09:01:37 CST 2014
Hello Paul,
Thanks for the vorticity output and it worked.
1) I created a set-obj() for my pipe but how can I be sure that it has
taken the full pipe wall surface in to account ?
I have attached the divpipe.usr file for your reference could you
please take a look at it.
2) I even took torque_calc in to the .usr file and it gives out
something like this
200 1.00000000000E+00 -9.76942759878E-06 -8.98721249598E-06
-7.82215102801E-07 1torqx
200 1.00000000000E+00 -6.69169235606E-06 -6.35251009840E-06
-3.39182257669E-07 1torqy
200 1.00000000000E+00 9.50518561890E-10 1.50349344990E-13
9.50368212545E-10 1torqz
if I am not wrong are these the value of surface integral of viscous
force in three components of velocity along three directions taken in
the set_obj() ?
because I would like to calculate this
C_v = F^v / ( d^2 * rho * U^2 ) = double integral ( 1/Re * (du / dr)
) dtheta dz
Thank you,
Kamal.
On 24/01/2014 13:02, nek5000-users at lists.mcs.anl.gov wrote:
>
>
>
> Kamal,
>
> 1) yes
>
> 2) standard approach to seeing vorticity would be something
> like the following in userchk
>
> parameter (lt=lx1*ly1*lz1*lelt)
> common /myjunk/ vort(lt,3),w1(lt),w2(lt)
> logical ifxyt
> integer ivout ! flag to turn geometry on/off for VisIt
> save ivout
> data ivout /0/
>
>
> if (mod(istep,iostep).eq.0) then
> call comp_vort3(vort,w1,w2,vx,vy,vz)
>
> ifxyt = ifxyo ! put geometry into first vrt file
> ifxyo = .false.
> if (ivout.eq.0) ifxyo = .true.
> ivout = 1
>
> call outpost(vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt')
>
> ifxyo = ifxyt ! restore ifxyo flag to original state
>
> endif
>
>
> If your session name is blah, this piece of code will put
> vorticity into a sequence of files vrtblah0.f0000n
>
> You can instead ignore the vrt prefix and the part about the
> geometry with a simpler code
>
> parameter (lt=lx1*ly1*lz1*lelt)
> common /myjunk/ vort(lt,3),w1(lt),w2(lt)
>
> if (mod(istep,iostep).eq.0) then
> call comp_vort3(vort,w1,w2,vx,vy,vz)
> call outpost(vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt')
> endif
>
> I usually go for this latter approach, but the choice is
> totally up to you.
>
> Paul
>
>
>
>
>
> On Fri, 24 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>
>> Hello Paul,
>>
>> Thanks for your reply. I am looking into the .usr file for defining
>> the set_obj ().
>>
>> 1) Could you please tell me what is 'Enter the number of levels ?' in
>> n2to3
>>
>> is it the number of elements in Z direction ?
>>
>> 2) As you said about storing the computed vorticity in velocity field
>> to view in VisIT, I found the routine to compute the vorticity but I
>> am stuck about adding it to the velocity filed to VisIT ? could you
>> please tell me how it works or any example which stores vorticity to
>> the .fld file as a separate variable.
>>
>>
>> Thank you
>>
>> Kamal
>>
>>
>> On 22/01/2014 16:53, nek5000-users at lists.mcs.anl.gov wrote:
>>> Axial viscous stress is given by torq_calc -- that's no problem
>>> whatsoever. You get a number as a
>>> function of time.
>>>
>>> You can even get stresses on multiple subsets of the geometry (e.g.,
>>> if you had multiple branches
>>> in the domain or multiple cylinders. The drag, which is a
>>> byproduct of the torque computation (which
>>> you can ignore), is given in terms of the viscous and pressure
>>> components separately and as the
>>> sum of the two.
>>>
>>> You can identify domain boundaries by checking the boundary
>>> conditions. Here, I recommend
>>> looking at the set_obj routines in several of the /example cases.
>>>
>>>
>>> ________________________________________
>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
>>> Sent: Wednesday, January 22, 2014 9:37 AM
>>> To: nek5000-users at lists.mcs.anl.gov
>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>
>>> Hello Paul
>>>
>>> I was thinking about taking the tangential velocity near to the wall
>>> so that I can figure out my length of the recirculation region.
>>>
>>> Is it possible for me to access the boundary elements of the mesh
>>> ??? so that I can take the boundary element and then obtain the
>>> velocity at that point so that I can figure out the length of my
>>> recirculation region.
>>>
>>> or take the *.fld file and read it to plot the datas I need.
>>>
>>>
>>> I also want to calculate the axial viscous force acting on the
>>> entire pipe.
>>>
>>> which is given by
>>>
>>> C_v = F^v / ( d^2 * rho * U^2 ) = double integral ( 1/Re * (du /
>>> dr) ) dtheta dz
>>>
>>>
>>> On Jan 22, 2014, at 4:07 PM, nek5000-users at lists.mcs.anl.gov wrote:
>>>
>>>> Hi Kamal,
>>>>
>>>> As I thought about it some more, if you're interested in the local
>>>> wall shear stress
>>>> magnitude I'm quite certain you can get this by plotting the
>>>> magnitude of vorticity
>>>> on the surface in question. (Note that the sign of the WSS, which
>>>> in fact is a tensor
>>>> or a vector when restricted to a given surface, is lost in this
>>>> process, but that might
>>>> not be relevant for your needs.) If that works, then you can
>>>> readily compute the
>>>> vorticity using one of the routines in nek and store the result in
>>>> a velocity field, then
>>>> view that field with VisIt. Of course WSS will require
>>>> multiplication by viscosity.
>>>>
>>>> hth,
>>>>
>>>> Paul
>>>>
>>>> ________________________________________
>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>>> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
>>>> Sent: Tuesday, January 21, 2014 10:33 AM
>>>> To: nek5000-users at lists.mcs.anl.gov
>>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>>
>>>> Hi paul,
>>>>
>>>> can I make this to be drag or shear quantities to be return to the a
>>>> separate file so that it will easy for me to plot.
>>>>
>>>> By the way it gives the integral quantity. Think for example I need to
>>>> find the shear stress on the wall from the inlet to outlet at a
>>>> particular time = 2 . How can I do that ?
>>>>
>>>> Is there way to find the number of elements in x,y and z direction ?
>>>>
>>>> On 21/01/2014 17:32, nek5000-users at lists.mcs.anl.gov wrote:
>>>>> Hi Kamal,
>>>>>
>>>>> Your integrated drag quantities should be written to the logfile
>>>>> (stdout),
>>>>> assuming you've set the arguments in the call to be .true.
>>>>>
>>>>> Paul
>>>>>
>>>>> On Tue, 21 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>
>>>>>> Hi Paul,
>>>>>>
>>>>>> I checked the set_obj subroutine and implemented one in my .USR
>>>>>> file.
>>>>>> The code seem to run without any errors but I don't find where these
>>>>>> variables are getting stored.
>>>>>>
>>>>>> I use VisIT to visualize my output, even there was no change in it.
>>>>>>
>>>>>> do I have to define my own output file and write the variables out ?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Kamal.
>>>>>>
>>>>>>
>>>>>> On 20/01/2014 21:52, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>> Hi Kamal,
>>>>>>>
>>>>>>> You'll need to compute your own tke by manipulating the
>>>>>>> velocity fields.
>>>>>>>
>>>>>>> You can get running averages of the requisite quantities
>>>>>>> via calls to "avg_all" which is found in navier5.f
>>>>>>>
>>>>>>> You can compute shear stress on the wall simply by computing
>>>>>>> the drag on the wall, which can be done via a call to
>>>>>>> torque_calc(),
>>>>>>> also found in navier5.f
>>>>>>>
>>>>>>> If you cd to /examples and type:
>>>>>>>
>>>>>>> grep torq */*.usr
>>>>>>>
>>>>>>> you'll find many examples of calls to torque_calc. You simply
>>>>>>> need to prescribe the surfaces on which shear is to be integrated.
>>>>>>>
>>>>>>> I typically write a routine "set_obj" to identify such surfaces
>>>>>>> on the first call to usrchk.
>>>>>>>
>>>>>>> grep set_obj */*.usr
>>>>>>>
>>>>>>> will show similar examples.
>>>>>>>
>>>>>>> I would recommend trying this for laminar Poiseiulle flow in
>>>>>>> a very simple channel just to check that your calls are properly
>>>>>>> set.
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Paul
>>>>>>>
>>>>>>>
>>>>>>> On Mon, 20 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>
>>>>>>>> Hi Paul,
>>>>>>>>
>>>>>>>> Thanks and that helped.
>>>>>>>>
>>>>>>>> Where can I find the variables like Turbulent KE , shear stress on
>>>>>>>> the wall. ?
>>>>>>>>
>>>>>>>> Do i have to activate some parameters for calculating them ?
>>>>>>>>
>>>>>>>> If I had to plot them.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Kamal
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 20, 2014, at 5:41 AM, nek5000-users at lists.mcs.anl.gov
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Kamal,
>>>>>>>>>
>>>>>>>>> Looks good.
>>>>>>>>>
>>>>>>>>> I'm guessing that one further refinement would be:
>>>>>>>>>
>>>>>>>>> if (z.gt.z0) scale = 1 + (smax-1)*(z-z0)/(z1-z0)
>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>
>>>>>>>>> which would yield
>>>>>>>>>
>>>>>>>>> scale = 1 when z=z0
>>>>>>>>> scale = smax when z >= z1
>>>>>>>>>
>>>>>>>>> Paul
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, 19 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>
>>>>>>>>>> Hi paul,
>>>>>>>>>>
>>>>>>>>>> The code works fine, but there should be a small change thats
>>>>>>>>>> has
>>>>>>>>>> to be done
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> if (z.gt.z0) scale = 1 + (z /(z1-z0 )))
>>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>>
>>>>>>>>>> This creates a perfect diverging pipe.
>>>>>>>>>>
>>>>>>>>>> Thanks for the help paul.
>>>>>>>>>>
>>>>>>>>>> Kamal
>>>>>>>>>>
>>>>>>>>>> On Jan 20, 2014, at 12:09 AM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi paul,
>>>>>>>>>>>
>>>>>>>>>>> If I am not wrong,
>>>>>>>>>>> I make a mesh with three straight pipes( inlet, divergent,
>>>>>>>>>>> outlet ) connected together via n2to3 so that I know the
>>>>>>>>>>> element
>>>>>>>>>>> connectivity places of the divergent section (z0,z1) and use
>>>>>>>>>>> the
>>>>>>>>>>> section what you gave
>>>>>>>>>>>
>>>>>>>>>>> Thank you for the code
>>>>>>>>>>>
>>>>>>>>>>> Kamal
>>>>>>>>>>>
>>>>>>>>>>> On Jan 19, 2014, at 8:45 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>
>>>>>>>>>>>> I would do the following in usrdat2():
>>>>>>>>>>>>
>>>>>>>>>>>> n=nx1*ny1*nz1*nelt
>>>>>>>>>>>>
>>>>>>>>>>>> do i=1,n
>>>>>>>>>>>> x=xm1(i,1,1,1)
>>>>>>>>>>>> y=ym1(i,1,1,1)
>>>>>>>>>>>> z=ym1(i,1,1,1)
>>>>>>>>>>>> scale = 1.
>>>>>>>>>>>> if (z.gt.z0) scale = smax*(z-z0/(z1-z0)
>>>>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>>>> xm1(i,1,1,1) = scale*x
>>>>>>>>>>>> ym1(i,1,1,1) = scale*y
>>>>>>>>>>>> enddo
>>>>>>>>>>>>
>>>>>>>>>>>> Paul
>>>>>>>>>>>>
>>>>>>>>>>>> Make certain that z1 and z0 correspond to z values
>>>>>>>>>>>> that precisely coincide with element interfaces.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sun, 19 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I looked into the Peris example but It is so what same like
>>>>>>>>>>>>> the stenosis example with a Cosine deformation.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In my case it is a pipe with conical divergent. I tried to
>>>>>>>>>>>>> play around the variables Xm1, Ym1 and Zm1 but the mapping
>>>>>>>>>>>>> doesn't go well.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Could you please help me with this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Jan 18, 2014, at 7:26 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I looked at the Helix and stenosis example but they are
>>>>>>>>>>>>>> using
>>>>>>>>>>>>>> cosine functions to deform
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried to use a tangent function but it bends the whole
>>>>>>>>>>>>>> pipe.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I dint look at peris example .
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will take a look at it and let you know.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jan 18, 2014, at 7:22 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Have you looked at the peris example? The usr file there
>>>>>>>>>>>>>>> shows how to deform
>>>>>>>>>>>>>>> a pipe geometry.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>>>>>>>>>>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> [nek5000-users at lists.mcs.anl.gov]
>>>>>>>>>>>>>>> Sent: Saturday, January 18, 2014 12:17 PM
>>>>>>>>>>>>>>> To: nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Dear Paul,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I tried many ways to map my straight pipe geometry but it
>>>>>>>>>>>>>>> does not seem to work properly
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I used something like
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> X = X + Z * tan ( alpha )
>>>>>>>>>>>>>>> Y = Y + Z* tan (alpha )
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> even that dint work. could please help me with this
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kamal.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Jan 17, 2014, at 2:24 PM,
>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks paul. I tried working with the diverging mesh
>>>>>>>>>>>>>>>> modification.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I tried to use this form of equation to modify the mesh
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> z = mx + b
>>>>>>>>>>>>>>>> z = ny + c
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> x = ( z - b ) / m
>>>>>>>>>>>>>>>> y = (z - c) / n
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Do you think would work ? or is there any other way to
>>>>>>>>>>>>>>>> input that ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 17/01/2014 14:14, nek5000-users at lists.mcs.anl.govwrote:
>>>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) To check for convergence, run your simulation for
>>>>>>>>>>>>>>>>> increasing polynomial orders ( lx1 in the SIZE file) and
>>>>>>>>>>>>>>>>> measure some consistent quantity (drag, TKE, etc). You
>>>>>>>>>>>>>>>>> can plot this quantity against lx1 and this should give
>>>>>>>>>>>>>>>>> you a good picture of how you are converging (without
>>>>>>>>>>>>>>>>> needing to change the physical mesh).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2) If you weren't using temperature in your simulation,
>>>>>>>>>>>>>>>>> you could do put the following code snippet in your
>>>>>>>>>>>>>>>>> userchk
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> c-------------------------------------------
>>>>>>>>>>>>>>>>> integer i, ntot
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ntot = nx1*ny1*nz1*nelv ! total number of points in
>>>>>>>>>>>>>>>>> simulation (on THIS processor)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> do i = 1,ntot
>>>>>>>>>>>>>>>>> t(i,1,1,1,1) = 0.5*(vx(i,1,1,1)**2 + vy(i,1,1,1)**2 +
>>>>>>>>>>>>>>>>> vz(i,1,1,1)**2)
>>>>>>>>>>>>>>>>> enddo
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ifto = .true.
>>>>>>>>>>>>>>>>> c-------------------------------------------
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've assumed here that your density is unity. This
>>>>>>>>>>>>>>>>> computed kinetic energy point-wise and stores it in the
>>>>>>>>>>>>>>>>> temperature field. The part "ifto = .true." tells Nek to
>>>>>>>>>>>>>>>>> output the temperature field whenever it outputs a field
>>>>>>>>>>>>>>>>> file. You could then view this in visit just like you
>>>>>>>>>>>>>>>>> would the velocity field.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hope this helps!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Josh
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, Jan 15, 2014 at 9:52 AM,
>>>>>>>>>>>>>>>>> <nek5000-users at lists.mcs.anl.gov> wrote:
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I will try that mapping, I created a straight pipe to do
>>>>>>>>>>>>>>>>> some simulations.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) Is there a way to check my spectral convergence, so
>>>>>>>>>>>>>>>>> that I can do some mesh convergence study?
>>>>>>>>>>>>>>>>> 2) Is there a way to plot the kinetic energy in the
>>>>>>>>>>>>>>>>> flow ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 15/01/2014 12:14, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> For the geometry you describe, I would apply mesh
>>>>>>>>>>>>>>>>> morphing
>>>>>>>>>>>>>>>>> to a standard straight pipe. You can create such a pipe
>>>>>>>>>>>>>>>>> using a subset of the mkmesh script provided in the
>>>>>>>>>>>>>>>>> expansion
>>>>>>>>>>>>>>>>> example.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If your transition region is conical, then I woud make
>>>>>>>>>>>>>>>>> certain that the change in slope occurs at element
>>>>>>>>>>>>>>>>> boundaries,
>>>>>>>>>>>>>>>>> i.e., as in the half cross-section depicted below:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________
>>>>>>>>>>>>>>>>> /| | |
>>>>>>>>>>>>>>>>> / | | |
>>>>>>>>>>>>>>>>> /| | | |
>>>>>>>>>>>>>>>>> ________________/ | | | |
>>>>>>>>>>>>>>>>> | | | | | | | |
>>>>>>>>>>>>>>>>> | | | | | | | |
>>>>>>>>>>>>>>>>> +-----+-----+---+--+---+------+------+----> z
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, 15 Jan 2014, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I looked at the example and it looks very helpful, but
>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>> a sudden expansion we have only two parts (i.e) the inlet
>>>>>>>>>>>>>>>>> pipe and the outlet pipe. Whereas in a diverging pipe we
>>>>>>>>>>>>>>>>> have three section (i.e,) The inlet pipe, Diverging
>>>>>>>>>>>>>>>>> section and the outlet pipe.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Is it possible for me to create a 2D diverging section
>>>>>>>>>>>>>>>>> using mesh modification and revolve it around the centre
>>>>>>>>>>>>>>>>> axis to get a 3d diverging pipe ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> or should I apply the mesh modification directly to
>>>>>>>>>>>>>>>>> the 3d
>>>>>>>>>>>>>>>>> sudden expansion pipe using usrdat2() ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 14/01/2014 21:09, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks a lot for the update. I will take a look at as
>>>>>>>>>>>>>>>>> soon
>>>>>>>>>>>>>>>>> as possible and keep you updated with it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Jan 14, 2014, at 9:04 PM,
>>>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've added an example for a step-type expansion in a
>>>>>>>>>>>>>>>>> pipe.
>>>>>>>>>>>>>>>>> New example directory
>>>>>>>>>>>>>>>>> is nek5_svn/examples/expansion, with a README.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If you want a standard diffuser, I would use
>>>>>>>>>>>>>>>>> mesh-morphing, as outlined in the
>>>>>>>>>>>>>>>>> nek primer, which can be found on this page:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> http://nek5000.mcs.anl.gov/index.php/UG#Documentation
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've also automated our turbulent outflow bc treatment --
>>>>>>>>>>>>>>>>> one simply provides an
>>>>>>>>>>>>>>>>> expansion factor (typically ~ 1.5) and two persistent
>>>>>>>>>>>>>>>>> arrays to turb_outflow(), which
>>>>>>>>>>>>>>>>> is now in navier5.f. This can be useful when very
>>>>>>>>>>>>>>>>> strong vortices are leaving the
>>>>>>>>>>>>>>>>> domain, which is possible for certain diffuser flow
>>>>>>>>>>>>>>>>> conditions (and others).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>>> ________________________________________
>>>>>>>>>>>>>>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf
>>>>>>>>>>>>>>>>> ofnek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> [nek5000-users at lists.mcs.anl.gov]
>>>>>>>>>>>>>>>>> Sent: Monday, January 13, 2014 3:35 AM
>>>>>>>>>>>>>>>>> To: nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> Subject: [Nek5000-users] Creating a Mesh
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Can some one please help me in this because I am new
>>>>>>>>>>>>>>>>> to nek
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) How can I create a .rea for a specific geometry say
>>>>>>>>>>>>>>>>> ' A
>>>>>>>>>>>>>>>>> sudden
>>>>>>>>>>>>>>>>> expansion pipe ' or a ' Diverging pipe '
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2) What tool I should use to create that mesh.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> kamal
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Josh Camp
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> "All that is necessary for the triumph of evil is that
>>>>>>>>>>>>>>>>> good men do nothing" -- Edmund Burke
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Nek5000-users mailing list
>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>> _______________________________________________
>>>>>>>> Nek5000-users mailing list
>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Nek5000-users mailing list
>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>> _______________________________________________
>>>>>> Nek5000-users mailing list
>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>
>>>>> _______________________________________________
>>>>> Nek5000-users mailing list
>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
>
> On Fri, 24 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>
>> Hello Paul,
>>
>> Thanks for your reply. I am looking into the .usr file for defining
>> the set_obj ().
>>
>> 1) Could you please tell me what is 'Enter the number of levels ?' in
>> n2to3
>>
>> is it the number of elements in Z direction ?
>>
>> 2) As you said about storing the computed vorticity in velocity field
>> to view in VisIT, I found the routine to compute the vorticity but I
>> am stuck about adding it to the velocity filed to VisIT ? could you
>> please tell me how it works or any example which stores vorticity to
>> the .fld file as a separate variable.
>>
>>
>> Thank you
>>
>> Kamal
>>
>>
>> On 22/01/2014 16:53, nek5000-users at lists.mcs.anl.gov wrote:
>>> Axial viscous stress is given by torq_calc -- that's no problem
>>> whatsoever. You get a number as a
>>> function of time.
>>>
>>> You can even get stresses on multiple subsets of the geometry (e.g.,
>>> if you had multiple branches
>>> in the domain or multiple cylinders. The drag, which is a
>>> byproduct of the torque computation (which
>>> you can ignore), is given in terms of the viscous and pressure
>>> components separately and as the
>>> sum of the two.
>>>
>>> You can identify domain boundaries by checking the boundary
>>> conditions. Here, I recommend
>>> looking at the set_obj routines in several of the /example cases.
>>>
>>>
>>> ________________________________________
>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
>>> Sent: Wednesday, January 22, 2014 9:37 AM
>>> To: nek5000-users at lists.mcs.anl.gov
>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>
>>> Hello Paul
>>>
>>> I was thinking about taking the tangential velocity near to the wall
>>> so that I can figure out my length of the recirculation region.
>>>
>>> Is it possible for me to access the boundary elements of the mesh
>>> ??? so that I can take the boundary element and then obtain the
>>> velocity at that point so that I can figure out the length of my
>>> recirculation region.
>>>
>>> or take the *.fld file and read it to plot the datas I need.
>>>
>>>
>>> I also want to calculate the axial viscous force acting on the
>>> entire pipe.
>>>
>>> which is given by
>>>
>>> C_v = F^v / ( d^2 * rho * U^2 ) = double integral ( 1/Re * (du /
>>> dr) ) dtheta dz
>>>
>>>
>>> On Jan 22, 2014, at 4:07 PM, nek5000-users at lists.mcs.anl.gov wrote:
>>>
>>>> Hi Kamal,
>>>>
>>>> As I thought about it some more, if you're interested in the local
>>>> wall shear stress
>>>> magnitude I'm quite certain you can get this by plotting the
>>>> magnitude of vorticity
>>>> on the surface in question. (Note that the sign of the WSS, which
>>>> in fact is a tensor
>>>> or a vector when restricted to a given surface, is lost in this
>>>> process, but that might
>>>> not be relevant for your needs.) If that works, then you can
>>>> readily compute the
>>>> vorticity using one of the routines in nek and store the result in
>>>> a velocity field, then
>>>> view that field with VisIt. Of course WSS will require
>>>> multiplication by viscosity.
>>>>
>>>> hth,
>>>>
>>>> Paul
>>>>
>>>> ________________________________________
>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>>> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
>>>> Sent: Tuesday, January 21, 2014 10:33 AM
>>>> To: nek5000-users at lists.mcs.anl.gov
>>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>>
>>>> Hi paul,
>>>>
>>>> can I make this to be drag or shear quantities to be return to the a
>>>> separate file so that it will easy for me to plot.
>>>>
>>>> By the way it gives the integral quantity. Think for example I need to
>>>> find the shear stress on the wall from the inlet to outlet at a
>>>> particular time = 2 . How can I do that ?
>>>>
>>>> Is there way to find the number of elements in x,y and z direction ?
>>>>
>>>> On 21/01/2014 17:32, nek5000-users at lists.mcs.anl.gov wrote:
>>>>> Hi Kamal,
>>>>>
>>>>> Your integrated drag quantities should be written to the logfile
>>>>> (stdout),
>>>>> assuming you've set the arguments in the call to be .true.
>>>>>
>>>>> Paul
>>>>>
>>>>> On Tue, 21 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>
>>>>>> Hi Paul,
>>>>>>
>>>>>> I checked the set_obj subroutine and implemented one in my .USR
>>>>>> file.
>>>>>> The code seem to run without any errors but I don't find where these
>>>>>> variables are getting stored.
>>>>>>
>>>>>> I use VisIT to visualize my output, even there was no change in it.
>>>>>>
>>>>>> do I have to define my own output file and write the variables out ?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Kamal.
>>>>>>
>>>>>>
>>>>>> On 20/01/2014 21:52, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>> Hi Kamal,
>>>>>>>
>>>>>>> You'll need to compute your own tke by manipulating the
>>>>>>> velocity fields.
>>>>>>>
>>>>>>> You can get running averages of the requisite quantities
>>>>>>> via calls to "avg_all" which is found in navier5.f
>>>>>>>
>>>>>>> You can compute shear stress on the wall simply by computing
>>>>>>> the drag on the wall, which can be done via a call to
>>>>>>> torque_calc(),
>>>>>>> also found in navier5.f
>>>>>>>
>>>>>>> If you cd to /examples and type:
>>>>>>>
>>>>>>> grep torq */*.usr
>>>>>>>
>>>>>>> you'll find many examples of calls to torque_calc. You simply
>>>>>>> need to prescribe the surfaces on which shear is to be integrated.
>>>>>>>
>>>>>>> I typically write a routine "set_obj" to identify such surfaces
>>>>>>> on the first call to usrchk.
>>>>>>>
>>>>>>> grep set_obj */*.usr
>>>>>>>
>>>>>>> will show similar examples.
>>>>>>>
>>>>>>> I would recommend trying this for laminar Poiseiulle flow in
>>>>>>> a very simple channel just to check that your calls are properly
>>>>>>> set.
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Paul
>>>>>>>
>>>>>>>
>>>>>>> On Mon, 20 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>
>>>>>>>> Hi Paul,
>>>>>>>>
>>>>>>>> Thanks and that helped.
>>>>>>>>
>>>>>>>> Where can I find the variables like Turbulent KE , shear stress on
>>>>>>>> the wall. ?
>>>>>>>>
>>>>>>>> Do i have to activate some parameters for calculating them ?
>>>>>>>>
>>>>>>>> If I had to plot them.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Kamal
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 20, 2014, at 5:41 AM, nek5000-users at lists.mcs.anl.gov
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Kamal,
>>>>>>>>>
>>>>>>>>> Looks good.
>>>>>>>>>
>>>>>>>>> I'm guessing that one further refinement would be:
>>>>>>>>>
>>>>>>>>> if (z.gt.z0) scale = 1 + (smax-1)*(z-z0)/(z1-z0)
>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>
>>>>>>>>> which would yield
>>>>>>>>>
>>>>>>>>> scale = 1 when z=z0
>>>>>>>>> scale = smax when z >= z1
>>>>>>>>>
>>>>>>>>> Paul
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, 19 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>
>>>>>>>>>> Hi paul,
>>>>>>>>>>
>>>>>>>>>> The code works fine, but there should be a small change thats
>>>>>>>>>> has
>>>>>>>>>> to be done
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> if (z.gt.z0) scale = 1 + (z /(z1-z0 )))
>>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>>
>>>>>>>>>> This creates a perfect diverging pipe.
>>>>>>>>>>
>>>>>>>>>> Thanks for the help paul.
>>>>>>>>>>
>>>>>>>>>> Kamal
>>>>>>>>>>
>>>>>>>>>> On Jan 20, 2014, at 12:09 AM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi paul,
>>>>>>>>>>>
>>>>>>>>>>> If I am not wrong,
>>>>>>>>>>> I make a mesh with three straight pipes( inlet, divergent,
>>>>>>>>>>> outlet ) connected together via n2to3 so that I know the
>>>>>>>>>>> element
>>>>>>>>>>> connectivity places of the divergent section (z0,z1) and use
>>>>>>>>>>> the
>>>>>>>>>>> section what you gave
>>>>>>>>>>>
>>>>>>>>>>> Thank you for the code
>>>>>>>>>>>
>>>>>>>>>>> Kamal
>>>>>>>>>>>
>>>>>>>>>>> On Jan 19, 2014, at 8:45 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>
>>>>>>>>>>>> I would do the following in usrdat2():
>>>>>>>>>>>>
>>>>>>>>>>>> n=nx1*ny1*nz1*nelt
>>>>>>>>>>>>
>>>>>>>>>>>> do i=1,n
>>>>>>>>>>>> x=xm1(i,1,1,1)
>>>>>>>>>>>> y=ym1(i,1,1,1)
>>>>>>>>>>>> z=ym1(i,1,1,1)
>>>>>>>>>>>> scale = 1.
>>>>>>>>>>>> if (z.gt.z0) scale = smax*(z-z0/(z1-z0)
>>>>>>>>>>>> if (z.gt.z1) scale = smax
>>>>>>>>>>>> xm1(i,1,1,1) = scale*x
>>>>>>>>>>>> ym1(i,1,1,1) = scale*y
>>>>>>>>>>>> enddo
>>>>>>>>>>>>
>>>>>>>>>>>> Paul
>>>>>>>>>>>>
>>>>>>>>>>>> Make certain that z1 and z0 correspond to z values
>>>>>>>>>>>> that precisely coincide with element interfaces.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sun, 19 Jan 2014, nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I looked into the Peris example but It is so what same like
>>>>>>>>>>>>> the stenosis example with a Cosine deformation.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In my case it is a pipe with conical divergent. I tried to
>>>>>>>>>>>>> play around the variables Xm1, Ym1 and Zm1 but the mapping
>>>>>>>>>>>>> doesn't go well.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Could you please help me with this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Jan 18, 2014, at 7:26 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I looked at the Helix and stenosis example but they are
>>>>>>>>>>>>>> using
>>>>>>>>>>>>>> cosine functions to deform
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried to use a tangent function but it bends the whole
>>>>>>>>>>>>>> pipe.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I dint look at peris example .
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will take a look at it and let you know.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jan 18, 2014, at 7:22 PM, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Have you looked at the peris example? The usr file there
>>>>>>>>>>>>>>> shows how to deform
>>>>>>>>>>>>>>> a pipe geometry.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>>>>>>>>>>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> [nek5000-users at lists.mcs.anl.gov]
>>>>>>>>>>>>>>> Sent: Saturday, January 18, 2014 12:17 PM
>>>>>>>>>>>>>>> To: nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> Subject: Re: [Nek5000-users] Pipe with expansion
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Dear Paul,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I tried many ways to map my straight pipe geometry but it
>>>>>>>>>>>>>>> does not seem to work properly
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I used something like
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> X = X + Z * tan ( alpha )
>>>>>>>>>>>>>>> Y = Y + Z* tan (alpha )
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> even that dint work. could please help me with this
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kamal.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Jan 17, 2014, at 2:24 PM,
>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks paul. I tried working with the diverging mesh
>>>>>>>>>>>>>>>> modification.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I tried to use this form of equation to modify the mesh
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> z = mx + b
>>>>>>>>>>>>>>>> z = ny + c
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> x = ( z - b ) / m
>>>>>>>>>>>>>>>> y = (z - c) / n
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Do you think would work ? or is there any other way to
>>>>>>>>>>>>>>>> input that ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 17/01/2014 14:14, nek5000-users at lists.mcs.anl.govwrote:
>>>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) To check for convergence, run your simulation for
>>>>>>>>>>>>>>>>> increasing polynomial orders ( lx1 in the SIZE file) and
>>>>>>>>>>>>>>>>> measure some consistent quantity (drag, TKE, etc). You
>>>>>>>>>>>>>>>>> can plot this quantity against lx1 and this should give
>>>>>>>>>>>>>>>>> you a good picture of how you are converging (without
>>>>>>>>>>>>>>>>> needing to change the physical mesh).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2) If you weren't using temperature in your simulation,
>>>>>>>>>>>>>>>>> you could do put the following code snippet in your
>>>>>>>>>>>>>>>>> userchk
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> c-------------------------------------------
>>>>>>>>>>>>>>>>> integer i, ntot
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ntot = nx1*ny1*nz1*nelv ! total number of points in
>>>>>>>>>>>>>>>>> simulation (on THIS processor)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> do i = 1,ntot
>>>>>>>>>>>>>>>>> t(i,1,1,1,1) = 0.5*(vx(i,1,1,1)**2 + vy(i,1,1,1)**2 +
>>>>>>>>>>>>>>>>> vz(i,1,1,1)**2)
>>>>>>>>>>>>>>>>> enddo
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ifto = .true.
>>>>>>>>>>>>>>>>> c-------------------------------------------
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've assumed here that your density is unity. This
>>>>>>>>>>>>>>>>> computed kinetic energy point-wise and stores it in the
>>>>>>>>>>>>>>>>> temperature field. The part "ifto = .true." tells Nek to
>>>>>>>>>>>>>>>>> output the temperature field whenever it outputs a field
>>>>>>>>>>>>>>>>> file. You could then view this in visit just like you
>>>>>>>>>>>>>>>>> would the velocity field.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hope this helps!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Josh
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, Jan 15, 2014 at 9:52 AM,
>>>>>>>>>>>>>>>>> <nek5000-users at lists.mcs.anl.gov> wrote:
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I will try that mapping, I created a straight pipe to do
>>>>>>>>>>>>>>>>> some simulations.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) Is there a way to check my spectral convergence, so
>>>>>>>>>>>>>>>>> that I can do some mesh convergence study?
>>>>>>>>>>>>>>>>> 2) Is there a way to plot the kinetic energy in the
>>>>>>>>>>>>>>>>> flow ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 15/01/2014 12:14, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> For the geometry you describe, I would apply mesh
>>>>>>>>>>>>>>>>> morphing
>>>>>>>>>>>>>>>>> to a standard straight pipe. You can create such a pipe
>>>>>>>>>>>>>>>>> using a subset of the mkmesh script provided in the
>>>>>>>>>>>>>>>>> expansion
>>>>>>>>>>>>>>>>> example.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If your transition region is conical, then I woud make
>>>>>>>>>>>>>>>>> certain that the change in slope occurs at element
>>>>>>>>>>>>>>>>> boundaries,
>>>>>>>>>>>>>>>>> i.e., as in the half cross-section depicted below:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________
>>>>>>>>>>>>>>>>> /| | |
>>>>>>>>>>>>>>>>> / | | |
>>>>>>>>>>>>>>>>> /| | | |
>>>>>>>>>>>>>>>>> ________________/ | | | |
>>>>>>>>>>>>>>>>> | | | | | | | |
>>>>>>>>>>>>>>>>> | | | | | | | |
>>>>>>>>>>>>>>>>> +-----+-----+---+--+---+------+------+----> z
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, 15 Jan 2014, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I looked at the example and it looks very helpful, but
>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>> a sudden expansion we have only two parts (i.e) the inlet
>>>>>>>>>>>>>>>>> pipe and the outlet pipe. Whereas in a diverging pipe we
>>>>>>>>>>>>>>>>> have three section (i.e,) The inlet pipe, Diverging
>>>>>>>>>>>>>>>>> section and the outlet pipe.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Is it possible for me to create a 2D diverging section
>>>>>>>>>>>>>>>>> using mesh modification and revolve it around the centre
>>>>>>>>>>>>>>>>> axis to get a 3d diverging pipe ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> or should I apply the mesh modification directly to
>>>>>>>>>>>>>>>>> the 3d
>>>>>>>>>>>>>>>>> sudden expansion pipe using usrdat2() ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 14/01/2014 21:09, nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> Hi Paul,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks a lot for the update. I will take a look at as
>>>>>>>>>>>>>>>>> soon
>>>>>>>>>>>>>>>>> as possible and keep you updated with it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Kamal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Jan 14, 2014, at 9:04 PM,
>>>>>>>>>>>>>>>>> nek5000-users at lists.mcs.anl.gov wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Kamal,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've added an example for a step-type expansion in a
>>>>>>>>>>>>>>>>> pipe.
>>>>>>>>>>>>>>>>> New example directory
>>>>>>>>>>>>>>>>> is nek5_svn/examples/expansion, with a README.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If you want a standard diffuser, I would use
>>>>>>>>>>>>>>>>> mesh-morphing, as outlined in the
>>>>>>>>>>>>>>>>> nek primer, which can be found on this page:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> http://nek5000.mcs.anl.gov/index.php/UG#Documentation
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've also automated our turbulent outflow bc treatment --
>>>>>>>>>>>>>>>>> one simply provides an
>>>>>>>>>>>>>>>>> expansion factor (typically ~ 1.5) and two persistent
>>>>>>>>>>>>>>>>> arrays to turb_outflow(), which
>>>>>>>>>>>>>>>>> is now in navier5.f. This can be useful when very
>>>>>>>>>>>>>>>>> strong vortices are leaving the
>>>>>>>>>>>>>>>>> domain, which is possible for certain diffuser flow
>>>>>>>>>>>>>>>>> conditions (and others).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Paul
>>>>>>>>>>>>>>>>> ________________________________________
>>>>>>>>>>>>>>>>> From: nek5000-users-bounces at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> [nek5000-users-bounces at lists.mcs.anl.gov] on behalf
>>>>>>>>>>>>>>>>> ofnek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> [nek5000-users at lists.mcs.anl.gov]
>>>>>>>>>>>>>>>>> Sent: Monday, January 13, 2014 3:35 AM
>>>>>>>>>>>>>>>>> To: nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> Subject: [Nek5000-users] Creating a Mesh
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Can some one please help me in this because I am new
>>>>>>>>>>>>>>>>> to nek
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1) How can I create a .rea for a specific geometry say
>>>>>>>>>>>>>>>>> ' A
>>>>>>>>>>>>>>>>> sudden
>>>>>>>>>>>>>>>>> expansion pipe ' or a ' Diverging pipe '
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2) What tool I should use to create that mesh.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> kamal
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Josh Camp
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> "All that is necessary for the triumph of evil is that
>>>>>>>>>>>>>>>>> good men do nothing" -- Edmund Burke
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Nek5000-users mailing list
>>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Nek5000-users mailing list
>>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>> _______________________________________________
>>>>>>>> Nek5000-users mailing list
>>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Nek5000-users mailing list
>>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>> _______________________________________________
>>>>>> Nek5000-users mailing list
>>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>>>
>>>>> _______________________________________________
>>>>> Nek5000-users mailing list
>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
-------------- next part --------------
c-----------------------------------------------------------------------
C
C USER SPECIFIED ROUTINES:
C
C - boundary conditions
C - initial conditions
C - variable properties
C - local acceleration for fluid (a)
C - forcing function for passive scalar (q)
C - general purpose routine for checking errors etc.
C
c-----------------------------------------------------------------------
subroutine uservp (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,f,eg
c e = gllel(eg)
udiff =0.
utrans=0.
return
end
c-----------------------------------------------------------------------
subroutine userf (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,f,eg
c e = gllel(eg)
c Note: this is an acceleration term, NOT a force!
c Thus, ffx will subsequently be multiplied by rho(x,t).
ffx = 0.0
ffy = 0.0
ffz = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userq (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,f,eg
c e = gllel(eg)
qvol = 0.0
source = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userchk
include 'SIZE'
include 'TOTAL'
parameter (lt=lx1*ly1*lz1*lelt)
common /myjunk/ vort(lt,3),w11(lt),w21(lt)
common /myoutflow/ d(lx1*ly1*lz1*lelt),w1(lx1*ly1*lz1*lelt)
n = nx1*ny1*nz1*nelv
wmax = glmax(vz,n)
ubar = 0.
uarea = 0.
do e=1,nelv
do f=1,2*ndim
if (cbc(f,e,1).eq.'v ') then
call surface_int(uint,aint,vz,e,f)
ubar = ubar + uint
uarea = uarea + aint
endif
enddo
enddo
ubar = glsum(ubar ,1)
uarea = glsum(uarea,1)
if (uarea.gt.0) ubar = ubar/uarea
if (nid.eq.0) write(6,1) istep,time,uarea,ubar,wmax
1 format(i9,1p4e12.4,' ubar')
if (istep.eq.0) call set_obj
if (mod(istep,100).eq.0) call avg_all
if (mod(istep,100).eq.0) call torque_calc(1.0,x0,.false.,.true.)
if (mod(istep,iostep).eq.0) then
call comp_vort3(vort,w11,w21,vx,vy,vz)
call outpost(vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt')
end if
c
ifxyo = .true.
if (iostep.gt.0.and.istep.gt.iostep) ifxyo = .false.
return
end
c-----------------------------------------------------------------------
subroutine userbc (ix,iy,iz,iside,ieg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,eg
common /mygeom/ xmin,xmax,ymin,ymax
delta = 1
if (z.le.0) delta = 0.5
xd=x/delta
yd=y/delta
rr=xd*xd+yd*yd
scale = 2*(0.5/delta)**2 ! Ubar = 1 in inlet pipe (r=0.5)
ux=0.0
uy=0.0
uz=scale*(1-rr)
temp=0.0
return
end
c-----------------------------------------------------------------------
subroutine useric (ix,iy,iz,ieg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,eg
delta = 1
if (z.le.0) delta = 0.5
xd=x/delta
yd=y/delta
rr=xd*xd+yd*yd
scale = 2*(0.5/delta)**2 ! Ubar = 1 in inlet pipe (r=0.5)
ux=0.0
uy=0.0
uz=scale*(1-rr)
temp=0.0
return
end
c-----------------------------------------------------------------------
subroutine usrdat
include 'SIZE'
include 'TOTAL'
c
return
end
c-----------------------------------------------------------------------
subroutine usrdat3
include 'SIZE'
include 'TOTAL'
c
return
end
c-----------------------------------------------------------------------
subroutine usrdat2 ! Modify geometry
include 'SIZE'
include 'TOTAL'
common /mygeom/ xmin,xmax,ymin,ymax
n = nx1*ny1*nz1*nelt
scal = 0.5 ! Rescale radius from 1.0 to 0.5
call cmult(xm1,scal,n)
call cmult(ym1,scal,n)
xmin = glmin(xm1,n)
ymin = glmin(ym1,n)
xmax = glmax(xm1,n)
ymax = glmax(ym1,n)
smax = 2.0
z0 = 0.
z1 = 1.
do i=1,n
x = xm1(i,1,1,1)
y = ym1(i,1,1,1)
z = zm1(i,1,1,1)
scale = 1.
if (z.gt.z0) scale = 1 + (smax-1)*(z-z0)/(z1-z0)
if (z.gt.z1) scale = smax
xm1(i,1,1,1) = scale*x
ym1(i,1,1,1) = scale*y
enddo
param(59) = 1 ! Force ifdfrm=.true. ( 8/26/03 )
ifxyo = .true.
c call outpost(xm1,ym1,zm1,pr,t,' ')
c call exitt
return
end
c-----------------------------------------------------------------------
subroutine set_obj ! define objects for surface integrals
c
include 'SIZE'
include 'TOTAL'
c
integer e,f
c
c Define new objects
c
nobj = 1 ! for Periodic
iobj = 0
do ii=nhis+1,nhis+nobj
iobj = iobj+1
hcode(10,ii) = 'I'
hcode( 1,ii) = 'F' ! 'F'
hcode( 2,ii) = 'F' ! 'F'
hcode( 3,ii) = 'F' ! 'F'
lochis(1,ii) = iobj
enddo
nhis = nhis + nobj
c
if (maxobj.lt.nobj) write(6,*) 'increase maxobj in SIZEu. rm *.o'
if (maxobj.lt.nobj) call exitt
c
nxyz = nx1*ny1*nz1
do e=1,nelv
do f=1,2*ndim
if (cbc(f,e,1).eq.'W ') then
iobj = 1
if (iobj.gt.0) then
nmember(iobj) = nmember(iobj) + 1
mem = nmember(iobj)
ieg = lglel(e)
object(iobj,mem,1) = ieg
object(iobj,mem,2) = f
c write(6,1) iobj,mem,f,ieg,e,nid,' OBJ'
1 format(6i9,a4)
endif
c
endif
enddo
enddo
c write(6,*) 'number',(nmember(k),k=1,4)
c
return
end
More information about the Nek5000-users
mailing list