ResPart_set_GetIBForcing Subroutine

private impure subroutine ResPart_set_GetIBForcing(this, Um, Vm, Wm, rhof, SA, ibF, dt)

Computes the IB forcing

Type Bound

ResPart_set

Arguments

Type IntentOptional Attributes Name
class(ResPart_set), intent(inout) :: this

Collection of Resolved Particles

type(eulerian_obj_r), intent(in) :: Um

Velocity in 1-dir

type(eulerian_obj_r), intent(in) :: Vm

Velocity in 2-dir

type(eulerian_obj_r), intent(in) :: Wm

Velocity in 3-dir

real(kind=wp), intent(in) :: rhof

Fluid density

type(eulerian_obj_r), intent(in) :: SA

Surface area

type(eulerian_obj_r), intent(inout) :: ibF(3)

IB forcing

real(kind=wp), intent(in) :: dt

Timestep


Calls

proc~~respart_set_getibforcing~~CallsGraph proc~respart_set_getibforcing ResPart_set%ResPart_set_GetIBForcing proc~marker_set_getibforcing marker_set%marker_set_GetIBForcing proc~respart_set_getibforcing->proc~marker_set_getibforcing markers markers proc~marker_set_getibforcing->markers p p proc~marker_set_getibforcing->p proc~eulerian_obj_final eulerian_obj_base%eulerian_obj_Final proc~marker_set_getibforcing->proc~eulerian_obj_final proc~eulerian_obj_init eulerian_obj_base%eulerian_obj_Init proc~marker_set_getibforcing->proc~eulerian_obj_init proc~marker_set_filter marker_set%marker_set_Filter proc~marker_set_getibforcing->proc~marker_set_filter proc~marker_set_filter->markers extrapolate extrapolate proc~marker_set_filter->extrapolate f f proc~marker_set_filter->f n n proc~marker_set_filter->n proc~eulerian_obj_addupghostcells eulerian_obj_base%eulerian_obj_AddUpGhostCells proc~marker_set_filter->proc~eulerian_obj_addupghostcells v v proc~marker_set_filter->v proc~eulerian_obj_addupghostcells_x eulerian_obj_base%eulerian_obj_AddUpGhostCells_x proc~eulerian_obj_addupghostcells->proc~eulerian_obj_addupghostcells_x proc~eulerian_obj_addupghostcells_y eulerian_obj_base%eulerian_obj_AddUpGhostCells_y proc~eulerian_obj_addupghostcells->proc~eulerian_obj_addupghostcells_y proc~eulerian_obj_addupghostcells_z eulerian_obj_base%eulerian_obj_AddUpGhostCells_z proc~eulerian_obj_addupghostcells->proc~eulerian_obj_addupghostcells_z proc~eulerian_obj_updateghostcells eulerian_obj_base%eulerian_obj_UpdateGhostCells proc~eulerian_obj_addupghostcells->proc~eulerian_obj_updateghostcells cell cell proc~eulerian_obj_addupghostcells_x->cell mpi_irecv mpi_irecv proc~eulerian_obj_addupghostcells_x->mpi_irecv mpi_isend mpi_isend proc~eulerian_obj_addupghostcells_x->mpi_isend mpi_waitall mpi_waitall proc~eulerian_obj_addupghostcells_x->mpi_waitall proc~eulerian_obj_addupghostcells_y->cell proc~eulerian_obj_addupghostcells_y->mpi_irecv proc~eulerian_obj_addupghostcells_y->mpi_isend proc~eulerian_obj_addupghostcells_y->mpi_waitall proc~eulerian_obj_addupghostcells_z->cell proc~eulerian_obj_addupghostcells_z->mpi_irecv proc~eulerian_obj_addupghostcells_z->mpi_isend proc~eulerian_obj_addupghostcells_z->mpi_waitall proc~eulerian_obj_updateghostcells_x eulerian_obj_base%eulerian_obj_UpdateGhostCells_x proc~eulerian_obj_updateghostcells->proc~eulerian_obj_updateghostcells_x proc~eulerian_obj_updateghostcells_y eulerian_obj_base%eulerian_obj_UpdateGhostCells_y proc~eulerian_obj_updateghostcells->proc~eulerian_obj_updateghostcells_y proc~eulerian_obj_updateghostcells_z eulerian_obj_base%eulerian_obj_UpdateGhostCells_z proc~eulerian_obj_updateghostcells->proc~eulerian_obj_updateghostcells_z proc~eulerian_obj_updateghostcells_x->cell proc~eulerian_obj_updateghostcells_x->mpi_irecv proc~eulerian_obj_updateghostcells_x->mpi_isend proc~eulerian_obj_updateghostcells_x->mpi_waitall proc~eulerian_obj_updateghostcells_y->cell proc~eulerian_obj_updateghostcells_y->mpi_irecv proc~eulerian_obj_updateghostcells_y->mpi_isend proc~eulerian_obj_updateghostcells_y->mpi_waitall proc~eulerian_obj_updateghostcells_z->cell proc~eulerian_obj_updateghostcells_z->mpi_irecv proc~eulerian_obj_updateghostcells_z->mpi_isend proc~eulerian_obj_updateghostcells_z->mpi_waitall

Called by

proc~~respart_set_getibforcing~~CalledByGraph proc~respart_set_getibforcing ResPart_set%ResPart_set_GetIBForcing proc~cdifs_obj_advancesolutionib cdifs_obj_AdvanceSolutionIB proc~cdifs_obj_advancesolutionib->proc~respart_set_getibforcing proc~cdifs_obj_advancesolution cdifs_obj_AdvanceSolution proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionib interface~cdifs_obj_advancesolution cdifs_obj%cdifs_obj_AdvanceSolution interface~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolution

Source Code

    impure subroutine ResPart_set_GetIBForcing(this,Um,Vm,Wm,rhof,SA,ibF,dt)
      !> Computes the IB forcing
      implicit none
      class(ResPart_set),   intent(inout) :: this                              !! Collection of Resolved Particles
      type(Eulerian_obj_r), intent(in)    :: Um                                !! Velocity in 1-dir
      type(Eulerian_obj_r), intent(in)    :: Vm                                !! Velocity in 2-dir
      type(Eulerian_obj_r), intent(in)    :: Wm                                !! Velocity in 3-dir
      real(wp),             intent(in)    :: rhof                              !! Fluid density
      type(Eulerian_obj_r), intent(in)    :: SA                                !! Surface area
      type(Eulerian_obj_r), intent(inout) :: ibF(3)                            !! IB forcing
      real(wp),             intent(in)    :: dt                                !! Timestep

      call this%ib%GetIBForcing(Um,Vm,Wm,rhof,SA,ibF,dt)

      return
    end subroutine ResPart_set_GetIBForcing