This function provides copy assigment for tem_stencilHeader_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | left |
tem_stencilHeader to copy to |
||
type(tem_stencilHeader_type), | intent(in) | :: | right |
tem_stencilHeader to copy from |
subroutine copy_stencilHeader(left, right) ! -------------------------------------------------------------------- ! !> tem_stencilHeader to copy to type(tem_stencilHeader_type), intent(out) :: left !> tem_stencilHeader to copy from type(tem_stencilHeader_type), intent(in) :: right ! -------------------------------------------------------------------- ! left%label = right%label left%QQ = right%QQ left%QQN = right%QQN left%nDims = right%nDims if ( allocated(right%cxDir) ) then allocate(left%cxDir(size(right%cxDir,1),size(right%cxDir,2))) left%cxDir = right%cxDir end if if ( allocated(right%cxDirRK) ) then allocate(left%cxDirRK(size(right%cxDirRK,1),size(right%cxDirRK,2))) left%cxDirRK = right%cxDirRK end if if ( allocated(right%cxDirInv) ) then allocate(left%cxDirInv(size(right%cxDirInv))) left%cxDirInv = right%cxDirInv end if if ( allocated(right%cxcx) ) then allocate(left%cxcx(size(right%cxcx,1),size(right%cxcx,2))) left%cxcx = right%cxcx end if if ( allocated(right%map) ) then allocate(left%map(size(right%map))) left%map = right%map end if if ( allocated(right%map2treeDef) ) then allocate(left%map2treeDef(size(right%map2treeDef))) left%map2treeDef = right%map2treeDef end if left%restPosition = right%restPosition left%depStencil = right%depStencil left%useAll = right%useAll left%requireNeighNeigh = right%requireNeighNeigh left%requireAll = right%requireAll left%nElems = right%nElems if ( allocated(right%elemLvl) ) then allocate( left%elemLvl(lbound(right%elemLvl,1):ubound(right%elemLvl,1)) ) left%elemLvl = right%elemLvl end if left%elem = right%elem end subroutine copy_stencilHeader