[Nek5000-users] mesh problems
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Thu Dec 27 05:57:06 CST 2012
Hi Joerg,
We are presently working on all aspects of the workflow for large
element counts. (Yours is > 2.5x larger than any previous ones
that I'm aware of.)
You can test your prex theory by running a case with just
a few slabs in z.
Typically I would have n2to3 build the mesh with fairly
large spacing in z and then use usrdat2() to recompress
to the desired z range --- the reason for this is that
genmap needs to identify the mesh topology based on the
mesh geometry (i.e., the vertex locations), which requires
distinguishing "coincident" vertices by the Euclidean
distance separating them. There are tolerances (as prompted
in genmap) that give some control in making the proper
distinction and the tolerance are relative, based on local
edge length of the given elements. In any case, this is a
possible source of the error you're encountering. Increasing
the z spacing reduces the dimensionality of the difficulty
so that z-separation is obvious.
Regarding the long runtime for matlab - yes, this is possible.
(Obviously, extending this phase to parallel execution is a
high priority for us.) It's also possible that if the graph
of the mesh were messed up (e.g., from genmap) then the matlab
phase might take longer to find optimal coarsening/interpolation
for amg.
A reasonable stategy at this point might be to increase the
polynomial order, which would allow, say, a factor (10/8)^3
or (12/10)^3 reduction in the number of elements you need and
thus significantly cut down on some of the difficulties you're
encountering.
hth,
Paul
On Thu, 27 Dec 2012, nek5000-users at lists.mcs.anl.gov wrote:
> Dear Neks,
>
> I generated a big mesh with 7948800 elements for a cylindrical cell of aspect ratio 3, i.e.
>
> x between -1.5 and 1.5
> y between -1.5 and 1.5
> z between 0 and 1
>
> prex, n2to3, reatore2, amgdump and genmap worked. The AMG preconditioning with go.m worked as well (runtime 3.5 weeks).
>
> prex started out of 3 basic elements which were refined with multi split into
>
> Element1: 90, 90 subelements
> Element2: 70, 90
> Element3: 70, 90
> stretch, r, factor 3
>
> I started the job on BG/Q and get the following error messages in the output file:
>
> bash-4.1$ m G3_96.out.0
> /----------------------------------------------------------\
> | _ __ ______ __ __ ______ ____ ____ ____ |
> | / | / // ____// //_/ / ____/ / __ \ / __ \ / __ \ |
> | / |/ // __/ / ,< /___ \ / / / // / / // / / / |
> | / /| // /___ / /| | ____/ / / /_/ // /_/ // /_/ / |
> | /_/ |_//_____//_/ |_|/_____/ \____/ \____/ \____/ |
> | |
> |----------------------------------------------------------|
> | |
> | NEK5000: Open Source Spectral Element Solver |
> | COPYRIGHT (c) 2008-2010 UCHICAGO ARGONNE, LLC |
> | Version: 1.0rc1 / SVN r838 |
> | Web: http://nek5000.mcs.anl.gov |
> | |
> \----------------------------------------------------------/
>
>
> Number of processors: 65536
> REAL wdsize : 8
> INTEGER wdsize : 4
>
>
> Beginning session:
> /homec/hil02/hil020/nek5_svn/g396_r097_Lx1_08_Ra1e9/G3_96.rea
>
>
> timer accuracy: 1.4962500E-07 sec
>
> read .rea file
> read .re2 file
> byte swap: T -0.2931277218E+36 6.543210030
> nelgt/nelgv/lelt: 7948800 7948800 150
> lx1 /lx2 /lx3 : 4 2 4
>
> mapping elements to processors
> element load imbalance: 1 121 122
> done :: mapping elements to processors
>
> reading mesh
> reading curved sides
> reading bc for ifld 1
> reading bc for ifld 2
> done :: read .re2 file
>
> 0 objects found
> done :: read .rea file 496.34 sec
>
> Reset the target Courant number to .5
> setup mesh topology
> Right-handed check complete for 7948800 elements. OK.
> setvert3d: 4 152084809 215675209 152084809 152084809
> call usrsetvert
> done :: usrsetvert
>
> gs_setup: 50336837 unique labels shared
> pairwise times (avg, min, max): 0.00330717 0.000218656 0.00853093
> crystal router : 0.0077495 0.00761262 0.00818637
> used all_to_all method: crystal router
> setupds time 6.1645E-01 seconds 0 4 152084809 7948800
> 8 max multiplicity
> done :: setup mesh topology
>
> call usrdat
> done :: usrdat
>
> generate geomerty data
> vol_t,vol_v: 7.06857958483581861 7.06857958483581861
> done :: generate geomerty data
>
> call usrdat2
> done :: usrdat2
>
> regenerate geomerty data 1
> vol_t,vol_v: 7.06857958483581861 7.06857958483581861
> done :: regenerate geomerty data 1
>
> verify mesh topology
> -1.50001142304138035 1.50001142290878886 Xrange
> -1.50001142298026835 1.50001142292693612 Yrange
> 0.000000000000000000E+00 1.00000000000000000 Zrange
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 4 2 1 954634
> i,j,k,ie: 1 2 1 916744
> i,j,k,ie: 2 4 2 972970
> i,j,k,ie: 2 1 1 931570
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 4 2 1 957874
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 4 2 1 996664
> Near X = -.12308168E-01 -.34092836 .60036000E-01, d: .12947845E-04 .00000000E+00 81.225474
> WARNING1 Element mesh mismatch at:
> Near X = .11336871E-01 -.82826699 .61838637E-01, d: .00000000E+00 -.11766071E-04 88.069931
> Near X = .97128875E-05 .82845591 .60036000E-01, d: .00000000E+00 -.20015559E-04 88.069931
> i,j,k,ie: 2 1 1 981007
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 1 1 939607
> i,j,k,ie: 4 2 4 995854
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 4 3 972989
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 4 4 931590
> Near X = .12193251E-01 .42841310 .66558003E-01, d: .00000000E+00 -.12947474E-04 81.991313
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 4 2 4 916204
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 1 2 4 958144
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> Near X = .12320624E-01 .31593135 .73282003E-01, d: .12573222E-04 .00000000E+00 81.079569
> i,j,k,ie: 3 2 4 541894
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 1 1 981003
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 4 1 939603
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> i,j,k,ie: 2 4 4 890151
> WARNING1 Element mesh mismatch at:
> Near X = -.62894639E-05 -1.1769232 .60036000E-01, d: .15284684E-04 .00000000E+00 92.459135
> WARNING1 Element mesh mismatch at:
> Near X = .63923475E-05 1.1769232 .60036000E-01, d: .00000000E+00 -.15284684E-04 92.458255
> i,j,k,ie: 3 2 4 2524
> i,j,k,ie: 3 2 4 624964
> Near X = -.10302672E-04 .82845591 .60036000E-01, d: .20015559E-04 .00000000E+00 88.062609
> i,j,k,ie: 2 4 4 62171
> i,j,k,ie: 2 4 4 600363
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> WARNING1 Element mesh mismatch at:
> ---------------------------------------------------------
> and so on
.
>
>
> The job hangs at this position and does not continue. Can it be that the precision of the coordinate ranges is not sufficient?
> For a job that runs well (here an aspect ratio one cell as an example) I got in the output file the following coordinates.
>
>
>
> verify mesh topology
> -0.500000000000000000 0.500000000000000000 Xrange
> -0.500000000000000000 0.500000000000000000 Yrange
> 0.000000000000000000E+00 1.00000000000000000 Zrange
> done :: verify mesh topology
>
>
>
> i.e. precise bounds down to the last digit.
> Note also that I had to adapt the programs n2to3 and reatore2, e.g.:
>
> [josc1234 at reynolds n2to3]$ diff n2to3.f n2to3.f_orig
> 31c31
> < parameter(nelm=99999)
> ---
>> parameter(nelm=9999)
>
> [josc1234 at reynolds reatore2]$ diff reatore2.f reatore2.f_orig
> 19c19
> < parameter(lelt=10000000)
> ---
>> parameter(lelt=1000000)
> 118c118
>
>
> I wonder if you have an idea where things went wrong? Is it already the prex?
> Thanks for your help in advance.
>
> Best regards, Joerg.
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
More information about the Nek5000-users
mailing list