tem_temporal_for Function

public function tem_temporal_for(temporal, time) result(res)

This function invokes the type of the boundary such as constant, lua or predefined Fortran function.

If temporal block is not defined than it returns value = 1.0.

Arguments

Type IntentOptional Attributes Name
type(tem_temporal_type) :: temporal

boundary state

type(tem_time_type), intent(in) :: time

timer object incl. the current time information

Return Value real(kind=rk)

return value of a function


Calls

proc~~tem_temporal_for~~CallsGraph proc~tem_temporal_for tem_temporal_for proc~temporal_from_file_periodic_for temporal_from_file_periodic_for proc~tem_temporal_for->proc~temporal_from_file_periodic_for proc~temporal_linear_for temporal_linear_for proc~tem_temporal_for->proc~temporal_linear_for proc~temporal_lua_for temporal_lua_for proc~tem_temporal_for->proc~temporal_lua_for proc~temporal_smooth_for temporal_smooth_for proc~tem_temporal_for->proc~temporal_smooth_for proc~tem_abort tem_abort proc~tem_temporal_for->proc~tem_abort proc~aot_fun_do aot_fun_do proc~temporal_lua_for->proc~aot_fun_do proc~aot_top_get_val aot_top_get_val proc~temporal_lua_for->proc~aot_top_get_val proc~aot_fun_put aot_fun_put proc~temporal_lua_for->proc~aot_fun_put proc~aot_fun_open aot_fun_open proc~temporal_lua_for->proc~aot_fun_open proc~aot_fun_close aot_fun_close proc~temporal_lua_for->proc~aot_fun_close mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

