to_ptr_arr2d Function

public function to_ptr_arr2d(arr) result(ptr_arr)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), target :: arr(:,:)

Return Value type(dbl_pointer_t), (size(arr))


Called by

proc~~to_ptr_arr2d~~CalledByGraph proc~to_ptr_arr2d to_ptr_arr2d interface~to_ptr_arr to_ptr_arr interface~to_ptr_arr->proc~to_ptr_arr2d proc~circulator_init_part2 circulator_init_part2 proc~circulator_init_part2->interface~to_ptr_arr proc~ffsrclink_init_part2 FFsrcLink_init_part2 proc~ffsrclink_init_part2->interface~to_ptr_arr proc~fslink_init_part2 FSlink_init_part2 proc~fslink_init_part2->interface~to_ptr_arr proc~junction_init_part2 junction_init_part2 proc~junction_init_part2->interface~to_ptr_arr proc~ssfluxlink_init_part2 SSfluxLink_init_part2 proc~ssfluxlink_init_part2->interface~to_ptr_arr proc~sssrclink_init_part2 SSsrcLink_init_part2 proc~sssrclink_init_part2->interface~to_ptr_arr program~reims_p reims_p program~reims_p->proc~circulator_init_part2 program~reims_p->proc~ffsrclink_init_part2 program~reims_p->proc~fslink_init_part2 program~reims_p->proc~junction_init_part2 program~reims_p->proc~ssfluxlink_init_part2 program~reims_p->proc~sssrclink_init_part2

Source Code

function to_ptr_arr2d(arr) result(ptr_arr)
    real(dp), target, intent(in) :: arr(:,:)
    type(dbl_pointer_t) :: ptr_arr(size(arr))
    !real(dp), pointer :: arr_ptr(:) ! TODO after updating compiler by Damien
    integer :: i,j,k
    k=1
    !arr_ptr(1:size(arr)) => arr
    do i = 1,size(arr,2)
        do j = 1,size(arr,1)
            ptr_arr(k)%p => arr(j,i)
            k=k+1
        enddo
    enddo
end function to_ptr_arr2d