24小时热门版块排行榜    

查看: 583  |  回复: 3

zhangying09

铜虫 (小有名气)

[交流] 【求助】怎么将transmission在origin里作图已有2人参与

我想问一下各位前辈,怎么将ATK 中的tarnsmission在origion 里面作图
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

163.com

金虫 (著名写手)

实习版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzy870720z(金币+1):xiexie 2010-06-04 00:06:00
引用回帖:
Originally posted by zhangying09 at 2010-06-03 21:57:03:
我想问一下各位前辈,怎么将ATK 中的tarnsmission在origion 里面作图

你这求助就干净了,

最简单的办法是把你的屏幕输出重定向到一个文件, 那个log文件后面就有Transmission

把那些数据复制出来就可以用Origion作图了

更高层次的是修改脚本,程序自动生成Transmission.dat文件

那都是可以的,你先用简单的
阿什顿联
2楼2010-06-03 23:49:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangying09

铜虫 (小有名气)

引用回帖:
Originally posted by 163.com at 2010-06-03 23:49:54:


你这求助就干净了,

最简单的办法是把你的屏幕输出重定向到一个文件, 那个log文件后面就有Transmission

把那些数据复制出来就可以用Origion作图了

更高层次的是修改脚本,程序自动生成Transmissio ...

更高层次的是修改脚本,程序自动生成Transmission,我想问一下什么命令可以呢?

from ATK.TwoProbe import *
# Restoring the SCF from the previous calculation
scf = restoreSelfConsistentCalculation('si-bias-1.0.nc')

# Create a list of energies from -5 to 5 eV, with 0.1 eV spacing
import numpy
energy_list = numpy.arange(-5.0, 5.0, 0.1)*electronVolt
# Set k-points for transmission
bz_int_param = brillouinZoneIntegrationParameters( (5,5,100) )
spectrum = calculateTransmissionSpectrum(
self_consistent_calculation=scf,
energies = energy_list,
brillouin_zone_integration_parameters=bz_int_param)
# Save the transmission spectrum to VNL file
vnlfile = VNLFile("transmission.vnl"
vnlfile.addToSample(spectrum,'transmission')
# Print at screen the Transmission Spectrum
print 'Transmission Spectrum'
print '-----------------------------------------------------------------------'
print 'Energies(eV) Coefficients'
for i in range(len(spectrum.energies())):
    print '%17.3f %17.6f' %(
         spectrum.energies().inUnitsOf(Units.eV),
         spectrum.coefficients())
这是我的输入文件,但是我想导出一个数据文件,你能告诉我怎么修改吗
3楼2010-06-04 10:14:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

163.com

金虫 (著名写手)

实习版主

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gavinliu7390(金币+2):谢谢交流! 2010-06-04 22:19:00
引用回帖:
Originally posted by zhangying09 at 2010-06-04 10:14:41:



更高层次的是修改脚本,程序自动生成Transmission,我想问一下什么命令可以呢?

from ATK.TwoProbe import *
# Restoring the SCF from the previous calculation
scf = restoreSelfConsistentCalculat ...

你在程序最后加上这段脚本,T就会写入到 “trans.dat” 中:

f = open('trans.dat','w')  
import numpy
transmission_spectrum = calculateTransmissionSpectrum(
    self_consistent_calculation = scf,
    energies = numpy.arange(-5.0, 5.0+0.002, 0.02)*electronVolt,
    brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters((1, 1)),
    green_function_infinitesimal = 1.0e-5*electronVolt
)
energies = transmission_spectrum.energies()
coefficients = transmission_spectrum.coefficients()
if len(coefficients.shape)==2:
    # spin-polarized
    print '                     Transmission'
    print 'Energy (eV)     Spin-up       Spin-down'
    print '------------------------------------------'
    for i in range(len(energies)):
        print "%g\t%g\t%g\n" % ( energies.inUnitsOf(eV),
            coefficients[0,i],coefficients[1,i] )
        s = '%g\t%g\t%g\n' % ( energies.inUnitsOf(eV),
            coefficients[0,i],coefficients[1,i] )
        f.write(s)
else:
    print 'Energy (eV)     Transmission'
    print '-----------------------------------'
    for i in range(len(energies)):
        print "%g\t%g\n" % ( energies.inUnitsOf(eV),coefficients )
        s = '%g\t%g\n' % ( energies.inUnitsOf(eV),coefficients )
        f.write(s)
f.close()
阿什顿联
4楼2010-06-04 16:37:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangying09 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见