Developers Manual:Parallelization

From OctopusWiki
Jump to: navigation, search

Lxyz and Lxyz_inv are global point numbers. lxyz has ranges 1:n_part_global and lxyz_inv goes over the full simulation box.

There are several index tables to do the mappings. They are stored in mesh%vp with vp being of the pv_t type.

vp%global(i, r) maps global point number i on node r to local point number. If this is 0, i is neither a local nor a ghost point of node r.

vp%local maps from local point numbers to global point numbers. This vector contains this information for all nodes, thus node r owns points vp%local(vp%xlocal(r) : vp%xlocal(r) + vp%np_local(r) - 1). vp%np_local(r) is equal np on that node r. If you are interested in global point numbers of ghost, use vp%ghost which also has accompanying indices xghost and np_ghost. The same exists for boundary points (bndry, xbndry, np_bndry).

Boundary points are added points due to boundary conditions (filled with zeros most of the time), ghost points are the ones from partitioning and the stencil leaking into neighbouring domains.