Я пытаюсь исправить код в Фортране, который создает начальную сетку переходных решений химической реакции.Сам кодекс делит площадь химических профилей на секции и интерполирует минимальные значения, полученные по химическому (1D) профилю в текущем измерении.Каждый раз, когда достигается угловая точка, Фортран не находит минимальное значение и принимает угловую точку немного выше, чем ожидалось, игнорируя остальное, так что химические растворы не полностью содержатся в нижней части правого угла.Особенно я студент инженерного факультета и не совсем в Фортране.Поэтому я подумал, что кто-то из вас, ребята, может помочь мне найти причину, по которой последнее минимальное значение не найдено.
Заранее спасибо.
Ниже вы можете посмотреть наРаздел кода, удаляющий минимальные значения для создания начальной сетки, я также могу предоставить вам ее больше (число сеток может быть адаптировано пользователями, чем выше оно становится, тем тоньше становится исходная сетка):
allocate(min_y_grids(size(grids_down_new,1),size(Table,2)))
min_y_grids(1,:)=min_y_sections(1,:)
min_y_grids(size(min_y_grids,1),:)=min_y_sections(size(min_y_sections,1),:)
do i=2,(size(min_y_grids,1)-1)
do j=2,size(min_y_sections,1)
if (min_y_sections(j-1,x).LE.grids_down_new(i).AND.grids_down_new(i).LE.min_y_sections(j,x)) then
do k=1,size(min_y_sections,2)
min_y_grids(i,k)=(min_y_sections(j,k)-min_y_sections(j-1,k))/(min_y_sections(j,x)-min_y_sections(j-1,x))*(grids_down_new(i)-min_y_sections(j-1,x))+min_y_sections(j-1,k)
end do
end if
end do
end do
print*,min_y_sections(:,y)
print*,min_y_grids(:,y)
!read(20,*)