Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

PoMaIIIka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[more] [more] В данном случае - да, ошибка является воспроизводимой! повторяется все время в одном и том же месте!
Я не могу прогнать отладчиком, т.к. работаю "без оболочки". На сервере под линуском...
 
Кстати, данная ошибка появляется после вот этой вот подпрограммы:
 

Код:
 
    subroutine creation_the_LOCAL_list_of_interface_triangles(number_of_partitions, list_of_meshes, list_of_interface_triangles, list_of_edges)
    implicit none
 
    !!! input data
    integer :: number_of_partitions
    type(maillage),dimension(:),pointer :: list_of_meshes
    integer,dimension(:,:),pointer :: list_of_interface_triangles
    type(edge),dimension(:),pointer :: list_of_edges
 
    !!! we need that
    integer :: i,j,k
    integer :: l
    integer :: number_of_triangles_here
    integer :: number_of_triangles        ! number of INTERFACE triangles
    integer :: local_edge
        integer,dimension(:),pointer :: test_array1
 
 
 
    number_of_triangles = size(list_of_interface_triangles(:,1))
    print*,"    allocation memory"
    do i = 1,number_of_partitions
        number_of_triangles_here = 0
        do j = 1,number_of_triangles
            if(list_of_interface_triangles(j,4).eq.i .or. list_of_interface_triangles(j,5).eq.i) then
                number_of_triangles_here = number_of_triangles_here + 1
            end if
        end do
 
        allocate(list_of_meshes(i)%neibor_for_this_triangle(1:number_of_triangles_here))
        allocate(list_of_meshes(i)%interface_triangles(1:number_of_triangles_here,1:3))
    end do
 
    print*,"    done. . ."    
 
    do i = 1,number_of_partitions
        print*,"    Partition",i,"under consideration"
 
        number_of_triangles_here = 0
        do j = 1,number_of_triangles
            if(list_of_interface_triangles(j,4) .eq. i) then
                number_of_triangles_here = number_of_triangles_here + 1
                do k = 1,3    ! because there are 3 edges in TRIANGLE-element
                    local_edge = 0
                    do l = 1,size(list_of_edges(list_of_interface_triangles(j,k))%global_to_local_domain)
                        if(list_of_edges(list_of_interface_triangles(j,k))%domain_number(l) .eq. i) then
                            local_edge = list_of_edges(list_of_interface_triangles(j,k))%global_to_local_domain(l)
                        end if
                    end do
 
                    if(local_edge .eq. 0) stop"Error 4003"
 
                    list_of_meshes(i)%interface_triangles(j,k) = local_edge
                end do
 
                list_of_meshes(i)%neibor_for_this_triangle(j) = list_of_interface_triangles(j,5)
            end if
            if(list_of_interface_triangles(j,5) .eq. i) then
                number_of_triangles_here = number_of_triangles_here + 1
                do k = 1,3    ! because there are 3 edges in TRIANGLE-element
                    local_edge = 0
                    do l = 1,size(list_of_edges(list_of_interface_triangles(j,k))%global_to_local_domain)
                        if(list_of_edges(list_of_interface_triangles(j,k))%domain_number(l) .eq. i) then
                            local_edge = list_of_edges(list_of_interface_triangles(j,k))%global_to_local_domain(l)
                        end if
                    end do
 
                    if(local_edge .eq. 0) stop"Error 4005"
 
                    list_of_meshes(i)%interface_triangles(j,k) = local_edge
                end do
 
                list_of_meshes(i)%neibor_for_this_triangle(j) = list_of_interface_triangles(j,4)
            end if
        end do
    end do
 
    print*,"Before error"
    allocate(test_array1(1:5))
    print*,"This message will never print!"

    end subroutine creation_the_LOCAL_list_of_interface_triangles
 

Всего записей: 3 | Зарегистр. 18-01-2013 | Отправлено: 18:40 18-01-2013 | Исправлено: PoMaIIIka, 18:41 18-01-2013
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru