流れ場のスナップショット (uvw スタック、約 24k) の列を読み取り、複数のスナップショット (投稿されたコードに見られるように、個々の .dat ファイルに保存されます) をマトリックスに組み立てようとしています (列は速度です)タイムステップ、i=1 の最初のタイムステップなど) SVD/POD で使用します。私はここでいくつかのチュートリアルに従い、フォーマットを落としました(私は思う)が、このsigsegvエラーが発生しているため、スタックしています。どんな入力でも大歓迎です。ありがとう!
program matrix2
! Creates rectangular matrix by adding columns of individual
! Timesteps for use in Singular Value Decomposition (in MatLAB)
! Allocate
double precision, dimension(:,:), allocatable :: POD
integer, parameter :: tend = 700
integer, parameter :: length = 23925
character(:), allocatable :: fn, fm
integer :: it, idt
character(len=5) :: t, dt
character(len=10) :: fmt
character(len=40) :: fmm
! Create format discriptors
fmt = '(i5.5)'
fmm = '(a19,i5.5,a4)'
! Create data file to save matrix
fn = 'POD_Data_Matrix.dat'
open(unit=1,file=fn,status='unknown',form='formatted')
! Loop to open column files and write data
do j = 1,tend
! Open corresponding column file, add to POD matrix
! and close every timestep column
! Convert integer to string using internal file
it=00001
idt=00001
write(t,fmt) it
write(dt,fmt) idt
fm = 'U-Matrix-Column-Eq-'//trim(t)//'.dat'
open(unit=11,file=fm,status='unknown',form='formatted')
do i = 0,length
read (11,*) POD(j,i)
enddo
close(11)
it = it + idt
enddo
! Write and close final POD matrix
write(1,*) POD(j,i)
close(1)
! Deallocate
! deallocate(POD)
! deallocate(fn,fm)
endprogram