Parallel routines for implicit solver. More...
Functions/Subroutines | |
| subroutine | wav_my_wtime (eTime) |
| NA. More... | |
| subroutine | print_my_time (string) |
| Print timings. More... | |
| subroutine | prop_refraction_pr1 (ISEA, DTG, CAD) |
| Compute refraction part in matrix. More... | |
| subroutine | prop_refraction_pr3 (IP, ISEA, DTG, CAD, DoLimiter) |
| Compute refraction part in matrix alternative approach. More... | |
| subroutine | prop_freq_shift (IP, ISEA, CAS, DMM, DTG) |
| Compute frequency shift in matrix. More... | |
| subroutine | prop_freq_shift_m2 (IP, ISEA, CWNB_M2, DWNI_M2, DTG) |
| Compute frequency shift alternative approach. More... | |
| subroutine | synchronize_ipgl_etc_array (IMOD, IsMulti) |
| Sync global local arrays. More... | |
| subroutine | set_up_nseal_nsealm (NSEALout, NSEALMout) |
| Setup NSEAL, NSEALM in context of PDLIB. More... | |
| subroutine | init_get_jsea_isproc (ISEA, JSEA, ISPROC) |
| Set JSEA for all schemes. More... | |
| subroutine | get_jsea_ibelong (ISEA, JSEA, IBELONG) |
| Set belongings of JSEA in context of PDLIB. More... | |
| subroutine | init_get_isea (ISEA, JSEA) |
| Set ISEA for all schemes. More... | |
| subroutine | synchronize_global_array (TheVar) |
| Sync global array in context of PDLIB. More... | |
Variables | |
| integer, save | ient = 0 |
| integer | pdlib_nseal |
| integer | pdlib_nsealm |
| integer, dimension(:), allocatable | jx_to_jsea |
| integer, dimension(:), allocatable | isea_to_jsea |
| integer, dimension(:), allocatable | listispnextdir |
| integer, dimension(:), allocatable | listispprevdir |
| integer, dimension(:), allocatable | listispnextfreq |
| integer, dimension(:), allocatable | listispprevfreq |
| logical, parameter | lsloc = .true. |
| integer, parameter | imem = 1 |
| real, parameter | onesixth = 1.0d0/6.0d0 |
| real, parameter | onethird = 1.0d0/3.0d0 |
| real, parameter | zero = 0.0d0 |
| real *8, parameter | thr8 = TINY(1.d0) |
| real, parameter | thr = TINY(1.0) |
Parallel routines for implicit solver.
| subroutine w3parall::get_jsea_ibelong | ( | integer, intent(in) | ISEA, |
| integer, intent(out) | JSEA, | ||
| integer, intent(out) | IBELONG | ||
| ) |
Set belongings of JSEA in context of PDLIB.
| [in] | ISEA | |
| [out] | JSEA | |
| [out] | IBELONG |
Definition at line 1271 of file w3parall.F90.
References w3gdatmd::gtype, w3odatmd::iaproc, yownodepool::ipgl, yowrankmodule::ipgl_npa, yowrankmodule::ipgl_to_proc, yowrankmodule::ipgl_tot, yownodepool::iplg, jx_to_jsea, constants::lpdlib, w3gdatmd::mapsf, w3odatmd::naproc, w3odatmd::outpts, w3servmd::strace(), and w3gdatmd::ungtype.
Referenced by pdlib_field_vec::unst_pdlib_read_from_file(), pdlib_field_vec::unst_pdlib_write_to_file(), w3updtmd::w3uini(), and w3updtmd::w3ulev().
| subroutine w3parall::init_get_isea | ( | integer, intent(out) | ISEA, |
| integer, intent(in) | JSEA | ||
| ) |
Set ISEA for all schemes.
| [out] | ISEA | |
| [in] | JSEA |
Definition at line 1398 of file w3parall.F90.
References w3gdatmd::gtype, w3odatmd::iaproc, yownodepool::iplg, constants::lpdlib, w3odatmd::naproc, w3odatmd::outpts, w3servmd::strace(), and w3gdatmd::ungtype.
Referenced by pdlib_w3profsmd::block_solver_init(), w3iogomd::calc_u3stokes(), w3iogomd::calc_wbt(), pdlib_w3profsmd::check_array_integral_nx_r8_maxfunct(), w3oacpmd::cpl_oasis_define(), w3wavset::differentiate_xydir_mapsta(), pdlib_field_vec::do_output_exchanges(), pdlib_w3profsmd::scal_integral_print_general(), pdlib_w3profsmd::set_iobdp_pdlib(), pdlib_w3profsmd::set_iobpa_pdlib(), w3iogomd::skewness(), w3wavset::trig_compute_lh_stress(), w3wavset::trig_wave_setup_computation(), pdlib_field_vec::unst_pdlib_write_to_file(), w3iosfmd::w3cprt(), w3wavemd::w3gath(), w3initmd::w3init(), w3iorsmd::w3iors(), w3iogomd::w3outg(), w3wavemd::w3scat(), w3snl5md::w3snl5(), w3updtmd::w3uice(), w3updtmd::w3uini(), w3updtmd::w3ulev(), w3wavemd::w3wave(), wminiomd::wmiohg(), wminiomd::wmiohs(), and pdlib_w3profsmd::write_var_to_text_file().
| subroutine w3parall::init_get_jsea_isproc | ( | integer, intent(in) | ISEA, |
| integer, intent(out) | JSEA, | ||
| integer, intent(out) | ISPROC | ||
| ) |
Set JSEA for all schemes.
| [in] | ISEA | |
| [out] | JSEA | |
| [out] | ISPROC |
Definition at line 1163 of file w3parall.F90.
References w3gdatmd::gtype, w3odatmd::iaproc, yownodepool::ipgl, yowrankmodule::ipgl_to_proc, yowrankmodule::ipgl_tot, yownodepool::iplg, isea_to_jsea, constants::lpdlib, w3gdatmd::mapsf, w3odatmd::naproc, w3odatmd::outpts, w3servmd::strace(), and w3gdatmd::ungtype.
Referenced by pdlib_field_vec::do_output_exchanges(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), w3iosfmd::w3cprt(), w3initmd::w3init(), w3iorsmd::w3iors(), w3iosfmd::w3iosf(), w3iotrmd::w3iotr(), w3initmd::w3mpio(), w3initmd::w3mpip(), w3wavemd::w3nmin(), w3updtmd::w3uice(), w3updtmd::w3uini(), w3updtmd::w3ulev(), wmgridmd::wmghgh(), wmgridmd::wmglow(), and wminiomd::wmiobs().
| subroutine w3parall::print_my_time | ( | character(*), intent(in) | string | ) |
Print timings.
| [in] | string |
Definition at line 200 of file w3parall.F90.
References w3odatmd::iaproc, w3servmd::strace(), and wav_my_wtime().
Referenced by pdlib_field_vec::unst_pdlib_read_from_file(), w3initmd::w3init(), w3iorsmd::w3iors(), and w3wavemd::w3wave().
| subroutine w3parall::prop_freq_shift | ( | integer, intent(in) | IP, |
| integer, intent(in) | ISEA, | ||
| real, dimension(nspec), intent(out) | CAS, | ||
| real, dimension(0:nk2), intent(out) | DMM, | ||
| real, intent(in) | DTG | ||
| ) |
Compute frequency shift in matrix.
| [in] | IP | |
| [in] | ISEA | |
| [out] | CAS | |
| [out] | DMM | |
| [in] | DTG |
Definition at line 609 of file w3parall.F90.
References w3adatmd::cg, w3gdatmd::ctmax, w3adatmd::cx, w3adatmd::cy, w3adatmd::dcxdx, w3adatmd::dcxdy, w3adatmd::dcydx, w3adatmd::dcydy, w3adatmd::dddx, w3adatmd::dddy, w3gdatmd::dmin, w3gdatmd::dsip, w3gdatmd::dth, w3adatmd::dw, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::es2, w3gdatmd::esc, w3gdatmd::esin, w3gdatmd::fachfa, w3gdatmd::flck, w3gdatmd::flcth, w3odatmd::iaproc, constants::lpdlib, w3gdatmd::mapsf, w3gdatmd::mapwn, w3gdatmd::nk, w3gdatmd::nk2, w3gdatmd::nspec, w3gdatmd::nth, w3gdatmd::sig, w3servmd::strace(), w3adatmd::wn, and zero.
Referenced by pdlib_w3profsmd::calcarray_jacobi_spectral_1(), and pdlib_w3profsmd::calcarray_jacobi_spectral_2().
| subroutine w3parall::prop_freq_shift_m2 | ( | integer, intent(in) | IP, |
| integer, intent(in) | ISEA, | ||
| real, dimension(1-nth:nspec), intent(out) | CWNB_M2, | ||
| real, dimension(nk), intent(out) | DWNI_M2, | ||
| real, intent(in) | DTG | ||
| ) |
Compute frequency shift alternative approach.
| [in] | IP | |
| [in] | ISEA | |
| [out] | CWNB_M2 | |
| [out] | DWNI_M2 | |
| [in] | DTG |
Definition at line 761 of file w3parall.F90.
References w3adatmd::cg, w3gdatmd::ctmax, w3adatmd::cx, w3adatmd::cy, w3adatmd::dcxdx, w3adatmd::dcxdy, w3adatmd::dcydx, w3adatmd::dcydy, w3adatmd::dddx, w3adatmd::dddy, w3gdatmd::dmin, w3gdatmd::dsip, w3gdatmd::dth, w3adatmd::dw, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::es2, w3gdatmd::esc, w3gdatmd::esin, w3gdatmd::fachfa, w3gdatmd::flck, w3gdatmd::flcth, w3odatmd::iaproc, constants::lpdlib, w3gdatmd::mapsf, w3gdatmd::mapwn, w3gdatmd::nk, w3gdatmd::nk2, w3gdatmd::nspec, w3gdatmd::nth, w3gdatmd::sig, w3servmd::strace(), w3adatmd::wn, and zero.
Referenced by pdlib_w3profsmd::calcarray_jacobi_spectral_1(), and pdlib_w3profsmd::calcarray_jacobi_spectral_2().
| subroutine w3parall::prop_refraction_pr1 | ( | integer, intent(in) | ISEA, |
| real, intent(in) | DTG, | ||
| real, dimension(nspec), intent(out) | CAD | ||
| ) |
Compute refraction part in matrix.
| [in] | ISEA | |
| [in] | DTG | |
| [out] | CAD |
Definition at line 286 of file w3parall.F90.
References w3adatmd::cg, w3gdatmd::cthg0s, w3gdatmd::ctmax, w3adatmd::dcdx, w3adatmd::dcdy, w3adatmd::dcxdx, w3adatmd::dcxdy, w3adatmd::dcydx, w3adatmd::dcydy, w3adatmd::dddx, w3adatmd::dddy, w3gdatmd::dmin, w3gdatmd::dsip, w3gdatmd::dth, w3adatmd::dw, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::es2, w3gdatmd::esc, w3gdatmd::esin, w3gdatmd::fachfa, w3gdatmd::flck, w3gdatmd::flcth, w3idatmd::flcur, w3odatmd::iaproc, w3gdatmd::mapsf, w3gdatmd::mapwn, w3gdatmd::nk, w3gdatmd::nk2, w3gdatmd::nspec, w3gdatmd::nth, w3gdatmd::sig, w3servmd::strace(), and w3adatmd::wn.
Referenced by pdlib_w3profsmd::calcarray_jacobi_spectral_1(), and pdlib_w3profsmd::calcarray_jacobi_spectral_2().
| subroutine w3parall::prop_refraction_pr3 | ( | integer, intent(in) | IP, |
| integer, intent(in) | ISEA, | ||
| real, intent(in) | DTG, | ||
| real, dimension(nspec), intent(out) | CAD, | ||
| logical, intent(in) | DoLimiter | ||
| ) |
Compute refraction part in matrix alternative approach.
| [in] | IP | |
| [in] | ISEA | |
| [in] | DTG | |
| [out] | CAD | |
| [in] | DoLimiter |
Definition at line 449 of file w3parall.F90.
References w3adatmd::cg, w3gdatmd::cthg0s, w3gdatmd::ctmax, w3adatmd::dcxdx, w3adatmd::dcxdy, w3adatmd::dcydx, w3adatmd::dcydy, w3adatmd::dddx, w3adatmd::dddy, w3gdatmd::dmin, w3gdatmd::dsip, w3gdatmd::dth, w3adatmd::dw, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::es2, w3gdatmd::esc, w3gdatmd::esin, w3gdatmd::fachfa, w3gdatmd::flck, w3gdatmd::flcth, w3idatmd::flcur, w3odatmd::iaproc, constants::lpdlib, w3gdatmd::mapsf, w3gdatmd::mapwn, w3gdatmd::nk, w3gdatmd::nk2, w3gdatmd::nspec, w3gdatmd::nth, w3gdatmd::sig, w3servmd::strace(), and w3adatmd::wn.
Referenced by pdlib_w3profsmd::calcarray_jacobi_spectral_1(), and pdlib_w3profsmd::calcarray_jacobi_spectral_2().
| subroutine w3parall::set_up_nseal_nsealm | ( | integer, intent(out) | NSEALout, |
| integer, intent(out) | NSEALMout | ||
| ) |
Setup NSEAL, NSEALM in context of PDLIB.
| [out] | NSEALout | |
| [out] | NSEALMout |
Definition at line 1040 of file w3parall.F90.
References w3gdatmd::gtype, w3odatmd::iaproc, yowdatapool::istatus, constants::lpdlib, w3adatmd::mpi_comm_wave, w3adatmd::mpi_comm_wcmp, w3odatmd::naproc, yownodepool::npa, w3gdatmd::nsea, w3odatmd::ntproc, pdlib_nseal, pdlib_nsealm, yowrankmodule::rank, w3servmd::strace(), and w3gdatmd::ungtype.
Referenced by w3wdatmd::w3dimw(), and w3initmd::w3init().
| subroutine w3parall::synchronize_global_array | ( | double precision, dimension(nx), intent(inout) | TheVar | ) |
Sync global array in context of PDLIB.
An array of size (NSEA) is send but only the (1:NSEAL) values are correct. The program synchonizes everything on all nodes.
| [in,out] | TheVar |
Definition at line 1517 of file w3parall.F90.
References w3odatmd::iaproc, include(), yownodepool::iplg, yowdatapool::istatus, w3adatmd::mpi_comm_wcmp, w3odatmd::naproc, yownodepool::npa, w3gdatmd::nsea, w3gdatmd::nseal, w3odatmd::ntproc, w3gdatmd::nx, yowdatapool::rkind, yowdatapool::rtype, and w3servmd::strace().
Referenced by w3wavset::trig_wave_setup_computation().
| subroutine w3parall::synchronize_ipgl_etc_array | ( | integer, intent(in) | IMOD, |
| logical, intent(in) | IsMulti | ||
| ) |
Sync global local arrays.
| [in] | IMOD | |
| [in] | IsMulti |
Definition at line 916 of file w3parall.F90.
References w3odatmd::iaproc, include(), yowrankmodule::ipgl_to_proc, yowrankmodule::ipgl_tot, yowdatapool::istatus, w3gdatmd::mapsf, wmmdatmd::mdatas, w3adatmd::mpi_comm_wave, w3adatmd::mpi_comm_wcmp, w3odatmd::naproc, yownodepool::np_global, w3gdatmd::nsea, w3odatmd::ntproc, and w3servmd::strace().
Referenced by w3initmd::w3init().
| subroutine w3parall::wav_my_wtime | ( | real(8), intent(out) | eTime | ) |
NA.
| [out] | eTime |
Definition at line 110 of file w3parall.F90.
References w3servmd::strace().
Referenced by print_my_time().
| integer, save w3parall::ient = 0 |
Definition at line 78 of file w3parall.F90.
| integer, parameter w3parall::imem = 1 |
Definition at line 90 of file w3parall.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::calcarray_jacobi_spectral_1(), pdlib_w3profsmd::calcarray_jacobi_spectral_2(), pdlib_w3profsmd::deallocate_pdlib_global(), pdlib_w3profsmd::jacobi_finalize(), pdlib_w3profsmd::jacobi_init(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), and w3srcemd::w3srce().
| integer, dimension(:), allocatable w3parall::isea_to_jsea |
Definition at line 83 of file w3parall.F90.
Referenced by pdlib_w3profsmd::apply_boundary_condition_va(), init_get_jsea_isproc(), pdlib_w3profsmd::pdlib_init(), and w3initmd::w3init().
| integer, dimension(:), allocatable w3parall::jx_to_jsea |
Definition at line 83 of file w3parall.F90.
Referenced by get_jsea_ibelong(), pdlib_w3profsmd::pdlib_init(), and pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block().
| integer, dimension(:), allocatable w3parall::listispnextdir |
Definition at line 86 of file w3parall.F90.
Referenced by pdlib_w3profsmd::block_solver_init(), and pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block().
| integer, dimension(:), allocatable w3parall::listispnextfreq |
Definition at line 87 of file w3parall.F90.
Referenced by pdlib_w3profsmd::block_solver_init().
| integer, dimension(:), allocatable w3parall::listispprevdir |
Definition at line 86 of file w3parall.F90.
Referenced by pdlib_w3profsmd::block_solver_init(), and pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block().
| integer, dimension(:), allocatable w3parall::listispprevfreq |
Definition at line 87 of file w3parall.F90.
Referenced by pdlib_w3profsmd::block_solver_init().
| logical, parameter w3parall::lsloc = .true. |
Definition at line 89 of file w3parall.F90.
Referenced by pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3wdatmd::w3dimw(), w3srcemd::w3srce(), and w3wavemd::w3wave().
| real, parameter w3parall::onesixth = 1.0d0/6.0d0 |
Definition at line 92 of file w3parall.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), and pdlib_w3profsmd::pdlib_w3xypfspsi2().
| real, parameter w3parall::onethird = 1.0d0/3.0d0 |
Definition at line 93 of file w3parall.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi3(), and pdlib_w3profsmd::calcarray_jacobi4().
| integer w3parall::pdlib_nseal |
Definition at line 82 of file w3parall.F90.
Referenced by pdlib_w3profsmd::pdlib_init(), set_up_nseal_nsealm(), and w3wavemd::w3wave().
| integer w3parall::pdlib_nsealm |
Definition at line 82 of file w3parall.F90.
Referenced by pdlib_w3profsmd::pdlib_init(), set_up_nseal_nsealm(), and w3wavemd::w3wave().
| real, parameter w3parall::thr = TINY(1.0) |
Definition at line 97 of file w3parall.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), and pdlib_w3profsmd::pdlib_w3xypfspsi2().
| real*8, parameter w3parall::thr8 = TINY(1.d0) |
Definition at line 96 of file w3parall.F90.
Referenced by pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block().
| real, parameter w3parall::zero = 0.0d0 |
Definition at line 94 of file w3parall.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_spectral_1(), pdlib_w3profsmd::calcarray_jacobi_spectral_2(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), prop_freq_shift(), and prop_freq_shift_m2().