[Nek5000-users] Interpolation between two meshes
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Tue Mar 28 15:46:36 CDT 2017
Hi Stefan,
In case the attachments didn't go through, please see below for the .usr file and log file.
I only used 'userchk' and 'usrdat' in the .usr file for interpolation. The other subroutines are empty.
(I added several print lines in 'gfldr.f' to see where the interpolation halted.)
Best regards,
Tony
.USR FILE:
c-----------------------------------------------------------------------
subroutine userchk()
include 'SIZE'
include 'TOTAL'
include 'ZPER'
include 'CTIMER'
include 'RESTART'
character*132 sourcefld
sourcefld='source.f00001'
call gfldr(sourcefld)
call outpost(vx,vy,vz,pr,t,'rst')
call exitt()
return
end
c-----------------------------------------------------------------------
subroutine usrdat() ! This routine to modify element vertices
include 'SIZE'
include 'TOTAL'
parameter (ielx=150)
parameter (iely=22)
parameter (ielz=142)
integer i,e,eg,ex,ey,ez
real cony
cony = 2.36d0
do e=1,nelv
eg = lglel(e)
if(eg<=ielx*iely*ielz) then
call get_exyz(ex,ey,ez,eg,ielx,iely,ielz)
do i=1,8
if(i<=2 .or. i==5 .or. i==6) then
if((yc(i,e)>0.0e0.and.yc(i,e)<1.0e0).OR.
& (yc(i,e)>1.0e0.and.yc(i,e)<2.0e0)) then
yc(i,e) = 2.0e0*Real(ey-1)/Real(iely)
end if
else if(i==3 .or. i==4 .or. i>=7) then
if((yc(i,e)>0.0e0.and.yc(i,e)<1.0e0).OR.
& (yc(i,e)>1.0e0.and.yc(i,e)<2.0e0)) then
yc(i,e) = 2.0e0*Real(ey)/Real(iely)
end if
end if
end do
end if
end do
do e=1,nelv
eg = lglel(e)
if(eg==1) print*,yc(1,e),yc(2,e),yc(5,e),yc(6,e)
if(eg==1) print*,yc(3,e),yc(4,e),yc(7,e),yc(8,e)
do i=1,8
if(yc(i,e)>0.0e0 .AND. yc(i,e)<1.0e0) then
yc(i,e) = yc(i,e)-1.0e0
yc(i,e) = tanh(cony*yc(i,e))/tanh(cony)
yc(i,e) = yc(i,e)+1.0e0
else if(yc(i,e)>1.0e0 .AND. yc(i,e)<2.0e0) then
yc(i,e) = yc(i,e)-1.0e0
yc(i,e) = tanh(cony*yc(i,e))/tanh(cony)
yc(i,e) = yc(i,e)+1.0e0
end if
end do
end do
return
end
c-----------------------------------------------------------------------
LOG FILE:
/----------------------------------------------------------\\
| _ __ ______ __ __ ______ ____ ____ ____ |
| / | / // ____// //_/ / ____/ / __ \\/ __ \\/ __ \\ |
| / |/ // __/ / ,< /___ \\ / / / // / / // / / / |
| / /| // /___ / /| | ____/ / / /_/ // /_/ // /_/ / |
| /_/ |_//_____//_/ |_|/_____/ \\___/ \\___/ \\___/ |
| |
|----------------------------------------------------------|
| |
| NEK5000: Open Source Spectral Element Solver |
| COPYRIGHT (c) 2008-2017 UCHICAGO ARGONNE, LLC |
| Version: 17.0.0 |
| Web: http://nek5000.mcs.anl.gov |
| |
\\----------------------------------------------------------/
Number of processors: 720
REAL wdsize : 8
INTEGER wdsize : 4
Timer accuracy : 9.54E-08
Reading /work/e01/e01/tony/geometry_nonosci_cavity/interp.rea
mapping elements to processors
Reading /work/e01/e01/tony/geometry_nonosci_cavity/interp.map
element load imbalance: 1 652 653
done :: mapping elements to processors
0 objects found
118 Parameters from file:
1 1.00000 p001 DENSITY
2 -3150.00 p002 VISCOS
12 -0.11750E-01 p012 DT
15 500.000 p015 IOSTEP
21 0.100000E-07 p021 DIVERGENCE
22 0.100000E-07 p022 HELMHOLTZ
26 2.00000 p026 COURANT/NTAU
27 3.00000 p027 TORDER
59 0.00000 p059 !=0 --> full Jac. eval. for each el.
63 8.00000 p063 =8 --> force 8-byte output
65 1.00000 p065 #iofiles (eg, 0 or 64); <0 --> sep. dirs
66 6.00000 p066 output : <0=ascii, else binary
67 6.00000 p067 restart: <0=ascii, else binary
93 20.0000 p093 Number of previous pressure solns saved
94 5.00000 p094 start projecting velocity after p94 step
95 5.00000 p095 start projecting pressure after p95 step
99 3.00000 p099 dealiasing: <0--> off/3--> old/4--> new
103 0.10000E-01 p103 weight of stabilizing filter (.01)
nelgt/nelgv/lelt: 469500 469500 653
lx1 /lx2 /lx3 : 8 8 8
done :: read .rea file 45.222 sec
setup mesh topology
Right-handed check complete for 469500 elements. OK.
setvert3d: 8 60855000 162267000 60855000 60855000
call usrsetvert
done :: usrsetvert
gs_setup: 10325502 unique labels shared
pairwise times (avg, min, max): 0.00044986 0.00033021 0.000500798
crystal router : 0.00145524 0.00143301 0.0014781
used all_to_all method: pairwise
handle bytes (avg, min, max): 2.64212e+06 2463020 2796252
buffer bytes (avg, min, max): 491593 352288 632640
setupds time 5.3504E-01 seconds 0 8 60855000 469500
8 max multiplicity
done :: setup mesh topology
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000
9.090909090909091E-002 9.090909090909091E-002 9.090909090909091E-002
9.090909090909091E-002
call usrdat
done :: usrdat
generate geometry data
NOTE: All elements deformed , param(59) ^=0
done :: generate geometry data
call usrdat2
done :: usrdat2
regenerate geometry data 1
NOTE: All elements deformed , param(59) ^=0
done :: regenerate geometry data 1
verify mesh topology
0.000000000000000E+000 6.00000000000000 Xrange
-0.120000000000000 2.00000000000000 Yrange
0.000000000000000E+000 49.7000000000000 Zrange
done :: verify mesh topology
IFTRAN = T
IFFLOW = T
IFHEAT = F
IFSPLIT = T
IFLOMACH = F
IFUSERVP = F
IFUSERMV = F
IFSTRS = F
IFCHAR = T
IFCYCLIC = F
IFAXIS = F
IFMVBD = F
IFMELT = F
IFMODEL = F
IFKEPS = F
IFMOAB = F
IFNEKNEK = F
IFSYNC = T
IFVCOR = F
IFINTQ = F
IFCWUZ = F
IFSWALL = F
IFGEOM = F
IFSURT = F
IFWCNO = F
IFTMSH for field 1 = F
IFADVC for field 1 = T
IFNONL for field 1 = F
Dealiasing enabled, lxd= 12
verify mesh topology
0.000000000000000E+000 6.00000000000000 Xrange
-0.120000000000000 2.00000000000000 Yrange
0.000000000000000E+000 49.7000000000000 Zrange
done :: verify mesh topology
call usrdat3
done :: usrdat3
set initial conditions
nekuic (1) for ifld 1
call nekuic for vel
xyz min 0.0000 -0.12000 0.0000
uvwpt min 0.0000 0.0000 0.0000 0.0000 0.0000
xyz max 6.0000 2.0000 49.700
uvwpt max 0.0000 0.0000 0.0000 0.0000 0.0000
done :: set initial conditions
gridpoints unique/tot: 162267000 240384000
dofs: 159972750 162104250
Initialization successfully completed 46.588 sec
nsteps=0 -> skip time loop
running solver in post processing mode
call userchk
call gfldr
byte swap: F 6.543210 -2.9312772E+35
sourcefld X 0.000000000000000E+000 6.00000000000000
sourcefld Y -0.120000000000000 2.00000000000000
sourcefld Z 0.000000000000000E+000 49.7000000000000
CHECK interp prepare
CHECK interp read
________________________________
From: nek5000-users-bounces at lists.mcs.anl.gov <nek5000-users-bounces at lists.mcs.anl.gov> on behalf of nek5000-users-request at lists.mcs.anl.gov <nek5000-users-request at lists.mcs.anl.gov>
Sent: 28 March 2017 20:51
To: nek5000-users at lists.mcs.anl.gov
Subject: Nek5000-users Digest, Vol 97, Issue 33
Message: 3
Date: Tue, 28 Mar 2017 19:51:04 +0000
From: nek5000-users at lists.mcs.anl.gov
To: "nek5000-users at lists.mcs.anl.gov"
<nek5000-users at lists.mcs.anl.gov>
Subject: Re: [Nek5000-users] Interpolation between two meshes
Message-ID:
<mailman.3915.1490730701.2967.nek5000-users at lists.mcs.anl.gov>
Content-Type: text/plain; charset="iso-8859-1"
Hi Stefan,
Many thanks for your reply. I'm running my simulations on ARCHER (Cray XC30 supercomputer) and I'm using the Intel compiler.
The current simulation has 469500 elements with polynomial order of 7. The source field I used for interpolation has 383700 elements with the same polynomial order. The size of the source field is about 10GB. I'm not sure if it can be easily transferred. But I have attached my .usr and log files herewith (also the gfldr.f with few added checking lines). I ran the interpolation using 720 processors.
Please have a look and let me know if you need further information about the case. Thank you very much for you help.
Best regards,
Tony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20170328/4adae692/attachment-0001.html>
More information about the Nek5000-users
mailing list