| 查看: 1272 | 回复: 2 | ||
云中木金虫 (小有名气)
|
[求助]
关于siesta的一些问题 已有1人参与
|
|
问一下1.siesta如何编译使用gnubands指令画能带图;2.当提示Dimensions in gnubands too small时如何操作修改数组大小。 希望得你帮助,感激不尽! |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有7人回复
存款400万可以在学校里躺平吗
已经有17人回复
请教限项目规定
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
推荐一本书
已经有13人回复
国自然申请面上模板最新2026版出了吗?
已经有17人回复
纳米粒子粒径的测量
已经有8人回复
疑惑?
已经有5人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复

zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
云中木: 金币+20, ★★★很有帮助 2016-07-15 08:48:25
云中木: 金币+20, ★★★很有帮助 2016-07-15 08:48:25
|
这是由于程序采用的是固定大小的数组导致的。可以修改一下程序,将数组设置为动态分配的,这样就解决问题了。将附件中的程序替换原来的程序编译即可。 ===== 删除 integer maxk, maxb, maxs parameter (maxk=1000, maxb=100, maxs=2) double precision e(maxb, maxs, maxk), k(maxk) 添加 double precision, dimension(:,:, ,allocatable :: e double precision, dimension( ,allocatable :: k然后将 overflow = (nband.gt.maxb) .or. (nk.gt.maxk) .or. (nspin.gt.maxs) if (overflow) stop 'Dimensions in gnubands too small' 替换为 allocate ( e(nband,nspin,nk),k(nk) ) ==== |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : gnubands.f
2016-07-14 17:15:13, 2.4 K

2楼2016-07-14 17:17:07
云中木
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1247.8
- 散金: 150
- 帖子: 52
- 在线: 46.7小时
- 虫号: 3563776
- 注册: 2014-11-24
- 性别: GG
- 专业: 物理学I

3楼2016-07-15 08:48:51













回复此楼
,allocatable :: e