append_intpMatrixLSF Subroutine

private subroutine append_intpMatrixLSF(me, order, QQ, nDims, nSources, cxDirRK, neighDir, pos, success)

This routine builds up the matrix for least square fit used in linear and quadratic interpolation.

Compute interpolation matrix for least square fit using stencil direction of available sources The parent of target childs coord is 0,0,0 so we could just use of stencil%cxDir to build up this matrix entries Every row in matrix is evaluated with coord of source element

Arguments

TypeIntentOptionalAttributesName
type(tem_intpMatrixLSF_type), intent(inout) :: me

intpMatrix for LSF fill

integer, intent(inout) :: order

interpolation order calculated for current element depending on nSources if quadratic LSF matrix is singular fall back to linear

integer, intent(in) :: QQ

Number of stencil directions

integer, intent(in) :: nDims

Number of dimensions

integer, intent(in) :: nSources

Number of sources from coarser found

real(kind=rk), intent(in) :: cxDirRK(3,QQ)

Stencil directions

integer, intent(in) :: neighDir(nSources)

direction in which sources are found

integer, intent(out) :: pos

Pointer to position of interpolation matrix in growing array of matrix

logical, intent(out) :: success

success if false if matrix is singular reduce interpolation order


Calls

proc~~append_intpmatrixlsf~~CallsGraph proc~append_intpmatrixlsf append_intpMatrixLSF proc~build_matrixlsf_quadintp build_matrixLSF_quadIntp proc~append_intpmatrixlsf->proc~build_matrixlsf_quadintp interface~append~16 append proc~append_intpmatrixlsf->interface~append~16 proc~build_matrixlsf_linearintp build_matrixLSF_linearIntp proc~append_intpmatrixlsf->proc~build_matrixlsf_linearintp proc~polyquadratic_3d polyQuadratic_3D proc~build_matrixlsf_quadintp->proc~polyquadratic_3d proc~alloc_matrix alloc_matrix proc~build_matrixlsf_quadintp->proc~alloc_matrix proc~polyquadratic_2d polyQuadratic_2D proc~build_matrixlsf_quadintp->proc~polyquadratic_2d proc~tem_matrix_dump tem_matrix_dump proc~build_matrixlsf_quadintp->proc~tem_matrix_dump proc~tem_abort tem_abort proc~build_matrixlsf_quadintp->proc~tem_abort proc~invert_matrix invert_matrix proc~build_matrixlsf_quadintp->proc~invert_matrix proc~polyquadratic_1d polyQuadratic_1D proc~build_matrixlsf_quadintp->proc~polyquadratic_1d proc~append_arrayga2d_real append_arrayga2d_real interface~append~16->proc~append_arrayga2d_real proc~append_singlega2d_real append_singlega2d_real interface~append~16->proc~append_singlega2d_real proc~build_matrixlsf_linearintp->proc~alloc_matrix proc~polylinear_1d polyLinear_1D proc~build_matrixlsf_linearintp->proc~polylinear_1d proc~polylinear_3d polyLinear_3D proc~build_matrixlsf_linearintp->proc~polylinear_3d proc~build_matrixlsf_linearintp->proc~tem_matrix_dump proc~build_matrixlsf_linearintp->proc~tem_abort proc~build_matrixlsf_linearintp->proc~invert_matrix proc~polylinear_2d polyLinear_2D proc~build_matrixlsf_linearintp->proc~polylinear_2d interface~expand~14 expand proc~append_arrayga2d_real->interface~expand~14 proc~alloc_matrix->proc~tem_abort proc~append_singlega2d_real->interface~expand~14 mpi_abort mpi_abort proc~tem_abort->mpi_abort proc~invert_matrix->proc~tem_abort dgetrf dgetrf proc~invert_matrix->dgetrf dgetri dgetri proc~invert_matrix->dgetri proc~expand_ga2d_real expand_ga2d_real interface~expand~14->proc~expand_ga2d_real

Called by

proc~~append_intpmatrixlsf~~CalledByGraph proc~append_intpmatrixlsf append_intpMatrixLSF interface~append~38 append interface~append~38->proc~append_intpmatrixlsf

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: hashID
type(tem_matrix_type), private :: matLSF_tmp
logical, private :: wasAdded
integer, private :: iNeigh
integer, private :: iSrc