Fortran Coder

标题: 写入文件 有限元差分法计算电磁场 [打印本页]

作者: afternoon    时间: 2022-2-21 12:55
标题: 写入文件 有限元差分法计算电磁场
program main
real ob(-700:700,-700:700)                !存放各网格介质的编号,x轴,y轴分别从-700到700
real Media(1:4,1:15)                        !各介质的电磁参数。第一位1到4分别表示epsilon.r,mu.r,sigma,sigma.m;第二位表示介质编号
character*10 FileName                        !目标信息输出到FileName文件中
real WaveLength,WL                                !入射波长和每波长网格数
real Ismin,Ismax,Jsmin,Jsmax        !目标区域界线
real MediaNo                                        !目标区域内所有介质数目
integer Record,i,j                                !定义整数record,i,j

FileName='rect.sct'                                !文件名为'rect.sct'
WaveLength=1.                                        !入射波长为1
WL=40.                                                        !每波长网格数为40
Ismin=-60.
Ismax=60.
Jsmin=-60.
Jsmax=60.                                                !x轴,y轴目标区域界限为(-60,60)
MediaNo=1                                                !本例中只有一种金属介质,因此介质数目为1
Media(1,1)=1.
Media(2,1)=1.
Media(3,1)=3.72e+7
Media(4,1)=0.                                        !金属介质的电磁参数赋值

do i=Ismin,Ismax
        do j=Jsmin,Jsmax
                ob(i,j)=0.0
        end do
end do                                                        !空间所有网格初始值设为背景,即从(-60,-60)到(60,60)所有网格介质编号均为零
do i=Ismin,Ismax
        do j=Jsmin,Jsmax
                if((i.ge.-WL).and.(i.le.WL-1).and.(j.ge.-WL).and.(j.le.WL-1))then
                        ob(i,j)=1.0
                end if
        end do
end do                                                        !将所有网格中属于金属方柱的网格的介质编号改为1

open(1,File=FileName,access='direct',recl=4)
write(1,rec=1) WaveLength                !输出
write(1,rec=2) WL
write(1,rec=3) Ismin
write(1,rec=4) Ismax
write(1,rec=5) Jsmin
write(1,rec=6) Jsmax
write(1,rec=7) MediaNo
Record=7
do j=1,MediaNo
        do i=1,4
                Record=Record+1
                write(1,rec=Record) Media(i,j)
        end do
end do                                                        !写出金属介质的电磁参数
do i=Ismin,Ismax
        do j=Jsmin,Jsmax
                Record=Record+1
                write(1,rec=Record) ob(i,j)
        end do
end do                                                        !写出网格介质编号
close(1)
write(*,*) Ismin,Ismax,Jsmin,Jsmax        !写出目标区域界限
end

生成的文件打开是乱码是什么原因呀,求大佬指点


作者: Transpose    时间: 2022-2-21 15:28
没有格式描述,写的是二进制文件。
作者: afternoon    时间: 2022-2-21 16:00
Transpose 发表于 2022-2-21 15:28
没有格式描述,写的是二进制文件。

您好,我刚刚试着加入了格式描述结果打开还是乱码,请问您知道是什么原因吗?
                                                                                                                                                                                                                                                                    €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?              €?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
显示出来全部是这样子的
作者: vvt    时间: 2022-2-22 08:26
因为这是二进制文件,你用文本编辑器打开,自然就是乱码了




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2