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 |