Functions/Subroutines | |
| subroutine, public | initfromgriddim (MNP, MNE, INE_global, secDim, MPIcomm) |
| subroutine | real_mpi_barrier_pdlib (TheComm, string) |
| subroutine | assignmesh (MNP, MNE) |
| subroutine | prepartition |
| pre-partition the mesh just divide the mesh into nTasks parts and create a premature iplg alter: np_perProc, np_perProcSum, np, iplg More... | |
| subroutine | findconnnodes (INE_global) |
| create the connected Nodes array loop over all elements and their nodes. More... | |
| subroutine | runparmetis (MNP) |
| Collect all data for parmetis und partition the mesh after that, we know for every node the domain ID alter: t_Node::domainID. More... | |
| subroutine | postpartition |
| recalculate some variables parmetis change the number of sides per domain. More... | |
| subroutine | findghostnodes |
| find the ghost nodes of the local domain alter: ng, ghosts(), ghostlg, ghostgl, npa, iplg More... | |
| subroutine | findconndomains |
| find the number of connected domains and their ghosts 1) Iterate over all ghost nodes and look at their thread id to find # neighbor domains 2) assign the ghost nodes to their domains alter: neighborDomains(), nConnDomains More... | |
| subroutine | exchangeghostids |
| exchange Ghost Ids so every thread knows which nodes he has to send to the other parition. More... | |
| subroutine | postpartition2 (INE_global) |
| this collects all data which depends on ghost information alter: ne, INE, x, y, z, ielg More... | |
| subroutine | computetria_ien_si_ccon |
| subroutine | element_crosses_dateline (RX1, RX2, RX3, CROSSES_DATELINE) |
| subroutine, public | finalizepd () |
| subroutine yowpdlibmain::assignmesh | ( | integer, intent(in) | MNP, |
| integer, intent(in) | MNE | ||
| ) |
| [in] | MNP | number of nodes global |
| [in] | XP | node X value |
| [in] | XY | node Y value |
| [in] | DEP | node Z value |
| [in] | MNE | number of element global |
| [in] | INE | element array alter: np_global, nodes_global(), ne_global, elements(), INE_global |
Definition at line 258 of file yowpdlibmain.F90.
References yowelementpool::ne_global, yownodepool::nodes_global, yownodepool::np_global, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine yowpdlibmain::computetria_ien_si_ccon |
Definition at line 1304 of file yowpdlibmain.F90.
References element_crosses_dateline(), yownodepool::ghostlg, yowelementpool::ielg, yowelementpool::ine, yownodepool::iplg, yowdatapool::myrank, yowelementpool::ne, yowelementpool::ne_global, yownodepool::ng, yownodepool::np, yownodepool::np_global, yownodepool::npa, yowerr::parallel_abort(), yownodepool::pdlib_ccon, yowexchangemodule::pdlib_exchange1dreal(), yownodepool::pdlib_ien, yownodepool::pdlib_si, yownodepool::pdlib_tria, yownodepool::pdlib_tria03, yownodepool::x, yownodepool::y, and yownodepool::z.
Referenced by initfromgriddim().
| subroutine yowpdlibmain::element_crosses_dateline | ( | real(rkind), intent(in) | RX1, |
| real(rkind), intent(in) | RX2, | ||
| real(rkind), intent(in) | RX3, | ||
| logical, intent(out) | CROSSES_DATELINE | ||
| ) |
Definition at line 1369 of file yowpdlibmain.F90.
References yownodepool::ghostlg, yowelementpool::ielg, yowelementpool::ine, yownodepool::iplg, yowdatapool::myrank, yowelementpool::ne, yowelementpool::ne_global, yownodepool::ng, yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yownodepool::npa, yowerr::parallel_abort(), yownodepool::pdlib_ccon, yownodepool::pdlib_i_diag, yownodepool::pdlib_ia, yownodepool::pdlib_ia_p, yownodepool::pdlib_ie_cell, yownodepool::pdlib_ie_cell2, yownodepool::pdlib_ja, yownodepool::pdlib_ja_ie, yownodepool::pdlib_ja_p, yownodepool::pdlib_nnz, yownodepool::pdlib_pos_cell, yownodepool::pdlib_pos_cell2, and yownodepool::pdlib_posi.
Referenced by computetria_ien_si_ccon().
| subroutine yowpdlibmain::exchangeghostids |
exchange Ghost Ids so every thread knows which nodes he has to send to the other parition.
every parition has a list of ghost nodes from the other partition. this data is stored in the neighborDomains variable
Definition at line 1052 of file yowpdlibmain.F90.
References yowerr::abort(), yowdatapool::comm, yowexchangemodule::creatempitypes(), yowdatapool::myrank, yowexchangemodule::nconndomains, yowexchangemodule::neighbordomains, yownodepool::nodes(), yownodepool::np, yowdatapool::ntasks, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine, public yowpdlibmain::finalizepd |
Definition at line 1598 of file yowpdlibmain.F90.
References yowelementpool::finalizeelementpool(), yowexchangemodule::finalizeexchangemodule(), yownodepool::finalizenodepool(), and yowrankmodule::finalizerankmodule().
| subroutine yowpdlibmain::findconndomains |
find the number of connected domains and their ghosts 1) Iterate over all ghost nodes and look at their thread id to find # neighbor domains 2) assign the ghost nodes to their domains alter: neighborDomains(), nConnDomains
Definition at line 968 of file yowpdlibmain.F90.
References yownodepool::ghosts(), yowexchangemodule::initnbrdomains(), yowdatapool::myrank, yowexchangemodule::neighbordomains, yownodepool::ng, yowdatapool::ntasks, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine yowpdlibmain::findconnnodes | ( | integer, dimension(3,ne_global), intent(in) | INE_global | ) |
create the connected Nodes array loop over all elements and their nodes.
get then the neighbor nodes finally calculate the number of sides alter: maxConnNodes, connNodes_data, ns, ns_global, nodenConnNodes
Definition at line 342 of file yowpdlibmain.F90.
References yownodepool::connnodes_data, yownodepool::maxconnnodes, yowelementpool::ne_global, yownodepool::nodes(), yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yowsidepool::ns, yowsidepool::ns_global, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine yowpdlibmain::findghostnodes |
find the ghost nodes of the local domain alter: ng, ghosts(), ghostlg, ghostgl, npa, iplg
temporary hold the ghost numbers
Definition at line 845 of file yowpdlibmain.F90.
References yownodepool::ghostgl, yownodepool::ghostlg, yownodepool::ghosts(), yownodepool::iplg, yowdatapool::myrank, yownodepool::ng, yownodepool::nodes(), yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yownodepool::npa, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine, public yowpdlibmain::initfromgriddim | ( | integer, intent(in) | MNP, |
| integer, intent(in) | MNE, | ||
| integer, dimension(3,mne), intent(in) | INE_global, | ||
| integer, intent(in) | secDim, | ||
| integer, intent(in) | MPIcomm | ||
| ) |
Definition at line 66 of file yowpdlibmain.F90.
References assignmesh(), computetria_ien_si_ccon(), yowdatapool::debugpostpartition, yowdatapool::debugprepartition, exchangeghostids(), findconndomains(), findconnnodes(), findghostnodes(), yowrankmodule::initrankmodule(), yownodepool::ipgl, yowrankmodule::ipgl_npa, yownodepool::iplg, yowdatapool::myrank, yowexchangemodule::nconndomains, yowelementpool::ne, yowelementpool::ne_global, yownodepool::ng, yownodepool::np, yownodepool::np_global, yownodepool::np_perprocsum, yownodepool::npa, yowsidepool::ns, yowsidepool::ns_global, postpartition(), postpartition2(), prepartition(), w3servmd::print_memcheck(), runparmetis(), and yowexchangemodule::setdimsize().
Referenced by pdlib_w3profsmd::pdlib_init().
| subroutine yowpdlibmain::postpartition |
recalculate some variables parmetis change the number of sides per domain.
So recalculate some variables alter: np, ns, np_perProc, np_perProcSum, iplg, ipgl, nodes_globalid
Definition at line 782 of file yowpdlibmain.F90.
References yownodepool::ipgl, yownodepool::iplg, yowdatapool::myrank, yownodepool::nodes(), yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yownodepool::np_perproc, yownodepool::np_perprocsum, yowsidepool::ns, yowdatapool::ntasks, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine yowpdlibmain::postpartition2 | ( | integer, dimension(3,ne_global), intent(in) | INE_global | ) |
this collects all data which depends on ghost information alter: ne, INE, x, y, z, ielg
Definition at line 1181 of file yowpdlibmain.F90.
References yowelementpool::belongto(), yownodepool::ghostlg, yowelementpool::ielg, yowelementpool::ine, yownodepool::iplg, yowdatapool::myrank, yowelementpool::ne, yowelementpool::ne_global, yownodepool::ng, yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yownodepool::npa, yowerr::parallel_abort(), yownodepool::x, w3gdatmd::xgrd, yownodepool::y, w3gdatmd::ygrd, yownodepool::z, and w3gdatmd::zb.
Referenced by initfromgriddim().
| subroutine yowpdlibmain::prepartition |
pre-partition the mesh just divide the mesh into nTasks parts and create a premature iplg alter: np_perProc, np_perProcSum, np, iplg
Definition at line 293 of file yowpdlibmain.F90.
References yownodepool::iplg, yowdatapool::myrank, yownodepool::np, yownodepool::np_global, yownodepool::np_perproc, yownodepool::np_perprocsum, yowdatapool::ntasks, and yowerr::parallel_abort().
Referenced by initfromgriddim().
| subroutine yowpdlibmain::real_mpi_barrier_pdlib | ( | integer, intent(in) | TheComm, |
| character(*), intent(in) | string | ||
| ) |
Definition at line 178 of file yowpdlibmain.F90.
References yowerr::abort(), yowdatapool::comm, include(), yowdatapool::myrank, yowdatapool::ntasks, and yowerr::parallel_abort().
Referenced by runparmetis().
| subroutine yowpdlibmain::runparmetis | ( | integer, intent(in) | MNP | ) |
Collect all data for parmetis und partition the mesh after that, we know for every node the domain ID alter: t_Node::domainID.
Definition at line 422 of file yowpdlibmain.F90.
References yowdatapool::comm, yowdatapool::debugparmetis, yowdatapool::debugpartition, file(), yownodepool::iplg, yowdatapool::itype, yowdatapool::myrank, yowelementpool::ne, yowelementpool::ne_global, yownodepool::nodes(), yownodepool::nodes_global, yownodepool::np, yownodepool::np_global, yownodepool::np_perproc, yownodepool::np_perprocsum, yownodepool::npa, yowsidepool::ns, yowdatapool::ntasks, yowerr::parallel_abort(), real_mpi_barrier_pdlib(), w3gdatmd::xgrd, and w3gdatmd::ygrd.
Referenced by initfromgriddim().