[Nek5000-users] How to identify boundary faces ?

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Wed Jan 30 18:04:01 CST 2013


Katie
Thank you. The alternate heading worked. Which is better than re-running
the 2.5 week long DNS calculation that created it.
Rich Johnson

On Wed, Jan 30, 2013 at 4:23 PM, <nek5000-users at lists.mcs.anl.gov> wrote:

> Hi Rich,
>
> I have updated the subroutine that dumps out ASCII files to expend the
> format for larger element counts.
>
> Keeping
> p66 = -1   ! write
> p67 = -1   ! read
>
> in your .rea file is fine.
>
> Your best option is to re-run the case that produced this restart file so
> that the header is now correct.
>
> If you don't want to update the source and re-run the case that produced
> this restart file, it "should" work if you  change the first line of the
> restart file from:
> ****   8   8   8 8.0000000E+01 1500 X Y Z U P
> NELT,NX,NY,N
>
> to
>      18432   8   8   8   8.800000000E+01     1500 X Y Z U
> P                      NELT,NX,NY,N
>
> spacing is important.
>
> Best,
> Katie
>
>
>
> On Wed, Jan 30, 2013 at 5:04 PM, <nek5000-users at lists.mcs.anl.gov> wrote:
>
>>
>>
>> Hi Rich,
>>
>> Try, in usrdat2():
>>
>>       param(67)=0  ! Set read format
>>
>>
>> (66 is for write format)
>>
>> Let me know if this works.
>>
>> Cheers,
>>
>> Paul
>>
>>
>>
>>
>> On Wed, 30 Jan 2013, nek5000-users at lists.mcs.anl.**gov<nek5000-users at lists.mcs.anl.gov>wrote:
>>
>>  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<nek5000-users at lists.mcs.anl.gov>>
>>> wrote:
>>>
>>>
>>>> On Wed, Jan 30, 2013 at 10:13 AM, <nek5000-users at lists.mcs.anl.**gov<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<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 <Nek5000-users at lists.mcs.anl.gov>
>>>> https://lists.mcs.anl.gov/**mailman/listinfo/nek5000-users<https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
>>>>
>>>>
>>>>
>>>  ______________________________**_________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.**gov <Nek5000-users at lists.mcs.anl.gov>
>> https://lists.mcs.anl.gov/**mailman/listinfo/nek5000-users<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 --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20130130/f1067755/attachment-0001.html>


More information about the Nek5000-users mailing list