Я пытаюсь записать в двух разных файлах (основной программе и подпрограмме) неформатированные файлы в моем коде Fortran. Проблема в том, что когда я это делаю, результаты меняются, и я подозреваю, что это связано с тем, что назначение памяти переписывает данные, которые я использую для моделирования в CFD-коде. Я спрашиваю: возможно ли, что можно просто использовать неформатированный файл (для записи) один раз в коде? Я имею в виду, я должен использовать тот же файл для сохранения всех моих данных, а не с разными файлами.Запись в двух разных местах неформатированных файлов в Fortran
скопировать и мимо двух частей кода, чтобы показать то, что я хочу, чтобы описать:
В основной программе, петля:
call numcar (isave,suffix)
longueur=index(nchamp,' ')-1
nfichier=nchamp(1:longueur)//suffix
longueur=index(nfichier,' ')-1
open(10,file=nfichier(1:longueur),form='unformatted')
write(10) real(uxn,4),real(uyn,4),real(wzn,4),real(ppo,4)
close(10)
! *****************************************
isave=isave+1
и в подпрограмме, цикл является:
call numcar (isavediv,suffix1)
longueur1=index(ndiv,' ')-1
nfichier1=ndiv(1:longueur1)//suffix1
longueur1=index(nfichier1,' ')-1
open(20,file=nfichier1(1:longueur1),form='unformatted')
write(20) real(ppm,4)
close(20)
! *****************************************
isavediv=isavediv+1
всего переменными объявлено в IMPLICIT NONE
как в основной программе и подпрограмме.
Во-первых: какие результаты меняются? Значения в файле, значения ваших переменных во время выполнения? Во-вторых: переменные кажутся разными при двух разных вызовах, поэтому, если вы устраните один вызов, вам нужно добавить переменные из этого в другое. –
Первое: значения моих переменных во время изменения времени выполнения. Второе: переменные разные. Как вы сказали, я мог бы добавить переменные от этого к другому, но я хотел бы делать вызовы в каждой подпрограмме. Дело в том, что: когда я не использую второй вызов, результаты моего моделирования работают хорошо, но когда я хочу сохранить данные с помощью неформатированного оператора во втором вызове, результаты моего моделирования меняются. Моя симуляция становится нестабильной, и я не понимаю, почему они меняются (данные времени выполнения моделирования), если я просто сохраняю данные в файлах. – flaviusaetius