[Nek5000-users] How to identify boundary faces ?

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Wed Jan 30 15:40:17 CST 2013


Dear Nek heads,
I am having trouble getting Nek5000 to read my restart file. The file is an
ASCII file that was written from a previous run. I set parameter p67 to -1
to read in an ascii restart file. Here is the error message in the .o file:

 set initial conditions
 Checking restart options:
sqduct.fld06

 nekuic (1) for ifld            1
 Reading checkpoint data
     WARNING:  No data read in for file
sqduct.fld06

     Failed on  element   2,  point    0.
     Last read dump:
   0.000000      0.2641195E-02   0.000000       0.000000       0.000000
     Last read dump:
   0.000000       0.000000     -0.6859594E-02  0.2343750E-01 -0.2600098E-01
     Last read dump:
  0.2600098E-01 -0.1855469E-01
           0 call exitt 1702a           1


Here is the restart call in the .rea file:

  ***** NO THERMAL BOUNDARY CONDITIONS *****
            1 RESTART OPTIONS FOLLOW
 sqduct.fld06
            1 INITIAL CONDITIONS *****
C Default


Here is the first few lines of the restart file sqduct.fld06:


****   8   8   8 8.0000000E+01 1500 X Y Z U P
NELT,NX,NY,N
  0.000      0.000      0.000      0.000      0.000      0.000
  0.000      0.000      0.000      0.000      0.000      0.000
  0.000      0.000      0.000      0.000      0.000      0.000
  0.000      0.000      0.000      0.000      0.000      0.000
  0.000      0.000      0.000      0.000      0.000      0.000
  0.000      0.000      0.000      0.000      0.000      0.000


Note that the problem is a square duct with 24 x 24 x 32 elements, which
equal 18432 total elements. Since this is a 5 digit number, I suppose that
is why it is not shown in the first line in the field file.  However, I
tried changing the four *'s to 18432, along with a few other variations,
and no luck, same error. Also, the numbers in the dump after the error
message above don't seem to appear in the restart file. Also, I don't have
any trouble withe a restart file that has only 6 x 6 x 8 = 288 elements in
it. Finally, I am using a version of Nek500 that I downloaded about 11
months ago.

Help is appreciated.

Rich Johnson





On Tue, Jan 29, 2013 at 10:27 PM, <nek5000-users at lists.mcs.anl.gov> wrote:

>
> On Wed, Jan 30, 2013 at 10:13 AM, <nek5000-users at lists.mcs.anl.gov> wrote:
>
>> Hello
>> I want to identify boundary faces to set their boundary condition type.
>> Following some of the examples, I created the following function. To find
>> the location of the face, I need to know the coordinates (xf,yf) of the
>> face center using which I can figure out where the face lies. Is this
>> possible to find ?
>>
>> Thanks
>> praveen
>>
>
> Hello
>
> By looking at this
>
> http://nek5000.mcs.anl.gov/index.php/Element_Definition
>
> I made the following code. This is a 2d problem and in blue part below I
> am getting face midpoint coordinates. I am not sure I have got the
> numbering of the faces correct.
>
> Thanks
> praveen
>
> C=======================================================================
>       subroutine usrdat2
>
>       include 'SIZE'
>       include 'TOTAL'
>
>       parameter(XTOL=1e-10)
>       character*3 cbv
>       integer e, f
>       real xmin, xmax, ymax, xf(4), yf(4)
>
>       xmin = -5.0
>       xmax = +10.0
>       ymax =  3.0
>
> c set boundary conditions
>       do e = 1,nelv
>          xf(3) = 0.5*(xm1(1,  1,  1,e) + xm1(nx1,1,  1,e))
>          xf(2) = 0.5*(xm1(nx1,1,  1,e) + xm1(nx1,ny1,1,e))
>          xf(4) = 0.5*(xm1(1,  ny1,1,e) + xm1(nx1,ny1,1,e))
>          xf(1) = 0.5*(xm1(1,  ny1,1,e) + xm1(1,  1,  1,e))
>          yf(3) = 0.5*(ym1(1,  1,  1,e) + ym1(nx1,1,  1,e))
>          yf(2) = 0.5*(ym1(nx1,1,  1,e) + ym1(nx1,ny1,1,e))
>          yf(4) = 0.5*(ym1(1,  ny1,1,e) + ym1(nx1,ny1,1,e))
>          yf(1) = 0.5*(ym1(1,  ny1,1,e) + ym1(1,  1,  1,e))
>          do f = 1,2*ndim
>             cbv = cbc(f,e,1)
>             if (cbv.ne.'E  ') then       ! This is boundary edge
>                if(abs(xf(f)-xmin).lt.XTOL)then
>                    cbc(f,e,1) = 'v  '   ! inlet
>                else if(abs(xf(f)-xmax).lt.XTOL)then
>                    cbc(f,e,1) = 'O  '   ! outlet
>                else if(abs(yf(f)-ymax).lt.XTOL)then
>                    cbc(f,e,1) = 'SYM'   ! top wall
>                else
>                    cbc(f,e,1) = 'W  '   ! bottom wall
>                endif
>             endif
>          enddo
>       enddo
>
>       return
>       end
>
>
> _______________________________________________
> Nek5000-users mailing list
> 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/20130130/36ee1b32/attachment.html>


More information about the Nek5000-users mailing list