proc~~tem_temporal_for~~CalledByGraph proc~tem_temporal_for tem_temporal_for proc~tem_spacetime_for_treeids tem_spacetime_for_treeIDs proc~tem_spacetime_for_treeids->proc~tem_temporal_for proc~tem_spacetime_vector_for_index tem_spacetime_vector_for_index proc~tem_spacetime_vector_for_index->proc~tem_temporal_for proc~tem_spacetime_vector_for_coord tem_spacetime_vector_for_coord proc~tem_spacetime_vector_for_index->proc~tem_spacetime_vector_for_coord proc~tem_spacetime_for_coord tem_spacetime_for_coord proc~tem_spacetime_for_coord->proc~tem_temporal_for proc~tem_spacetime_scalar_for_index tem_spacetime_scalar_for_index proc~tem_spacetime_scalar_for_index->proc~tem_temporal_for proc~tem_spacetime_scalar_for_index->proc~tem_spacetime_for_coord proc~tem_spacetime_vector_for_treeids tem_spacetime_vector_for_treeIDs proc~tem_spacetime_vector_for_treeids->proc~tem_temporal_for proc~tem_spacetime_vector_for_coord->proc~tem_temporal_for interface~tem_spacetime_for tem_spacetime_for interface~tem_spacetime_for->proc~tem_spacetime_for_treeids interface~tem_spacetime_for->proc~tem_spacetime_vector_for_index interface~tem_spacetime_for->proc~tem_spacetime_for_coord interface~tem_spacetime_for->proc~tem_spacetime_scalar_for_index interface~tem_spacetime_for->proc~tem_spacetime_vector_for_treeids interface~tem_spacetime_for->proc~tem_spacetime_vector_for_coord proc~tem_spacetime_for_stcoord tem_spacetime_for_stcoord interface~tem_spacetime_for->proc~tem_spacetime_for_stcoord proc~tem_spacetime_for_stcoord->proc~tem_spacetime_for_coord proc~evaluate_add_spacetime_vectorbycoordinate evaluate_add_spacetime_vectorByCoordinate proc~evaluate_add_spacetime_vectorbycoordinate->interface~tem_spacetime_for proc~evaluate_first_spacetime_scalarbytreeid evaluate_first_spacetime_scalarByTreeID proc~evaluate_first_spacetime_scalarbytreeid->interface~tem_spacetime_for proc~get_valofindex_foag_scalar_spacetime get_valOfIndex_FOAG_scalar_spacetime proc~get_valofindex_foag_scalar_spacetime->interface~tem_spacetime_for proc~evaluate_add_spacetime_vectorbytreeid evaluate_add_spacetime_vectorByTreeID proc~evaluate_add_spacetime_vectorbytreeid->interface~tem_spacetime_for proc~get_valofindex_first_vector_spacetime get_valOfIndex_first_vector_spacetime proc~get_valofindex_first_vector_spacetime->interface~tem_spacetime_for proc~tem_update_surfpos tem_update_surfPos proc~tem_update_surfpos->interface~tem_spacetime_for proc~evaluate_foag_spacetime_scalarbycoordinate evaluate_FOAG_spacetime_scalarByCoordinate proc~evaluate_foag_spacetime_scalarbycoordinate->interface~tem_spacetime_for proc~evaluate_foag_spacetime_vectorbycoordinate evaluate_FOAG_spacetime_vectorByCoordinate proc~evaluate_foag_spacetime_vectorbycoordinate->interface~tem_spacetime_for proc~evaluate_first_spacetime_vectorbycoordinate evaluate_first_spacetime_vectorByCoordinate proc~evaluate_first_spacetime_vectorbycoordinate->interface~tem_spacetime_for proc~evaluate_first_spacetime_scalarbycoordinate evaluate_first_spacetime_scalarByCoordinate proc~evaluate_first_spacetime_scalarbycoordinate->interface~tem_spacetime_for proc~evaluate_foag_spacetime_scalarbytreeid evaluate_FOAG_spacetime_scalarByTreeID proc~evaluate_foag_spacetime_scalarbytreeid->interface~tem_spacetime_for proc~get_valofindex_add_vector_spacetime get_valOfIndex_add_vector_spacetime proc~get_valofindex_add_vector_spacetime->interface~tem_spacetime_for proc~get_valofindex_add_scalar_spacetime get_valOfIndex_add_scalar_spacetime proc~get_valofindex_add_scalar_spacetime->interface~tem_spacetime_for proc~evaluate_add_spacetime_scalarbycoordinate evaluate_add_spacetime_scalarByCoordinate proc~evaluate_add_spacetime_scalarbycoordinate->interface~tem_spacetime_for proc~evaluate_first_spacetime_vectorbytreeid evaluate_first_spacetime_vectorByTreeID proc~evaluate_first_spacetime_vectorbytreeid->interface~tem_spacetime_for proc~get_valofindex_foag_vector_spacetime get_valOfIndex_FOAG_vector_spacetime proc~get_valofindex_foag_vector_spacetime->interface~tem_spacetime_for proc~evaluate_add_spacetime_scalarbytreeid evaluate_add_spacetime_scalarByTreeID proc~evaluate_add_spacetime_scalarbytreeid->interface~tem_spacetime_for proc~evaluate_foag_spacetime_vectorbytreeid evaluate_FOAG_spacetime_vectorByTreeID proc~evaluate_foag_spacetime_vectorbytreeid->interface~tem_spacetime_for proc~get_valofindex_first_scalar_spacetime get_valOfIndex_first_scalar_spacetime proc~get_valofindex_first_scalar_spacetime->interface~tem_spacetime_for

Contents

Source Code


Source Code

  function tem_temporal_for( temporal, time ) result( res )
    ! --------------------------------------------------------------------------
    !> boundary state
    type( tem_temporal_type ) :: temporal
    !> timer object incl. the current time information
    type(tem_time_type), intent( in )  :: time
    !> return value of a function
    real(kind=rk) :: res
    ! --------------------------------------------------------------------------

    res = 0.0_rk
    select case( trim(adjustl(temporal%kind)) )
    case( 'none' )
      res = temporal%const
    case( 'const' )
      res = temporal%const
    case( 'lua_fun' )
      res = temporal_lua_for( fun_ref = temporal%lua_fun_ref, &
        &                      time    = time,                &
        &                      conf    = temporal%conf        )
    case( 'linear' )
      res = temporal_linear_for( temporal%linear, time%sim )
    case( 'smooth' )
      res = temporal_smooth_for( temporal%linear, time%sim )
    case( 'datafile' )
      if ( temporal%from_file%periodic )then
        res = temporal_from_file_periodic_for( me     = temporal%from_file,  &
          &                                     time   = time )
      else
        write(logUnit(1),*)'Only Periodic datasets are currently implemented!'
        write(logUnit(1),*)'STOPPING'
        call tem_abort()
      end if
    case( 'cos' )
      res = cos( 2.0_rk * PI * temporal%freq * time%sim + temporal%phi ) &
        & + temporal%offset
    end select

  end function tem_temporal_for