Various tools for solving elliptic partial differential equations - uses MUMPS, scalapack, lapack, openmpi, and blas
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | protected, | dimension(:), pointer, save | :: | mumps_perm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:,:) | :: | srcterm | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | SigP2 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | SigP3 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | SigH | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | gradSigH2 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | gradSigH3 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | Cm | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | v2 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:,:) | :: | v3 | ZZZ - THESE WILL NEED TO BE MODIFIED CONDUCTIVITIES, AND WE'LL NEED THREE OF THEM |
|
real(kind=wp), | intent(in), | dimension(:) | :: | Vminx2 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vmaxx2 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vminx3 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vmaxx3 | ||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx1 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx1i | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx2all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx2iall | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx3all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx3iall | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Phi0 | ||
logical, | intent(in) | :: | perflag | |||
integer, | intent(in) | :: | it |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:,:) | :: | srcterm | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | SigP | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | SigH | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | gradSigH2 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | gradSigH3 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Cm | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | v2 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | v3 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vminx2 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vmaxx2 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vminx3 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | Vmaxx3 | ||
real(kind=wp), | intent(in) | :: | dt | |||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx1 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx1i | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx2all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx2iall | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx3all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx3iall | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Phi0 | ||
logical, | intent(in) | :: | perflag | |||
integer, | intent(in) | :: | it |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | srcterm | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sig0 | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | sigP | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vminx1 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vmaxx1 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vminx3 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vmaxx3 | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx1 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx1i | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx3all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx3iall | ||
integer, | intent(in) | :: | flagdirich | |||
logical, | intent(in) | :: | perflag | |||
integer, | intent(in) | :: | gridflag | |||
integer, | intent(in) | :: | it |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | srcterm | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Ac | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Bc | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Cc | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Dc | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Ec | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Fc | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vminx1 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vmaxx1 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vminx2 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vmaxx2 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vminx3 | ||
real(kind=wp), | intent(in), | dimension(:,:) | :: | Vmaxx3 | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx1 | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx1i | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx2all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx2iall | ||
real(kind=wp), | intent(in), | dimension(0:) | :: | dx3all | ||
real(kind=wp), | intent(in), | dimension(:) | :: | dx3iall | ||
integer, | intent(in) | :: | flagdirich | |||
logical, | intent(in) | :: | perflag | |||
integer, | intent(in) | :: | it |
this must be called AFTER the first mumps call that had job=-1 Needs Mumps >= 5.2 to actually take effect, does nothing on older MUMPS it stops the 100's of megabytes of logging console text, probably speeding up as well
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MUMPS_STRUC), | intent(inout) | :: | obj |
ALLOWS WORKERS TO ENTER MUMPS SOLVES
check if Mumps error occurred
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MUMPS_STRUC), | intent(in) | :: | p | |||
character(len=*), | intent(in) | :: | name |