init_intpMatrixLSF Subroutine

private subroutine init_intpMatrixLSF(me, length, nDims, order)

This routine initialize interpolation matrix for least square fit

Arguments

Type IntentOptional Attributes Name
type(tem_intpMatrixLSF_type), intent(out) :: me
integer, intent(in) :: length
integer, intent(in) :: nDims
integer, intent(in) :: order

Calls

proc~~init_intpmatrixlsf~~CallsGraph proc~init_intpmatrixlsf init_intpMatrixLSF interface~init~24 init proc~init_intpmatrixlsf->interface~init~24 proc~tem_abort tem_abort proc~init_intpmatrixlsf->proc~tem_abort proc~init_ga2d_real init_ga2d_real interface~init~24->proc~init_ga2d_real mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

proc~~init_intpmatrixlsf~~CalledByGraph proc~init_intpmatrixlsf init_intpMatrixLSF interface~init~9 init interface~init~9->proc~init_intpmatrixlsf

Source Code

  subroutine init_intpMatrixLSF(me, length, nDims, order)
    ! --------------------------------------------------------------------------
    type(tem_intpMatrixLSF_type), intent(out) :: me
    integer, intent(in) :: length
    integer, intent(in) :: nDims
    integer, intent(in) :: order
    ! --------------------------------------------------------------------------
    call init(me = me%matArray, length = length)
    call init(me = me%ID, length = length)
    call init(me = me%isInvertible, length = length)

    ! Set coeffs required for each order
    if (order > 0 .and. order <= maxIntp_order) then
      select case(nDims)
      case(1)
        me%nCoeffs = nCoeffs_1D(order)
      case(2)
        me%nCoeffs = nCoeffs_2D(order)
      case(3)
        me%nCoeffs = nCoeffs_3D(order)
      end select
    else
      call tem_abort('Unsupported interpolation order')
    end if

  end subroutine init_intpMatrixLSF