[Nek5000-users] Copy velocity slice from one boundary to another

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Tue Mar 28 07:18:56 CDT 2017


Vatslav,

what I do and it seems to work for my case is the following. Let assume you have two pipes (pipe 1 with periodic bc and pipe 2 with inlet/outlet), and that the flow is moving from pipe 1 to pipe 2. The solution from pipe 1 is interpolated to pipe 2 and used as inlet condition.

In a separate subroutine, do the following:

  *   in pipe 1, look for the boundary faces with P boundary condition that will be used for the interpolation and substitute P with inP.
  *   in pipe 2, look for the boundary faces with v boundary condition and substitute v with inV.

In a subroutine analogous to set_inflag:

  *   in pipe 1, collect boundary faces with flag inP, set intflag to 1 for this boundary face, and substitute back boundary condition to P.
  *   in pip2, do the same: inV - > v

After, this step, you have marked all boundary faces that will be involved in the interpolation process in Nek5000. From this point, the steps are similar to what is done in the examples. All of this is done in my usr file.

Hope this help,

Marco

On Mar 27, 2017, at 5:47 AM, nek5000-users at lists.mcs.anl.gov<mailto:nek5000-users at lists.mcs.anl.gov> wrote:

Thanks a lot for replying, your answer was very useful.

I look on multimesh.f file.
As i understood, i need set subroutine 'set_inflag' to look for 'P  ' bc.
After this i need to call 'get_values(field)' subroutine, which interpolate and put the value in valint(ix,iy,iz,ie,ifld) array.
And then this array will be available in userbc in .usr file, to set it on inflow boundary.

c-----------------------------------------------------------------------------------------------

Vatslav,
you will have to use the neknek script that allows you to exchange data between two Nek5000 sessions that are run simultaneously. You should have a look at the neknek examples to understand how to set up your usr file.
Some of the subroutines that will be useful to you are located in the following link: http://www.mcs.anl.gov/research/projects/nek5/docs/html/multimesh_8f_source.html
You will have to modify some of them to fit your needs since for example the subroutine ?set_inflag? is written to look for ?in? boundary conditions and replace them with ?v  ?. You will need a subroutine that looks for ?in? and substitute it with either ?v  ? or ?P  ? depending on the which pipe you are at.
Marco

Hi, Neks!
I have two pipes in my simulation. They are placed near each other on one axis with empty space between.
One of them with periodic boundary conditions on z direction, another one - inflow -> outflow.
How can I copy velocity slice from one of boundary on first pipe with periodic bc to the inflow boundary on second pipe?
Regards, Vatslav

c-----------------------------------------------------------------------------------------------

Regards, Vatslav
_______________________________________________
Nek5000-users mailing list
Nek5000-users at lists.mcs.anl.gov<mailto:Nek5000-users at lists.mcs.anl.gov>
https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20170328/98fafd25/attachment-0001.html>


More information about the Nek5000-users mailing list