potential_mumps Module


Uses

  • module~~potential_mumps~~UsesGraph module~potential_mumps potential_mumps iso_fortran_env iso_fortran_env module~potential_mumps->iso_fortran_env module~phys_consts phys_consts module~potential_mumps->module~phys_consts module~interpolation interpolation module~potential_mumps->module~interpolation module~pdeelliptic PDEelliptic module~potential_mumps->module~pdeelliptic module~mesh mesh module~potential_mumps->module~mesh module~mpimod mpimod module~potential_mumps->module~mpimod module~calculus calculus module~potential_mumps->module~calculus module~phys_consts->iso_fortran_env module~interpolation->module~phys_consts module~pdeelliptic->iso_fortran_env module~pdeelliptic->module~phys_consts module~pdeelliptic->module~mpimod module~mumps_interface~2 mumps_interface module~pdeelliptic->module~mumps_interface~2 module~mesh->module~phys_consts module~mpimod->iso_fortran_env module~mpimod->module~phys_consts mpi mpi module~mpimod->mpi module~calculus->module~phys_consts module~calculus->module~mesh module~mumps_rl mumps_rl module~mumps_interface~2->module~mumps_rl

Used by

  • module~~potential_mumps~~UsedByGraph module~potential_mumps potential_mumps module~potential2d potential2d module~potential2d->module~potential_mumps module~potential_comm potential_comm module~potential_comm->module~potential_mumps module~potential_root potential_root module~potential_root->module~potential_comm program~gemini3d Gemini3D program~gemini3d->module~potential_comm module~potential_worker potential_worker module~potential_worker->module~potential_comm

Contents


Variables

TypeVisibility AttributesNameInitial
integer, protected, dimension(:), pointer, save:: mumps_perm

Interfaces

interface

  • public module function potential2D_polarization(srcterm, SigP2, SigP3, SigH, Cm, v2, v3, Vminx2, Vmaxx2, Vminx3, Vmaxx3, dt, x, Phi0, perflag, it)

    Arguments

    Type IntentOptional AttributesName
    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(:,:):: 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
    type(curvmesh), intent(in) :: x
    real(kind=wp), intent(in), dimension(:,:):: Phi0
    logical, intent(in) :: perflag
    integer, intent(in) :: it

    Return Value real(kind=wp), dimension(size(SigP2,1),size(SigP2,2))

interface

  • public module function potential2D_polarization_periodic(srcterm, SigP, SigH, Cm, v2, v3, Vminx2, Vmaxx2, Vminx3, Vmaxx3, dt, x, Phi0, perflag, it)

    Arguments

    Type IntentOptional AttributesName
    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(:,:):: 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
    type(curvmesh), intent(in) :: x
    real(kind=wp), intent(in), dimension(:,:):: Phi0
    logical, intent(in) :: perflag
    integer, intent(in) :: it

    Return Value real(kind=wp), dimension(size(SigP,1),size(SigP,2))

interface

  • public module function potential2D_fieldresolved(srcterm, sig0, sigP, Vminx1, Vmaxx1, Vminx3, Vmaxx3, x, flagdirich, perflag, it)

    Arguments

    Type IntentOptional AttributesName
    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
    type(curvmesh), intent(in) :: x
    integer, intent(in) :: flagdirich
    logical, intent(in) :: perflag
    integer, intent(in) :: it

    Return Value real(kind=wp), dimension(size(sig0,1),1,size(sig0,3))


Functions

public function potential3D_fieldresolved_decimate(srcterm, sig0, sigP, sigH, Vminx1, Vmaxx1, Vminx2, Vmaxx2, Vminx3, Vmaxx3, x, flagdirich, perflag, it)

SOLVE IONOSPHERIC POTENTIAL EQUATION IN 3D USING MUMPS ASSUME THAT WE ARE RESOLVING THE POTENTIAL ALONG THE FIELD LINE. THIS IS MOSTLY INEFFICIENT/UNWORKABLE FOR MORE THAN 1M GRID POINTS.

Arguments

Type IntentOptional AttributesName
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(:,:,:):: sigH
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
type(curvmesh), intent(in) :: x
integer, intent(in) :: flagdirich
logical, intent(in) :: perflag
integer, intent(in) :: it

Return Value real(kind=wp), dimension(size(srcterm,1),size(srcterm,2),size(srcterm,3))