[Nek5000-users] How to identify boundary faces ?
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Wed Jan 30 17:23:10 CST 2013
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>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20130130/f7921200/attachment.html>
More information about the Nek5000-users
mailing list