advec_mpi Module

do not import grid sizes in case we want do subgrid advection...


Uses

  • module~~advec_mpi~~UsesGraph module~advec_mpi advec_mpi module~phys_consts phys_consts module~advec_mpi->module~phys_consts module~grid grid module~advec_mpi->module~grid module~mesh mesh module~advec_mpi->module~mesh module~mpimod mpimod module~advec_mpi->module~mpimod iso_fortran_env iso_fortran_env module~phys_consts->iso_fortran_env module~grid->module~phys_consts module~grid->module~mesh module~grid->module~mpimod module~reader reader module~grid->module~reader module~grid->iso_fortran_env module~mesh->module~phys_consts module~mpimod->module~phys_consts mpi mpi module~mpimod->mpi module~mpimod->iso_fortran_env module~reader->module~phys_consts module~reader->iso_fortran_env

Used by

  • module~~advec_mpi~~UsedByGraph module~advec_mpi advec_mpi module~multifluid multifluid module~multifluid->module~advec_mpi program~gemini3d Gemini3D program~gemini3d->module~multifluid

Contents


Interfaces

public interface advec3D_MC_mpi

OVERLOAD ADVECTION TO DEAL WITH THE CURVILINEAR GRID/MESH STRUCTURE. NOTE THAT THE LOWER-LEVEL CALLS ARE DISTINCT, NOT-OVERLOADED PROCEDURES.

  • private function advec3D_MC_mpi_curv_23(f, v1i, v2i, v3i, dt, x, frank, tagf)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(-1:,-1:,-1:):: f
    real(kind=wp), intent(in), dimension(:,:,:):: v1i
    real(kind=wp), intent(in), dimension(:,:,:):: v2i
    real(kind=wp), intent(in), dimension(:,:,:):: v3i
    real(kind=wp), intent(in) :: dt
    type(curvmesh), intent(in) :: x
    integer, intent(in) :: frank
    integer, intent(in) :: tagf

    Return Value real(kind=wp), dimension(-1:size(f,1)-2,-1:size(f,2)-2,-1:size(f,3)-2)

public interface advec_prep_mpi

  • private subroutine advec_prep_mpi_23(isp, isperiodic, ns, rhovs1, vs1, vs2, vs3, rhoes, v1i, v2i, v3i)

    COMPUTE INTERFACE VELOCITIES AND LOAD UP GHOST CELLS FOR FLUID STATE VARIABLES

    Read more…

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: isp
    logical, intent(in) :: isperiodic
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: ns
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhovs1
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs1
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs2
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs3
    real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhoes
    real(kind=wp), intent(out), dimension(1:size(vs1,1)-3,1:size(vs1,2)-4,1:size(vs1,3)-4):: v1i
    real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-3,1:size(vs1,3)-4):: v2i
    real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-4,1:size(vs1,3)-3):: v3i

Functions

private function advec3D_MC_mpi_curv_3(f, v1i, v2i, v3i, dt, x, frank)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-1:,-1:,-1:):: f
real(kind=wp), intent(in), dimension(:,:,:):: v1i
real(kind=wp), intent(in), dimension(:,:,:):: v2i
real(kind=wp), intent(in), dimension(:,:,:):: v3i
real(kind=wp), intent(in) :: dt
type(curvmesh), intent(in) :: x
integer, intent(in) :: frank

Return Value real(kind=wp), dimension(-1:size(f,1)-2,-1:size(f,2)-2,-1:size(f,3)-2)

private function advec3D_MC_mpi_curv_23(f, v1i, v2i, v3i, dt, x, frank, tagf)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-1:,-1:,-1:):: f
real(kind=wp), intent(in), dimension(:,:,:):: v1i
real(kind=wp), intent(in), dimension(:,:,:):: v2i
real(kind=wp), intent(in), dimension(:,:,:):: v3i
real(kind=wp), intent(in) :: dt
type(curvmesh), intent(in) :: x
integer, intent(in) :: frank
integer, intent(in) :: tagf

Return Value real(kind=wp), dimension(-1:size(f,1)-2,-1:size(f,2)-2,-1:size(f,3)-2)

private function advec1D_MC_curv(f, v1i, dt, dx1, dx1i, ha1, ha2i, h1i)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-1:):: f
real(kind=wp), intent(in), dimension(:):: v1i
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(-1:):: ha1
real(kind=wp), intent(in), dimension(:):: ha2i
real(kind=wp), intent(in), dimension(:):: h1i

Return Value real(kind=wp), dimension(-1:size(f)-2)

private elemental function minmod(a, b)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in) :: a
real(kind=wp), intent(in) :: b

Return Value real(kind=wp)


Subroutines

private subroutine advec_prep_mpi_3(isp, isperiodic, ns, rhovs1, vs1, vs2, vs3, rhoes, v1i, v2i, v3i)

COMPUTE INTERFACE VELOCITIES AND LOAD UP GHOST CELLS FOR FLUID STATE VARIABLES

Read more…

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: isp
logical, intent(in) :: isperiodic
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: ns
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhovs1
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs1
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs2
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs3
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhoes
real(kind=wp), intent(out), dimension(1:size(vs1,1)-3,1:size(vs1,2)-4,1:size(vs1,3)-4):: v1i
real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-3,1:size(vs1,3)-4):: v2i
real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-4,1:size(vs1,3)-3):: v3i

private subroutine advec_prep_mpi_23(isp, isperiodic, ns, rhovs1, vs1, vs2, vs3, rhoes, v1i, v2i, v3i)

COMPUTE INTERFACE VELOCITIES AND LOAD UP GHOST CELLS FOR FLUID STATE VARIABLES

Read more…

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: isp
logical, intent(in) :: isperiodic
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: ns
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhovs1
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs1
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs2
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: vs3
real(kind=wp), intent(inout), dimension(-1:,-1:,-1:,:):: rhoes
real(kind=wp), intent(out), dimension(1:size(vs1,1)-3,1:size(vs1,2)-4,1:size(vs1,3)-4):: v1i
real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-3,1:size(vs1,3)-4):: v2i
real(kind=wp), intent(out), dimension(1:size(vs1,1)-4,1:size(vs1,2)-4,1:size(vs1,3)-3):: v3i