| 查看: 1084 | 回复: 7 | |||
| 本帖产生 1 个 模拟EPI ,点击这里进行查看 | |||
[交流]
【求助】求高人给我发一份GEMC的模拟程序
|
|||
|
小弟,最近在学习MC,觉得GEMC对我比较有用,可是在网上,我怎么都找不着。 如果有人有的话,能否给我发一份呢?万分感谢! 我的邮箱地址:zw198204@163.com |
» 猜你喜欢
哪位老哥知道今年的国自然具体哪一天放榜?
已经有6人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有6人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有7人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有5人回复
欢迎发来filecode的Mz6后的代码验证其规律
已经有50人回复
filecode
已经有11人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有5人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有5人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有4人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助sybyl关于添加形式电荷的问题
已经有8人回复
正在做大学生创新实践项目,车身方面,研究方向一直反复不定,跪求高人指点啊
已经有4人回复
苯环上的烷基取代。求高人指点。谢谢!
已经有23人回复
除掉反应生成的乙醇,拉动反应平衡。求高人指点
已经有15人回复
求各位高人给小弟支个招:我是否需要跨专业考研?
已经有24人回复
【求助】求将c语言改写为C++,求教高人啊!
已经有6人回复
【求助】求高人给分析一下三方相的xrd,帮我算算晶胞参数啊,自己不在行这个啊,赞助50
已经有8人回复
【求助】100金币求助高人一个程序解方程
已经有15人回复
» 抢金币啦!回帖就可以得到:
2026年财务管理、经济与信息技术国际会议 (FMEIT 2026)
+1/832
祝福!基金中中中!!!!
+1/422
原创销售写了20年终于完结发表
+1/222
中国科学院空天院精密干涉测量团队 精密机械结构工程师招聘启事
+1/83
东南大学杰青/海优团队招聘催化方向博士后
+1/81
天津大学环境学院童银栋教授招收博士后(生源要素循环/温室效应/新污染物方向)
+1/30
清华大学深圳国际研究生院招聘-博士后(长期有效)
+1/29
物理学报录用,散币感谢合作者和审稿人
+2/28
浙江大学医学院附属第一医院招聘科研助理
+1/11
复旦大学 招聘 AI4Science自动化实验室方向 机械工程师/电气工程师 等岗位
+1/7
北京理工大学-集成电路与电子学院杰青团队-招博士后
+1/6
关于Ghaffar-Parkins催化剂催化氰基水解为酰胺的问题
+1/6
论文万能框架
+1/4
中山大学李国强课题组招收博士生(柔性电子方向)
+1/3
海南大学化学院-科研助理招聘 (可读博,可与华中科技大学,天津大学联培)+博后招聘
+1/3
北理工集成电路杰青团队 | 诚招科助理
+1/3
国家级人才团队诚聘生物信息相关专业的科研助理
+1/3
海南大学化学院—功能分子器件团队2027博士招生+博士后招聘
+1/2
中科院理化所热声热机团队招聘电气工程专业(电机方向)博士后/特别研究助理
+1/2
北京理工大学-集成电路与电子学院杰青团队-招博士后
+1/1
2楼2010-11-29 00:01:34
3楼2010-11-29 09:50:07
4楼2010-12-02 10:47:45
5楼2010-12-02 12:43:57
6楼2010-12-03 10:52:50
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
zh1987hs(金币+10):谢谢 2010-12-04 23:13:56
ghcacj(金币+3, 模拟EPI+1):精彩答疑 2010-12-06 12:16:56
zh1987hs(金币+10):谢谢 2010-12-04 23:13:56
ghcacj(金币+3, 模拟EPI+1):精彩答疑 2010-12-06 12:16:56
|
答应过的事情, 虽然觉得其实对楼主帮助也不大. 因为我不可能给你写一个完整的GibbsMC, 如果你自己不努力去理解, 那么什么都是白搭. 这是大体结构. 按照需要填充就是了. 应该此贴不会再更新了. 文件名: GibbsMC.f90 文件内容如下: PROGRAM MC USE global IMPLICIT NONE ! Local INTEGER :: ibox, iblock, istep INTEGER :: ts,tf,rate DOUBLE PRECISION :: engtst, virtst, engerr ! Initialize the random number generator CALL seed_random(idum) ! Read the input file CALL read_input ! Get the start time CALL system_clock(count=ts, count_rate=rate) ! Perform minimization CALL relax ! Calculate energy and virial DO ibox = 1,n_box CALL eng_total(ibox,energy(ibox),virial(ibox)) CALL write_config(ibox,0) ENDDO ! Loop over the blocks DO iblock = 1,n_blocks ! Reset basic statistics CALL stats(1,0,0) ! Reset optional statistics IF(opt .EQ. 1) CALL sample(1,0,0) ! Loop over the steps per block DO istep = 1,n_steps ! Perform a trial move CALL trial_move(iblock,istep) ! Accumulate basic statistics CALL stats(2,iblock,istep) ! Accumulate optional statistics IF(opt .EQ. 1) call sample(2,iblock,istep) ! End loop over the steps per block ENDDO ! Average basic statistics for iblock CALL stats(3,iblock,0) ! Average optional statistics for iblock IF(opt .EQ. 1) call sample(3,iblock,0) ! Update the max values (disp, volchng, etc) CALL update_max ! Print status IF(iblock .LE. n_equil) THEN IF(iblock .EQ. 1) WRITE(*,'(A)')'Equilibration stage... ' IF(MOD(NINT(100.0d0*DBLE(iblock)),10*n_equil) .EQ. 0)& &WRITE(*,'(I0,A3)')NINT(100.0d0*DBLE(iblock)/DBLE(n_equil)),'% ' IF(iblock .EQ. n_equil) WRITE(*,*)'' ELSE IF(iblock .EQ. n_equil + 1) WRITE(*,'(A)')'Production stage... ' IF(MOD(NINT(100.0d0*DBLE(iblock-n_equil)),10*(n_blocks-n_equil)).EQ. 0)& &WRITE(*,'(I0,A3)')NINT(100.0d0*DBLE(iblock-n_equil)/DBLE(n_blocks-n_equil)),'% ' IF(iblock .EQ. n_blocks) WRITE(*,*)'' ENDIF ! Check the total and updated energy consistency for each box (every 10 blocks) IF(MOD(iblock,1) .EQ. 0) THEN DO ibox = 1,n_box CALL eng_total(ibox,engtst,virtst) engerr = dABS((engtst - energy(ibox))) IF (engerr .GE. 1.0d-5) THEN WRITE(*,*) 'WARNING: LARGE ERROR BETWEEN THE TOTAL AND UPDATED ENERGY' WRITE(*,'(A7,I0,A6,I0,A10,F20.8,A10,F20.8)')& &'BLOCK: ',iblock,' BOX: ',ibox,' UPD ENG: ',energy(ibox),' TOT ENG: ',engtst ENDIF ENDDO ENDIF ! End loop over the blocks ENDDO ! Get the finish time CALL system_clock(count=tf, count_rate=rate) ! Write the elapsed time to screen CALL time_elapsed(tf,ts,rate) ! Write basic statistics CALL stats(4,0,0) ! Write optional statistics IF(opt .EQ. 1) CALL sample(4,n_blocks+1,0) ! Write the final configurations DO ibox = 1,n_box CALL write_config(ibox,n_blocks+1) ENDDO END PROGRAM MC |
7楼2010-12-04 23:08:18
8楼2010-12-05 08:58:05










回复此楼