tem_get_ncoeffs_miescat Function

private function tem_get_ncoeffs_miescat(conf, thandle) result(nCoeffs)

Todo

JZ: Currently, we read the number of necessary coefficients from the lua script. However, there are also some automatic ways to estimate the number of coefficients necessary to obtain a certain numerical accuaracy, e.g. in [Wiscombe1980] .

Arguments

Type IntentOptional Attributes Name
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

Return Value integer

The number of coefficients necessary for the Fourier series


Calls

proc~~tem_get_ncoeffs_miescat~~CallsGraph proc~tem_get_ncoeffs_miescat tem_get_ncoeffs_miescat aot_get_val aot_get_val proc~tem_get_ncoeffs_miescat->aot_get_val proc~tem_abort tem_abort proc~tem_get_ncoeffs_miescat->proc~tem_abort mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

proc~~tem_get_ncoeffs_miescat~~CalledByGraph proc~tem_get_ncoeffs_miescat tem_get_ncoeffs_miescat proc~tem_init_data tem_init_data proc~tem_init_data->proc~tem_get_ncoeffs_miescat proc~tem_load_miescatter tem_load_miescatter proc~tem_load_miescatter->proc~tem_init_data interface~tem_load_miescatter_displacementfieldz tem_load_miescatter_displacementfieldz interface~tem_load_miescatter_displacementfieldz->proc~tem_load_miescatter interface~tem_load_miescatter_magneticfieldx tem_load_miescatter_magneticfieldx interface~tem_load_miescatter_magneticfieldx->proc~tem_load_miescatter interface~tem_load_miescatter_magneticfieldy tem_load_miescatter_magneticfieldy interface~tem_load_miescatter_magneticfieldy->proc~tem_load_miescatter proc~load_spacetime_predefined load_spacetime_predefined proc~load_spacetime_predefined->interface~tem_load_miescatter_displacementfieldz proc~load_spacetime_predefined->interface~tem_load_miescatter_magneticfieldx proc~load_spacetime_predefined->interface~tem_load_miescatter_magneticfieldy proc~load_spatial_predefined load_spatial_predefined proc~load_spatial_predefined->interface~tem_load_miescatter_displacementfieldz proc~load_spatial_predefined->interface~tem_load_miescatter_magneticfieldx proc~load_spatial_predefined->interface~tem_load_miescatter_magneticfieldy

Source Code

  function tem_get_ncoeffs_miescat(conf, thandle ) result(nCoeffs)
    ! --------------------------------------------------------------------------
    !> lua state type
    type(flu_State) :: conf
    !> aotus parent handle
    integer, intent(in) :: thandle
    !> The number of coefficients necessary for the Fourier series
    integer :: nCoeffs
    ! --------------------------------------------------------------------------
    integer :: iError
    ! --------------------------------------------------------------------------

    !> @todo JZ: Currently, we read the number of necessary coefficients
    !! from the lua script. However, there are also some automatic ways
    !! to estimate the number of coefficients necessary to obtain a certain
    !! numerical accuaracy, e.g. in [Wiscombe1980] .

    ! Read the frequency
    call aot_get_val( L       = conf,                                          &
      &               thandle = thandle,                                       &
      &               key     = 'nCoeffs',                                     &
      &               val     = nCoeffs,                                       &
      &               ErrCode = iError )
    if ( iError.ne.0 ) then
      call tem_abort( 'ERROR in tem_get_ncoeffs_miescat: Not able to read' &
        & // ' nCoeffs for Mie-Scatter solution from lua'                  )
    end if

  end function tem_get_ncoeffs_miescat