tem_create_subTree_of_st_funList Subroutine

public subroutine tem_create_subTree_of_st_funList(me, tree, bc_prop, stencil)

create subtree for shapes defined in each spacetime functions

Arguments

Type IntentOptional Attributes Name
type(tem_st_fun_linkedList_type), intent(inout) :: me

Linked list to append the spacetime function to.

type(treelmesh_type), intent(in) :: tree

Global treelmesh

type(tem_BC_prop_type), intent(in) :: bc_prop

bc property

type(tem_stencilHeader_type), intent(in), optional :: stencil

stencil


Calls

proc~~tem_create_subtree_of_st_funlist~~CallsGraph proc~tem_create_subtree_of_st_funlist tem_create_subTree_of_st_funList proc~tem_create_subtree_of tem_create_subTree_of proc~tem_create_subtree_of_st_funlist->proc~tem_create_subtree_of proc~tem_horizontalspacer tem_horizontalSpacer proc~tem_create_subtree_of_st_funlist->proc~tem_horizontalspacer proc~tem_create_subtree_of->proc~tem_horizontalspacer interface~destroy~25 destroy proc~tem_create_subtree_of->interface~destroy~25 interface~init~24 init proc~tem_create_subtree_of->interface~init~24 interface~tem_copypropertybits tem_copyPropertyBits proc~tem_create_subtree_of->interface~tem_copypropertybits interface~tem_seteffboundingbox tem_setEffBoundingBox proc~tem_create_subtree_of->interface~tem_seteffboundingbox mpi_allreduce mpi_allreduce proc~tem_create_subtree_of->mpi_allreduce mpi_comm_rank mpi_comm_rank proc~tem_create_subtree_of->mpi_comm_rank mpi_comm_size mpi_comm_size proc~tem_create_subtree_of->mpi_comm_size mpi_comm_split mpi_comm_split proc~tem_create_subtree_of->mpi_comm_split proc~tem_abort tem_abort proc~tem_create_subtree_of->proc~tem_abort proc~tem_shape2subtree tem_shape2subTree proc~tem_create_subtree_of->proc~tem_shape2subtree proc~tem_shape_initlocal tem_shape_initLocal proc~tem_create_subtree_of->proc~tem_shape_initlocal proc~tem_subtree_from tem_subTree_from proc~tem_create_subtree_of->proc~tem_subtree_from proc~destroy_ga2d_real destroy_ga2d_real interface~destroy~25->proc~destroy_ga2d_real proc~init_ga2d_real init_ga2d_real interface~init~24->proc~init_ga2d_real proc~tem_copypropertybitsfromleveldesc tem_copyPropertyBitsFromLevelDesc interface~tem_copypropertybits->proc~tem_copypropertybitsfromleveldesc proc~tem_copypropertybitsfromtree tem_copyPropertyBitsFromTree interface~tem_copypropertybits->proc~tem_copypropertybitsfromtree proc~tem_seteffboundingbox_fromsubtree tem_setEffBoundingBox_fromSubTree interface~tem_seteffboundingbox->proc~tem_seteffboundingbox_fromsubtree proc~tem_seteffboundingbox_fromtree tem_setEffBoundingBox_fromTree interface~tem_seteffboundingbox->proc~tem_seteffboundingbox_fromtree mpi_abort mpi_abort proc~tem_abort->mpi_abort proc~tem_shape2subtree->proc~tem_abort proc~tem_shape_findelembybclabels tem_shape_findElemByBCLabels proc~tem_shape2subtree->proc~tem_shape_findelembybclabels proc~tem_shape_initbylevels tem_shape_initByLevels proc~tem_shape2subtree->proc~tem_shape_initbylevels proc~tem_shape_initpropelements tem_shape_initPropElements proc~tem_shape2subtree->proc~tem_shape_initpropelements proc~tem_shape_subtreefromgeominters tem_shape_subTreeFromGeomInters proc~tem_shape2subtree->proc~tem_shape_subtreefromgeominters proc~tem_subtree_from->mpi_comm_rank proc~tem_subtree_from->mpi_comm_size proc~tem_subtree_from->proc~tem_abort mpi_bcast mpi_bcast proc~tem_subtree_from->mpi_bcast mpi_exscan mpi_exscan proc~tem_subtree_from->mpi_exscan mpi_reduce mpi_reduce proc~tem_subtree_from->mpi_reduce

Source Code

  subroutine tem_create_subTree_of_st_funList( me, tree, bc_prop, stencil )
    ! -------------------------------------------------------------------- !
    !> Linked list to append the spacetime function to.
    type( tem_st_fun_linkedList_type ), intent(inout) :: me
    !> Global treelmesh
    type( treelmesh_type ),     intent(in) :: tree
    !> bc property
    type( tem_bc_prop_type ), intent(in) :: bc_prop
    !> stencil
    type( tem_stencilHeader_type ), optional, intent(in) :: stencil

    ! -------------------------------------------------------------------- !
    type(tem_st_fun_listElem_type), pointer :: st_fun
    integer :: iSt, iList
    ! -------------------------------------------------------------------- !
    call tem_horizontalSpacer( fUnit = logUnit(3))
    write(logUnit(3),*) 'Create subtree for all space time functions stored '
    write(logUnit(3),*) 'in linked list of spacetime function'

    st_fun => me%head
    iList = 0
    do
      if (.not. associated(st_fun)) EXIT
      iList = iList + 1
      do iSt = 1, st_fun%nVals
        call tem_create_subTree_of( inTree  = tree,                    &
          &                         subTree = st_fun%val(iSt)%subTree, &
          &                         bc_prop = bc_prop,                 &
          &                         stencil = stencil,                 &
          &                         inShape = st_fun%val(iSt)%geom     )
      end do
      st_fun => st_fun%next
    end do
    write(logUnit(3),'(a,i3,a)') ' Done creating subtree for ', iList, &
      &                          ' spacetime functions'
    call tem_horizontalSpacer( fUnit = logUnit(3))

  end subroutine tem_create_subTree_of_st_funList