Difference between revisions of "Main Page/faq"
From Nekcem
Jump to navigationJump to searchLine 7: | Line 7: | ||
== Implementation == | == Implementation == | ||
− | === | + | === I/O code === |
* I/O functions were initiated from cem_out function of cem_dg.F (and cem_dg2.F). | * I/O functions were initiated from cem_out function of cem_dg.F (and cem_dg2.F). | ||
* Implementation of parallel I/O routine were defined in vtkbin.c and rbIO_nekcem.c | * Implementation of parallel I/O routine were defined in vtkbin.c and rbIO_nekcem.c | ||
* vtkcommon.c and vtkcommon.h serve as a place to hold common functions as well as global variables. <br> | * vtkcommon.c and vtkcommon.h serve as a place to hold common functions as well as global variables. <br> | ||
+ | |||
+ | * cem_out_fields3 (in cem_dg.F) | ||
+ | ** openfile3(dumpno, nid) !vtkbin.c | ||
+ | ** vtk_dump_header3 | ||
+ | *** writeheader3() !vtkbin.c | ||
+ | *** writenodes3() !vtkbin.c | ||
+ | *** write2dcells3 !vtkbin.c <br> or write3dcells3 !vtkbin.c | ||
+ | ** vtk_dump_field3 | ||
+ | *** writefield3 !vtkbin.c | ||
+ | ** close_file3 !vtkbin.c | ||
+ | |||
+ | * ASCII file → transfer double/float/int/read to chars then write out<br> | ||
=== NekCEM notes for myself=== | === NekCEM notes for myself=== | ||
Line 20: | Line 32: | ||
** lelx = 20 each dimension | ** lelx = 20 each dimension | ||
** lelv = alloc max # of element per proc | ** lelv = alloc max # of element per proc | ||
− | * .usr rarr; subuser.F | + | * .usr → subuser.F |
* cem() in cem_dg.F is the main solver and application entry point | * cem() in cem_dg.F is the main solver and application entry point | ||
− | + | * only CELL and point data need to be re-computed | |
== To-do List == | == To-do List == | ||
*More tests on BG/P for config with ng = M and 1< nf < M | *More tests on BG/P for config with ng = M and 1< nf < M |
Revision as of 21:22, 31 January 2011
This is the resource listing page for NekCEM.
Resource Links
Implementation
I/O code
- I/O functions were initiated from cem_out function of cem_dg.F (and cem_dg2.F).
- Implementation of parallel I/O routine were defined in vtkbin.c and rbIO_nekcem.c
- vtkcommon.c and vtkcommon.h serve as a place to hold common functions as well as global variables.
- cem_out_fields3 (in cem_dg.F)
- openfile3(dumpno, nid) !vtkbin.c
- vtk_dump_header3
- writeheader3() !vtkbin.c
- writenodes3() !vtkbin.c
- write2dcells3 !vtkbin.c
or write3dcells3 !vtkbin.c
- vtk_dump_field3
- writefield3 !vtkbin.c
- close_file3 !vtkbin.c
- ASCII file → transfer double/float/int/read to chars then write out
NekCEM notes for myself
- .box → num elements in x,y,z
- .rea → input data
- SIZEu → SIZE parameters:
- lp = #proc
- lelx = 20 each dimension
- lelv = alloc max # of element per proc
- .usr → subuser.F
- cem() in cem_dg.F is the main solver and application entry point
- only CELL and point data need to be re-computed
To-do List
- More tests on BG/P for config with ng = M and 1< nf < M
- Tests on Kraken and Jaguar
- Pthread + MPI for I/O
- OpenMP/Pthread + MPI for NekCEM computation
- Parallel I/O for reading .rea file
Some notes
- Fortran generated binary file may not be correctly read in C.
- -lstdc++ for link
- libF77 and libI77
- common.h and common_c.h
- write() in Fortran: 6 refer to screen, * is to screen as well ..