1 >> femwind_run_fortran_rate_test
2 femwind_fortran_rate_test
3 run fortran version only
4 basic convergence speed test
10 femwind_fortran_test: 0
22 roughness_height: 0.5000
25 terrain_height: 0.1000
31 coarsening: '2 linear'
34 smoothing: 'vertical sweeps'
45 apply_coarse_boundary_conditions: 1
48 save_file_prefix: 'femwind'
53 overiding p.run_fortran= 1
54 overiding p.run_matlab= 0
60 femwind_fortran_test: 0
72 roughness_height: 0.5000
75 terrain_height: 0.1000
81 coarsening: '2 linear'
84 smoothing: 'vertical sweeps'
95 apply_coarse_boundary_conditions: 1
98 save_file_prefix: 'femwind'
104 given params.mesh_top>0, computing params.expand
110 femwind_fortran_test: 0
122 roughness_height: 0.5000
123 terrain_shape: 'hill'
125 terrain_height: 0.1000
131 coarsening: '2 linear'
134 smoothing: 'vertical sweeps'
145 apply_coarse_boundary_conditions: 1
148 save_file_prefix: 'femwind'
149 in_height_stream: 175
160 mesh of 50x50x10 cells
161 regular_mesh nodes 50 50 10 step 30 30 2 expansion 1.82708 size 1500 1500 1000
162 shifting mesh by terrain vertically
163 initial wind log profile in x direction
164 writing matrix size 51 11 51 to file X_input.txt
165 writing matrix size 51 11 51 to file Y_input.txt
166 writing matrix size 51 11 51 to file Z_input.txt
167 writing matrix size 50 10 50 to file u0_input.txt
168 writing matrix size 50 10 50 to file v0_input.txt
169 writing matrix size 50 10 50 to file w0_input.txt
170 writing matrix size 3 3 1 to file A_input.txt
171 running ./fortran/femwind_test.exe
172 reading matrix size 3 3 1 from file A_input.txt
173 reading matrix size 51 11 51 from file X_input.txt
174 reading matrix size 51 11 51 from file Y_input.txt
175 reading matrix size 51 11 51 from file Z_input.txt
176 reading matrix size 50 10 50 from file u0_input.txt
177 reading matrix size 50 10 50 from file v0_input.txt
178 reading matrix size 50 10 50 from file w0_input.txt
179 get_mg_dims: domain 1 50 1 10 1 50
180 get_mg_dims: memory 0 52 0 12 0 52
181 get_mg_dims: patch 1 50 1 10 1 50
182 get_mg_dims: tile 1 50 1 10 1 50
183 calling femwind_setup
184 multigrid_setup received
186 X memory shape 53 13 53
187 Y memory shape 53 13 53
188 Z memory shape 53 13 53
189 grid size nx= 51 ny= 51 nz= 11 total ndof= 28611
190 dx= 30.0000000 dy= 30.0000000
193 dz= 2.00000000 3.65415025 6.67640591 12.1982965 22.2872009 40.7203865 74.3992081 135.932922 248.359680 453.771729
194 multigrid level 1 grid size 51 51 11
195 coarsening_icl in: dx= 30.0000000 dy= 30.0000000 n3= 11 dz= 2.00000000 3.65415025 6.67640591 12.1982965 22.2872009 40.7203865 74.3992081 135.932922 248.359680 453.771729
196 coarsening_icl in: A= 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 minaspect= 0.333333343 maxaspect= 3.00000000
197 horizontal coarsening factors 1 1 because weighted height is 6.66666701E-02
198 vertical coarse layers 1 3 5 7 8 9 10 11
200 grid size nx= 51 ny= 51 nz= 8 total ndof= 20808
201 dx= 30.0000000 dy= 30.0000000
202 multigrid level 2 grid size 51 51 8
203 coarsening_icl in: dx= 30.0000000 dy= 30.0000000 n3= 8 dz= 5.65415001 18.8747025 63.0075874 74.3992081 135.932922 248.359680 453.771729
204 coarsening_icl in: A= 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 minaspect= 0.333333343 maxaspect= 3.00000000
205 horizontal coarsening factors 1 1 because weighted height is 0.188471660
206 vertical coarse layers 1 3 4 5 6 7 8
208 grid size nx= 51 ny= 51 nz= 7 total ndof= 18207
209 dx= 30.0000000 dy= 30.0000000
210 multigrid level 3 grid size 51 51 7
211 coarsening_icl in: dx= 30.0000000 dy= 30.0000000 n3= 7 dz= 24.5288525 63.0075874 74.3992081 135.932922 248.359680 453.771729
212 coarsening_icl in: A= 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 minaspect= 0.333333343 maxaspect= 3.00000000
213 horizontal coarsening factors 2 2 because weighted height is 0.817628443
214 vertical coarse layers 1 3 4 5 6 7
216 grid size nx= 26 ny= 26 nz= 6 total ndof= 4056
217 dx= 60.0000000 dy= 60.0000000
218 multigrid level 4 grid size 26 26 6
219 coarsening_icl in: dx= 60.0000000 dy= 60.0000000 n3= 6 dz= 87.5364380 74.3992081 135.932922 248.359680 453.771729
220 coarsening_icl in: A= 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 minaspect= 0.333333343 maxaspect= 3.00000000
221 horizontal coarsening factors 2 2 because weighted height is 1.45894063
222 vertical coarse layers 1 3 4 5 6
224 grid size nx= 14 ny= 14 nz= 5 total ndof= 980
225 dx= 120.000000 dy= 120.000000
226 multigrid level 5 grid size 14 14 5
227 coarsening_icl in: dx= 120.000000 dy= 120.000000 n3= 5 dz= 161.935638 135.932922 248.359680 453.771729
228 coarsening_icl in: A= 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 minaspect= 0.333333343 maxaspect= 3.00000000
229 horizontal coarsening factors 2 2 because weighted height is 1.34946370
230 vertical coarse layers 1 3 5
232 grid size nx= 8 ny= 8 nz= 3 total ndof= 192
233 dx= 240.000000 dy= 240.000000
234 stopping at 5 levels because coarse ndof 192 >= fine 980 or l= 5 = 5
236 allocate grid variables
237 get_mg_dims: domain 1 50 1 10 1 50
238 get_mg_dims: memory 0 52 0 12 0 52
239 get_mg_dims: patch 1 50 1 10 1 50
240 get_mg_dims: tile 1 50 1 10 1 50
241 get_mg_dims: domain 1 50 1 7 1 50
242 get_mg_dims: memory 0 52 0 9 0 52
243 get_mg_dims: patch 1 50 1 7 1 50
244 get_mg_dims: tile 1 50 1 7 1 50
245 get_mg_dims: domain 1 50 1 6 1 50
246 get_mg_dims: memory 0 52 0 8 0 52
247 get_mg_dims: patch 1 50 1 6 1 50
248 get_mg_dims: tile 1 50 1 6 1 50
249 get_mg_dims: domain 1 25 1 5 1 25
250 get_mg_dims: memory 0 27 0 7 0 27
251 get_mg_dims: patch 1 25 1 5 1 25
252 get_mg_dims: tile 1 25 1 5 1 25
253 get_mg_dims: domain 1 13 1 4 1 13
254 get_mg_dims: memory 0 15 0 6 0 15
255 get_mg_dims: patch 1 13 1 4 1 13
256 get_mg_dims: tile 1 13 1 4 1 13
257 computing coarse grid coordinates
258 get_mg_dims: domain 1 50 1 10 1 50
259 get_mg_dims: memory 0 52 0 12 0 52
260 get_mg_dims: patch 1 50 1 10 1 50
261 get_mg_dims: tile 1 50 1 10 1 50
262 get_mg_dims: domain 1 50 1 7 1 50
263 get_mg_dims: memory 0 52 0 9 0 52
264 get_mg_dims: patch 1 50 1 7 1 50
265 get_mg_dims: tile 1 50 1 7 1 50
266 get_mg_dims: domain 1 50 1 7 1 50
267 get_mg_dims: memory 0 52 0 9 0 52
268 get_mg_dims: patch 1 50 1 7 1 50
269 get_mg_dims: tile 1 50 1 7 1 50
270 get_mg_dims: domain 1 50 1 6 1 50
271 get_mg_dims: memory 0 52 0 8 0 52
272 get_mg_dims: patch 1 50 1 6 1 50
273 get_mg_dims: tile 1 50 1 6 1 50
274 get_mg_dims: domain 1 50 1 6 1 50
275 get_mg_dims: memory 0 52 0 8 0 52
276 get_mg_dims: patch 1 50 1 6 1 50
277 get_mg_dims: tile 1 50 1 6 1 50
278 get_mg_dims: domain 1 25 1 5 1 25
279 get_mg_dims: memory 0 27 0 7 0 27
280 get_mg_dims: patch 1 25 1 5 1 25
281 get_mg_dims: tile 1 25 1 5 1 25
282 get_mg_dims: domain 1 25 1 5 1 25
283 get_mg_dims: memory 0 27 0 7 0 27
284 get_mg_dims: patch 1 25 1 5 1 25
285 get_mg_dims: tile 1 25 1 5 1 25
286 get_mg_dims: domain 1 13 1 4 1 13
287 get_mg_dims: memory 0 15 0 6 0 15
288 get_mg_dims: patch 1 13 1 4 1 13
289 get_mg_dims: tile 1 13 1 4 1 13
290 assembling the stiffness matrix on level 1
291 get_mg_dims: domain 1 50 1 10 1 50
292 get_mg_dims: memory 0 52 0 12 0 52
293 get_mg_dims: patch 1 50 1 10 1 50
294 get_mg_dims: tile 1 50 1 10 1 50
295 applying the boundary conditions on level 1
296 assembling the stiffness matrix on level 2
297 get_mg_dims: domain 1 50 1 7 1 50
298 get_mg_dims: memory 0 52 0 9 0 52
299 get_mg_dims: patch 1 50 1 7 1 50
300 get_mg_dims: tile 1 50 1 7 1 50
301 applying the boundary conditions on level 2
302 assembling the stiffness matrix on level 3
303 get_mg_dims: domain 1 50 1 6 1 50
304 get_mg_dims: memory 0 52 0 8 0 52
305 get_mg_dims: patch 1 50 1 6 1 50
306 get_mg_dims: tile 1 50 1 6 1 50
307 applying the boundary conditions on level 3
308 assembling the stiffness matrix on level 4
309 get_mg_dims: domain 1 25 1 5 1 25
310 get_mg_dims: memory 0 27 0 7 0 27
311 get_mg_dims: patch 1 25 1 5 1 25
312 get_mg_dims: tile 1 25 1 5 1 25
313 applying the boundary conditions on level 4
314 assembling the stiffness matrix on level 5
315 get_mg_dims: domain 1 13 1 4 1 13
316 get_mg_dims: memory 0 15 0 6 0 15
317 get_mg_dims: patch 1 13 1 4 1 13
318 get_mg_dims: tile 1 13 1 4 1 13
319 applying the boundary conditions on level 5
321 femwind_setup returned OK
322 calling femwind_solve
325 calling vec_boundary_conditions
326 calling multigrid_cycle
327 get_mg_dims: domain 1 50 1 10 1 50
328 get_mg_dims: memory 0 52 0 12 0 52
329 get_mg_dims: patch 1 50 1 10 1 50
330 get_mg_dims: tile 1 50 1 10 1 50
331 get_mg_dims: domain 1 50 1 7 1 50
332 get_mg_dims: memory 0 52 0 9 0 52
333 get_mg_dims: patch 1 50 1 7 1 50
334 get_mg_dims: tile 1 50 1 7 1 50
335 level= 1 it= 1 coarse= F
336 level= 1 it= 1 sweeps siz= 55.0896187 rel diff= 1.00000000
337 level= 1 it= 2 coarse= F
338 level= 1 it= 2 sweeps siz= 77.6161728 rel diff= 0.420929581
339 level= 1 it= 3 coarse= F
340 level= 1 it= 3 sweeps siz= 96.1653442 rel diff= 0.262146086
341 level= 1 it= 4 coarse= T
342 ndt_mult: loop upper bounds 51 11 51
343 level= 1 it= 4 mult rhsiz= 96.1653442 rel res = 0.262146086
344 get_mg_dims: domain 1 50 1 7 1 50
345 get_mg_dims: memory 0 52 0 9 0 52
346 get_mg_dims: patch 1 50 1 7 1 50
347 get_mg_dims: tile 1 50 1 7 1 50
348 get_mg_dims: domain 1 50 1 6 1 50
349 get_mg_dims: memory 0 52 0 8 0 52
350 get_mg_dims: patch 1 50 1 6 1 50
351 get_mg_dims: tile 1 50 1 6 1 50
352 level= 2 it= 1 coarse= F
353 level= 2 it= 1 sweeps siz= 22.1208248 rel diff= 1.00000000
354 level= 2 it= 2 coarse= F
355 level= 2 it= 2 sweeps siz= 40.7760162 rel diff= 0.457504034
356 level= 2 it= 3 coarse= T
357 ndt_mult: loop upper bounds 51 8 51
358 level= 2 it= 3 mult rhsiz= 40.7760162 rel res = 0.457504034
359 get_mg_dims: domain 1 50 1 6 1 50
360 get_mg_dims: memory 0 52 0 8 0 52
361 get_mg_dims: patch 1 50 1 6 1 50
362 get_mg_dims: tile 1 50 1 6 1 50
363 get_mg_dims: domain 1 25 1 5 1 25
364 get_mg_dims: memory 0 27 0 7 0 27
365 get_mg_dims: patch 1 25 1 5 1 25
366 get_mg_dims: tile 1 25 1 5 1 25
367 ndt_mult: loop upper bounds 51 7 51
368 get_mg_dims: domain 1 25 1 5 1 25
369 get_mg_dims: memory 0 27 0 7 0 27
370 get_mg_dims: patch 1 25 1 5 1 25
371 get_mg_dims: tile 1 25 1 5 1 25
372 get_mg_dims: domain 1 13 1 4 1 13
373 get_mg_dims: memory 0 15 0 6 0 15
374 get_mg_dims: patch 1 13 1 4 1 13
375 get_mg_dims: tile 1 13 1 4 1 13
376 ndt_mult: loop upper bounds 26 6 26
377 get_mg_dims: domain 1 13 1 4 1 13
378 get_mg_dims: memory 0 15 0 6 0 15
379 get_mg_dims: patch 1 13 1 4 1 13
380 get_mg_dims: tile 1 13 1 4 1 13
381 level= 2 it= 4 coarse= F
382 level= 2 it= 4 sweeps siz= 452.568817 rel diff= 2.18099989E-02
383 level 2 iteration 4 rel diff= 2.18099989E-02 < diftol= 0.100000001 exiting
384 level= 1 it= 5 coarse= F
385 level= 1 it= 5 sweeps siz= 481.933044 rel diff= 9.14990436E-03
386 level= 1 it= 6 coarse= F
387 level= 1 it= 6 sweeps siz= 480.712006 rel diff= 2.77550193E-03
388 level= 1 it= 7 coarse= F
389 level= 1 it= 7 sweeps siz= 480.433990 rel diff= 1.45134039E-03
390 level= 1 it= 8 coarse= T
391 ndt_mult: loop upper bounds 51 11 51
392 level= 1 it= 8 mult rhsiz= 480.433990 rel res = 1.45134039E-03
393 get_mg_dims: domain 1 50 1 7 1 50
394 get_mg_dims: memory 0 52 0 9 0 52
395 get_mg_dims: patch 1 50 1 7 1 50
396 get_mg_dims: tile 1 50 1 7 1 50
397 get_mg_dims: domain 1 50 1 6 1 50
398 get_mg_dims: memory 0 52 0 8 0 52
399 get_mg_dims: patch 1 50 1 6 1 50
400 get_mg_dims: tile 1 50 1 6 1 50
401 level= 2 it= 1 coarse= F
402 level= 2 it= 1 sweeps siz= 2.33332777 rel diff= 1.00000000
403 level= 2 it= 2 coarse= F
404 level= 2 it= 2 sweeps siz= 4.24211979 rel diff= 0.449961841
405 level= 2 it= 3 coarse= T
406 ndt_mult: loop upper bounds 51 8 51
407 level= 2 it= 3 mult rhsiz= 4.24211979 rel res = 0.449961841
408 get_mg_dims: domain 1 50 1 6 1 50
409 get_mg_dims: memory 0 52 0 8 0 52
410 get_mg_dims: patch 1 50 1 6 1 50
411 get_mg_dims: tile 1 50 1 6 1 50
412 get_mg_dims: domain 1 25 1 5 1 25
413 get_mg_dims: memory 0 27 0 7 0 27
414 get_mg_dims: patch 1 25 1 5 1 25
415 get_mg_dims: tile 1 25 1 5 1 25
416 ndt_mult: loop upper bounds 51 7 51
417 get_mg_dims: domain 1 25 1 5 1 25
418 get_mg_dims: memory 0 27 0 7 0 27
419 get_mg_dims: patch 1 25 1 5 1 25
420 get_mg_dims: tile 1 25 1 5 1 25
421 get_mg_dims: domain 1 13 1 4 1 13
422 get_mg_dims: memory 0 15 0 6 0 15
423 get_mg_dims: patch 1 13 1 4 1 13
424 get_mg_dims: tile 1 13 1 4 1 13
425 ndt_mult: loop upper bounds 26 6 26
426 get_mg_dims: domain 1 13 1 4 1 13
427 get_mg_dims: memory 0 15 0 6 0 15
428 get_mg_dims: patch 1 13 1 4 1 13
429 get_mg_dims: tile 1 13 1 4 1 13
430 level= 2 it= 4 coarse= F
431 level= 2 it= 4 sweeps siz= 11.9383678 rel diff= 2.87540164E-02
432 level 2 iteration 4 rel diff= 2.87540164E-02 < diftol= 0.100000001 exiting
433 level= 1 it= 9 coarse= F
434 level= 1 it= 9 sweeps siz= 484.617432 rel diff= 1.08315877E-03
435 level= 1 it= 10 coarse= F
436 level= 1 it= 10 sweeps siz= 484.593109 rel diff= 5.87137940E-04
437 level= 1 it= 11 coarse= F
438 level= 1 it= 11 sweeps siz= 484.586334 rel diff= 1.35698734E-04
439 level= 1 it= 12 coarse= T
440 ndt_mult: loop upper bounds 51 11 51
441 level= 1 it= 12 mult rhsiz= 484.586334 rel res = 1.35698734E-04
442 get_mg_dims: domain 1 50 1 7 1 50
443 get_mg_dims: memory 0 52 0 9 0 52
444 get_mg_dims: patch 1 50 1 7 1 50
445 get_mg_dims: tile 1 50 1 7 1 50
446 get_mg_dims: domain 1 50 1 6 1 50
447 get_mg_dims: memory 0 52 0 8 0 52
448 get_mg_dims: patch 1 50 1 6 1 50
449 get_mg_dims: tile 1 50 1 6 1 50
450 level= 2 it= 1 coarse= F
451 level= 2 it= 1 sweeps siz= 0.169177726 rel diff= 1.00000000
452 level= 2 it= 2 coarse= F
453 level= 2 it= 2 sweeps siz= 0.274062186 rel diff= 0.382703155
454 level= 2 it= 3 coarse= T
455 ndt_mult: loop upper bounds 51 8 51
456 level= 2 it= 3 mult rhsiz= 0.274062186 rel res = 0.382703155
457 get_mg_dims: domain 1 50 1 6 1 50
458 get_mg_dims: memory 0 52 0 8 0 52
459 get_mg_dims: patch 1 50 1 6 1 50
460 get_mg_dims: tile 1 50 1 6 1 50
461 get_mg_dims: domain 1 25 1 5 1 25
462 get_mg_dims: memory 0 27 0 7 0 27
463 get_mg_dims: patch 1 25 1 5 1 25
464 get_mg_dims: tile 1 25 1 5 1 25
465 ndt_mult: loop upper bounds 51 7 51
466 get_mg_dims: domain 1 25 1 5 1 25
467 get_mg_dims: memory 0 27 0 7 0 27
468 get_mg_dims: patch 1 25 1 5 1 25
469 get_mg_dims: tile 1 25 1 5 1 25
470 get_mg_dims: domain 1 13 1 4 1 13
471 get_mg_dims: memory 0 15 0 6 0 15
472 get_mg_dims: patch 1 13 1 4 1 13
473 get_mg_dims: tile 1 13 1 4 1 13
474 ndt_mult: loop upper bounds 26 6 26
475 get_mg_dims: domain 1 13 1 4 1 13
476 get_mg_dims: memory 0 15 0 6 0 15
477 get_mg_dims: patch 1 13 1 4 1 13
478 get_mg_dims: tile 1 13 1 4 1 13
479 level= 2 it= 4 coarse= F
480 level= 2 it= 4 sweeps siz= 0.615975440 rel diff= 2.51244567E-02
481 level 2 iteration 4 rel diff= 2.51244567E-02 < diftol= 0.100000001 exiting
482 level= 1 it= 13 coarse= F
483 level= 1 it= 13 sweeps siz= 484.688354 rel diff= 5.41641784E-05
484 level= 1 it= 14 coarse= F
485 level= 1 it= 14 sweeps siz= 484.687836 rel diff= 2.54844235E-05
486 level= 1 it= 15 coarse= F
487 level= 1 it= 15 sweeps siz= 484.687744 rel diff= 6.24911536E-06
488 level 1 iteration 15 rel diff= 6.24911536E-06 < diftol= 9.99999975E-06 exiting
489 end multigrid_cycle, rate= 1.00000000
492 femwind_solve returned OK
493 writing matrix size 50 10 50 to file u.txt.
494 writing matrix size 50 10 50 to file v.txt.
495 writing matrix size 50 10 50 to file w.txt.
496 writing rate.txt matrix size 1
497 reading matrix size 50 10 50 from file u.txt
498 reading matrix size 50 10 50 from file v.txt
499 reading matrix size 50 10 50 from file w.txt
500 reading matrix from file rate.txt size 1
501 femwind_fortran done rate(1,1)=1
502 Error using femwind_rate_test
503 something changed, expected convergence rate 0.066931 got 1 diff -0.933069
504 Error in femwind_run_fortran_rate_test (line 8)