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


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