test_potential2d Program

Uses

  • program~~test_potential2d~~UsesGraph program~test_potential2d test_potential2d module~pdeelliptic PDEelliptic program~test_potential2d->module~pdeelliptic mpi mpi program~test_potential2d->mpi h5fortran h5fortran program~test_potential2d->h5fortran module~phys_consts phys_consts program~test_potential2d->module~phys_consts module~pdeelliptic->module~phys_consts module~mumps_interface~2 mumps_interface module~pdeelliptic->module~mumps_interface~2 iso_fortran_env iso_fortran_env module~pdeelliptic->iso_fortran_env module~mpimod mpimod module~pdeelliptic->module~mpimod module~phys_consts->iso_fortran_env module~mumps_rl mumps_rl module~mumps_interface~2->module~mumps_rl module~mpimod->mpi module~mpimod->module~phys_consts module~mpimod->iso_fortran_env

Need program statement for FORD SOLVE LAPLACE'S EQUATION IN 2D USING PDEelliptic, mumps-based libraries

Set things up to give debug output Set up grid and compute differences needed for solution of PDE Define boundary conditions for this problem Make the call to PDE elliptic solver library, note the separate calls for root vs. workers Also have root compute an analytical solution and test against numerical


Calls

program~~test_potential2d~~CallsGraph program~test_potential2d test_potential2d mpi_comm_rank mpi_comm_rank program~test_potential2d->mpi_comm_rank proc~elliptic_workers elliptic_workers program~test_potential2d->proc~elliptic_workers mpi_finalize mpi_finalize program~test_potential2d->mpi_finalize mpi_init mpi_init program~test_potential2d->mpi_init interface~elliptic2d_cart elliptic2D_cart program~test_potential2d->interface~elliptic2d_cart interface~elliptic2d_polarization elliptic2D_polarization program~test_potential2d->interface~elliptic2d_polarization mpi_comm_size mpi_comm_size program~test_potential2d->mpi_comm_size mumps_exec mumps_exec proc~elliptic_workers->mumps_exec proc~check_mumps_status check_mumps_status proc~elliptic_workers->proc~check_mumps_status proc~quiet_mumps quiet_mumps proc~elliptic_workers->proc~quiet_mumps proc~elliptic2d_cart elliptic2D_cart interface~elliptic2d_cart->proc~elliptic2d_cart proc~elliptic2d_polarization elliptic2D_polarization interface~elliptic2d_polarization->proc~elliptic2d_polarization proc~elliptic2d_polarization->mumps_exec proc~elliptic2d_polarization->proc~check_mumps_status proc~elliptic2d_polarization->proc~quiet_mumps mumps_perm mumps_perm proc~elliptic2d_polarization->mumps_perm proc~elliptic2d_cart->mumps_exec proc~elliptic2d_cart->proc~check_mumps_status proc~elliptic2d_cart->proc~quiet_mumps proc~elliptic2d_cart->mumps_perm

Contents


Variables

Type AttributesNameInitial
type(hdf5_file) :: hout
integer, parameter:: lx1 =256
integer, parameter:: lx2 =256
integer, parameter:: lx3 =256
integer :: ix1
integer :: ix2
integer :: ix3
real(kind=wp), dimension(-1:lx1+2):: x1
real(kind=wp), dimension(-1:lx2+2):: x2
real(kind=wp), dimension(-1:lx3+2):: x3
real(kind=wp), dimension(1:lx1+1):: x1i
real(kind=wp), dimension(1:lx2+2):: x2i
real(kind=wp), dimension(1:lx3+2):: x3i
real(kind=wp), dimension(0:lx1+2):: dx1
real(kind=wp), dimension(0:lx2+2):: dx2
real(kind=wp), dimension(0:lx3+2):: dx3
real(kind=wp), dimension(1:lx1):: dx1i
real(kind=wp), dimension(1:lx2):: dx2i
real(kind=wp), dimension(1:lx3):: dx3i
real(kind=wp), dimension(lx3):: Vminx2
real(kind=wp), dimension(lx3):: Vmaxx2
real(kind=wp), dimension(lx2):: Vminx3
real(kind=wp), dimension(lx2):: Vmaxx3
real(kind=wp), dimension(1,lx3):: Vminx22
real(kind=wp), dimension(1,lx3):: Vmaxx22
real(kind=wp), dimension(lx2,1):: Vminx32
real(kind=wp), dimension(lx2,1):: Vmaxx32
real(kind=wp) :: tstart
real(kind=wp) :: tfin
integer :: ierr
integer :: myid
integer :: lid
real(kind=wp), dimension(lx2,lx3):: Phi
real(kind=wp), dimension(lx2,lx3):: Phi2squeeze
real(kind=wp), dimension(lx2,lx3):: Phitrue
real(kind=wp), dimension(lx2,lx3):: errorMUMPS
real(kind=wp), dimension(lx2,lx3):: errorMUMPS2
real(kind=wp), dimension(lx2,1,lx3):: Phi2
real(kind=wp), dimension(lx2,lx3):: Phi0 =1
real(kind=wp), dimension(lx2,lx3):: v2 =1
real(kind=wp), dimension(lx2,lx3):: v3 =1
real(kind=wp), dimension(lx2,lx3):: A =1
real(kind=wp), dimension(lx2,lx3):: Ap =1
real(kind=wp), dimension(lx2,lx3):: App =0
real(kind=wp), dimension(lx2,lx3):: B =0
real(kind=wp), dimension(lx2,lx3):: C =0
real(kind=wp), dimension(lx2,lx3):: D =0
real(kind=wp), dimension(lx2,1,lx3):: A2 =1
real(kind=wp), dimension(lx2,1,lx3):: Ap2 =1
real(kind=wp), dimension(lx2,lx3):: srcterm =0
real(kind=wp), dimension(lx2,1,lx3):: srcterm2 =0
logical :: perflag =.false.
integer :: it =1
real(kind=wp) :: dt =1
integer :: gridflag =1
integer :: flagdirich =1
character(len=*), parameter:: outfile ='test_potential2d.h5'

mpi starting