版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3984)
>
考研
(827)
>
导师招生
(676)
>
虫友互识
(258)
>
文献求助
(170)
>
考博
(84)
>
硕博家园
(66)
>
招聘信息布告栏
(61)
>
基金申请
(48)
>
休闲灌水
(35)
>
论文投稿
(29)
>
博后之家
(20)
>
绿色求助(高悬赏)
(17)
>
论文道贺祈福
(12)
>
公派出国
(11)
>
教师之家
(9)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
写了一个fortran90的小程序,编译通不过,请大侠帮忙
北京石油化工学院2026年研究生招生接收调剂公告
3
1/1
返回列表
查看: 4097 | 回复: 59
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 3 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★
余泽成(金币+5, 程序强帖+1): 辛苦了! 2011-05-04 22:55:55
zvv.f90 是你的程序
zv.f90 是我改后的程序
- 和 + 表示修改的部分,- 号代表你的程序,+ 代表修改后的程序……
CODE:
--- zvv.f90 2011-05-04 22:39:38.874875000 +0800
+++ zv.f90 2011-05-04 22:42:02.437375000 +0800
@@ -1,4 +1,4 @@
-program cell-POSCAR
+program cell_POSCAR
!announcement begin***********************************
implicit none
@@ -9,6 +9,7 @@
character(len=1) nonsense !to contain something that will not be used
character(len=2) position !to read %
character(len=2) element1,element2
+character(len=20) :: fm
!End announcement************************************
!Begin reading data from "cell"****************************
@@ -48,13 +49,13 @@
element1=element2
if (m==1) then
type(1)=1
-else if
+else
do j=2,m
read(28,*)element2,atomcoor(j,1),atomcoor(j,2),atomcoor(j,3)
if(element1==element2) then
k=k+1
if(m==j) type(i)=k
- else if
+ else
type(i)=k
i=i+1
element1=element2
@@ -68,22 +69,23 @@
!Begin writing to "POSCAR"******************************
open(unit=38,file="POSCAR",status="replace")
-write(38,10)System
+write(38,10)'System'
write(38,100)cellcon(1,1)
do i=1,3
write(38,200)(cellcon(i,j)/cellcon(1,1),j=1,3)
end do
-write(38,60)(type(i),i=1,n)
-write(38,20)Selective,dynamic
-write(38,30)Direct
+write(fm,'(a,i0,a)') '(1x,',n,'(i3,2x))'
+write(38,fm)(type(i),i=1,n)
+write(38,20)'Selective','dynamic'
+write(38,30)'Direct'
do i=1,m
write(38,300)(atomcoor(i,j),j=1,3)
end do
10 FORMAT(1X,A6)
20 FORMAT(1X,A9,1X,A7)
30 FORMAT(1X,A6)
-60 FORMAT(1X,n(I3,2X))
-100 FORMAT(1X,F18.16)
+!60 FORMAT(1X,n(I3,2X))
+100 FORMAT(1X,F18.15)
200 FORMAT(1X,3(F18.16,3X))
300 FORMAT(1X,F18.16,2X,F18.16,2X,F18.16,2X,'T',2X,'T',2X,'T')
close(38)
赞
一下
(2人)
回复此楼
10楼
2011-05-04 22:43:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
智能机器人
Robot
(super robot)
我们都爱小木虫
找到一些相关的精华帖子,希望有用哦~
大侠们,给点儿建议啊。。。
已经有7人回复
CASTEP在计算是出现问题啦,求大侠帮忙啊。。。
已经有13人回复
不同功能vasp的编译
已经有4人回复
一个FORTRAN90程序,越界了,希望高手帮助
已经有5人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
【求助】用fortran怎么描述下面这样的情况,我是新手,请大家帮忙
已经有8人回复
【求助】求Fortran90编译器?
已经有11人回复
【求助】帮忙编个用于VASP小程序
已经有22人回复
点击这里搜索更多相关资源
科研从小木虫开始,人人为我,我为人人
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
Gina88(金币+5): 2011-05-05 09:42:06
余泽成(程序强帖+1): 2011-05-19 19:20:22
再贴个完整的程序吧,呵呵……
CODE:
program cell_POSCAR
!announcement begin***********************************
implicit none
real(8)::cellcon(3,3) !lattice constance
real(8),allocatable::atomcoor(:,:) !direct coordinate of atoms
integer,allocatable::type(:)
integer i,j,k,m,n !m:atom number,n:type number
character(len=1) nonsense !to contain something that will not be used
character(len=2) position !to read %
character(len=2) element1,element2
character(len=20) :: fm
character(len=20) :: filename
!End announcement************************************
!Begin reading data from "cell"****************************
!call getarg(1,filename)
call GET_COMMAND_ARGUMENT(1,filename)
open(unit=18,file=filename,status="old")
read(18,*)nonsense
do i=1,3
read(18,*)cellcon(i,1),cellcon(i,2),cellcon(i,3)
end do
read(18,*)position
read(18,*)nonsense
read(18,*)nonsense
n=0;m=0
read(18,*)element2
do while(position/=element2)
n=n+1
element1=element2
do while(element1==element2)
m=m+1
read(18,*)element2
end do
end do
close(18)
allocate(type(n))
allocate(atomcoor(m,3))
open(unit=28,file=filename,status="old")
read(28,*)nonsense
read(28,*)nonsense
read(28,*)nonsense
read(28,*)nonsense
read(28,*)nonsense
read(28,*)nonsense
read(28,*)nonsense
read(28,*)element2,atomcoor(1,1),atomcoor(1,2),atomcoor(1,3)
i=1;k=1
element1=element2
if (m==1) then
type(1)=1
else
do j=2,m
read(28,*)element2,atomcoor(j,1),atomcoor(j,2),atomcoor(j,3)
if(element1==element2) then
k=k+1
if(m==j) type(i)=k
else
type(i)=k
i=i+1
element1=element2
k=1
if(m==j) type(i)=k
end if
end do
end if
close(28)
!End reading data from "cell"****************************
!Begin writing to "POSCAR"******************************
open(unit=38,file="POSCAR",status="replace")
write(38,*) filename(1:len(trim(filename))-5)
write(38,10)'System'
write(38,100)cellcon(1,1)
do i=1,3
write(38,200)(cellcon(i,j)/cellcon(1,1),j=1,3)
end do
write(fm,'(a,i0,a)') '(1x,',n,'(i3,2x))'
write(38,fm)(type(i),i=1,n)
write(38,20)'Selective','dynamic'
write(38,30)'Direct'
do i=1,m
write(38,300)(atomcoor(i,j),j=1,3)
end do
10 FORMAT(1X,A6)
20 FORMAT(1X,A9,1X,A7)
30 FORMAT(1X,A6)
!60 FORMAT(1X,n(I3,2X))
100 FORMAT(1X,F18.15)
200 FORMAT(1X,3(F18.16,3X))
300 FORMAT(1X,F18.16,2X,F18.16,2X,F18.16,2X,'T',2X,'T',2X,'T')
close(38)
!End writing to "POSCAR"********************************
end
赞
一下
(1人)
回复此楼
16楼
2011-05-05 09:19:38
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
Gina88(金币+2): 2011-05-05 11:28:04
余泽成(程序强帖+1): 2011-05-05 18:28:00
引用回帖:
Originally posted by
Gina88
at 2011-05-05 10:30:36:
这个好像编译通不过啊,他说没有定义GET_COMMAND_ARGUMENT。
另外文件名没有从众多的文件中筛选后缀名为cell的文件啊。
谢谢大侠了,你真是帮了我很大很大的忙,呵呵:)
我在 diff 中说了,GET_COMMAND_ARGUMENT 是 Fortran 2003 标准中的,如果你的编译器还不支持的话,就用 getarg,就是前面的那句。
至于从文件名中筛选,我前面的回复中也说了,你最好借助于操作系统提供的功能,如果是 Linux,下面的脚本应该是可行的……
CODE:
for i in `ls *.cell`; do
./a.exe $i;
done
如果是 Windows 的操作系统,应该也是类似的,不过我没有编写 .bat 的经验……
需要说明的是,你的 POSCAR 文件内容会被替代的……
赞
一下
(1人)
回复此楼
18楼
2011-05-05 10:52:28
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
Gina88
的主题更新
3
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
最具人气热帖推荐
[查看全部]
作者
回/看
最后发表
[
考研
]
291求调剂
+5
Y-cap
2026-03-29
6/300
2026-03-29 13:18
by
mumin1990
[
考研
]
0856求调剂
+7
楒桉
2026-03-28
7/350
2026-03-29 08:28
by
fmesaito
[
考研
]
学硕274求调剂
+9
Li李鱼
2026-03-26
9/450
2026-03-28 21:42
by
bymhappy
[
考研
]
322求调剂
+7
宋明欣
2026-03-27
7/350
2026-03-28 21:27
by
sanrepian
[
考研
]
22408 359分调剂
+4
Qshers
2026-03-27
5/250
2026-03-28 21:26
by
zhq0425
[
考研
]
求调剂
+7
争取九点睡
2026-03-28
8/400
2026-03-28 21:07
by
争取九点睡
[
考研
]
复试调剂
+3
raojunqi0129
2026-03-28
3/150
2026-03-28 15:27
by
落睿可思
[
考研
]
085600 286分 材料求调剂
+7
麻辣鱿鱼
2026-03-27
8/400
2026-03-28 12:17
by
zllcz
[
考研
]
339求调剂,想调回江苏
+6
烤麦芽
2026-03-27
8/400
2026-03-28 10:40
by
烤麦芽
[
考研
]
化学调剂
+4
爱吃番茄的旭
2026-03-24
5/250
2026-03-27 17:50
by
kiokin
[
考研
]
272求调剂
+7
脚滑的守法公民
2026-03-27
7/350
2026-03-27 17:23
by
laoshidan
[
考研
]
考研调剂
+10
呼呼?~+123456
2026-03-24
10/500
2026-03-27 11:46
by
wangjy2002
[
考研
]
325求调剂
+5
李嘉图·S·路
2026-03-23
5/250
2026-03-27 00:42
by
wxiongid
[
考研
]
294分080500材料科学与工程求调剂
+4
柳溪边
2026-03-26
4/200
2026-03-26 21:14
by
XPU李庆
[
考研
]
调剂
+4
柚柚yoyo
2026-03-26
4/200
2026-03-26 20:43
by
fmesaito
[
考研
]
【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】
+4
Higraduate
2026-03-22
8/400
2026-03-26 20:34
by
Higraduate
[
考研
]
机械学硕310分,数一英一,一志愿211本科双非找调剂信息
+3
@357
2026-03-25
3/150
2026-03-26 16:34
by
by.MENG
[
考研
]
085602 289分求调剂
+8
WWW西西弗斯
2026-03-24
8/400
2026-03-26 16:33
by
不吃魚的貓
[
考研
]
302求调剂
+4
锦衣卫藤椒
2026-03-25
4/200
2026-03-25 16:29
by
功夫疯狂
[
考研
]
284求调剂
+3
yanzhixue111
2026-03-23
6/300
2026-03-23 22:58
by
pswait
信息提示
关闭
请填处理意见
关闭
确定