| 查看: 1383 | 回复: 2 | ||
云中木金虫 (小有名气)
|
[求助]
关于siesta的一些问题 已有1人参与
|
|
问一下1.siesta如何编译使用gnubands指令画能带图;2.当提示Dimensions in gnubands too small时如何操作修改数组大小。 希望得你帮助,感激不尽! |
» 猜你喜欢
基金中了
已经有7人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有4人回复
听说今天filecode变了
已经有34人回复
filecode
已经有14人回复
固定端突然变了,今天
已经有7人回复
filecode
已经有11人回复
大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑
已经有6人回复
一个有机合成实验室都需要哪些设备?
已经有12人回复
求各位大神看下
已经有33人回复
咨询面上基金
已经有7人回复

zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1974.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
50