tem_load_stlHead Subroutine

private subroutine tem_load_stlHead(me, conf, thandle)

This routine loads stl_files table from configuration file Need to look for: * filename (mandatory) * fileformat (default binary)

Arguments

Type IntentOptional Attributes Name
type(tem_stlHead_type), intent(out), allocatable :: me(:)

contain stl files information from config file

type(flu_State) :: conf
integer, intent(in) :: thandle

Calls

proc~~tem_load_stlhead~~CallsGraph proc~tem_load_stlhead tem_load_stlHead aot_table_close aot_table_close proc~tem_load_stlhead->aot_table_close aot_table_length aot_table_length proc~tem_load_stlhead->aot_table_length aot_table_open aot_table_open proc~tem_load_stlhead->aot_table_open proc~tem_load_stlhead_single tem_load_stlHead_single proc~tem_load_stlhead->proc~tem_load_stlhead_single aot_get_val aot_get_val proc~tem_load_stlhead_single->aot_get_val proc~tem_abort tem_abort proc~tem_load_stlhead_single->proc~tem_abort mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

proc~~tem_load_stlhead~~CalledByGraph proc~tem_load_stlhead tem_load_stlHead proc~tem_load_stl tem_load_stl proc~tem_load_stl->proc~tem_load_stlhead proc~tem_load_shape_single tem_load_shape_single proc~tem_load_shape_single->proc~tem_load_stl interface~tem_load_shape tem_load_shape interface~tem_load_shape->proc~tem_load_shape_single proc~tem_load_shapes tem_load_shapes interface~tem_load_shape->proc~tem_load_shapes proc~tem_load_shapes->proc~tem_load_shape_single proc~load_spatial_parabol load_spatial_parabol proc~load_spatial_parabol->interface~tem_load_shape proc~tem_load_convergenceheader tem_load_convergenceHeader proc~tem_load_convergenceheader->interface~tem_load_shape proc~tem_load_spacetime_single tem_load_spacetime_single proc~tem_load_spacetime_single->interface~tem_load_shape proc~tem_load_trackingconfig tem_load_trackingConfig proc~tem_load_trackingconfig->interface~tem_load_shape

Source Code

  subroutine tem_load_stlHead( me, conf, thandle )
    ! --------------------------------------------------------------------------!
    !> contain stl files information from config file
    type(tem_stlHead_type), allocatable, intent(out) :: me(:)
    type(flu_State) :: conf !< lua state
    integer, intent(in) :: thandle !< stl object handle
    ! --------------------------------------------------------------------------!
    integer :: stl_handle, stl_subHandle
    integer :: nObjects, iObj
    ! --------------------------------------------------------------------------!


    call aot_table_open(L=conf, parent = thandle, thandle=stl_handle,          &
      & key='object')
    call aot_table_open(L=conf, parent = stl_handle, thandle =stl_subHandle,  &
      & pos = 1 )

    if( stl_subHandle .eq. 0 ) then
      !object is a single table
      call aot_table_close(L=conf, thandle=stl_subHandle)
      allocate(me (1) )
      call tem_load_stlHead_single( me = me(1), conf = conf,                   &
        & thandle = stl_handle )
    else
      !object is a multiple table
      call aot_table_close(L=conf, thandle=stl_subHandle)
      nObjects = aot_table_length(L=conf, thandle=stl_handle)
      allocate(me (nObjects) )
      do iObj = 1, nObjects
        call aot_table_open( L = conf, parent = stl_handle,                    &
          & thandle = stl_subhandle, pos = iObj )
        call tem_load_stlHead_single( me = me(iObj), conf = conf,              &
          & thandle = stl_subHandle )
        call aot_table_close(L=conf, thandle=stl_subHandle)
      end do
    end if

    call aot_table_close(L=conf, thandle=stl_Handle)

  end subroutine tem_load_stlHead