marker_set_UpdateSDF Subroutine

private impure subroutine marker_set_UpdateSDF(this, SDF)

Updates the Surface Density Function.

Type Bound

marker_set

Arguments

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

A collection of tessellation elements

type(eulerian_obj_r), intent(inout) :: SDF

Surface Density Function


Calls

proc~~marker_set_updatesdf~~CallsGraph proc~marker_set_updatesdf marker_set%marker_set_UpdateSDF proc~eulerian_obj_final eulerian_obj_base%eulerian_obj_Final proc~marker_set_updatesdf->proc~eulerian_obj_final proc~eulerian_obj_init eulerian_obj_base%eulerian_obj_Init proc~marker_set_updatesdf->proc~eulerian_obj_init proc~marker_set_filter marker_set%marker_set_Filter proc~marker_set_updatesdf->proc~marker_set_filter extrapolate extrapolate proc~marker_set_filter->extrapolate f f proc~marker_set_filter->f markers markers proc~marker_set_filter->markers 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~~marker_set_updatesdf~~CalledByGraph proc~marker_set_updatesdf marker_set%marker_set_UpdateSDF proc~respart_set_updatesdf ResPart_set%ResPart_set_UpdateSDF proc~respart_set_updatesdf->proc~marker_set_updatesdf proc~cdifs_obj_advancesolutionib cdifs_obj_AdvanceSolutionIB proc~cdifs_obj_advancesolutionib->proc~respart_set_updatesdf proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~respart_set_updatesdf proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~respart_set_updatesdf interface~grans_obj_writeoutputdata grans_obj%grans_obj_WriteOutputData proc~grans_obj_preparesolver->interface~grans_obj_writeoutputdata proc~grans_obj_writeoutputdata grans_obj_WriteOutputData proc~grans_obj_writeoutputdata->proc~respart_set_updatesdf interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver interface~grans_obj_writeoutputdata->proc~grans_obj_writeoutputdata 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 marker_set_UpdateSDF(this,SDF)
      !> Updates the Surface Density Function.
      implicit none
      class(marker_set),    intent(inout) :: this                              !! A collection of tessellation elements
      type(eulerian_obj_r), intent(inout) :: SDF                               !! Surface Density Function
      ! work variables
      type(eulerian_obj_r):: tmp

      ! Initialize temporary field
      call tmp%Initialize('tmp',this%block,this%parallel,0)

      ! Filter particle surface area
      call this%Filter('SA',tmp)

      ! Add to total SDF
      SDF = SDF + tmp

      ! Clear data
      call tmp%Finalize()

      return
    end subroutine marker_set_UpdateSDF