24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1826  |  回复: 6

zhangguangping

木虫 (著名写手)

[求助] 【求助】DDscat软件中关于获得target的lab frame坐标系中坐标的问题

首先(这一块跟问题没什么关系,可以不看),非常感谢@donkeypku的资源帖(http://muchong.com/bbs/viewthread.php?tid=3038851&fpage=2&target=blank),介绍了DDA方法的软件之一DDscat。我本是准备要研究纳米粒子的光学性质的。起初选择了Meep,先不说Meep安装起来多么费劲,光Meep的输入文件我学习了2个周还是一头雾水。Meep的输出文件准备要借助于别的语言来写。我的天啊,感觉被一层层的牵引到学习语言上去了。当然我不否Meep是一个上手慢,但是掌握之后比较好用的软件。在论坛上搜索Meep的资源之后,在一个帖子(http://muchong.com/bbs/viewthread.php?tid=3044900&fpage=1)中看到@donkeypku提到DDA,因此我开始将注意力转移到DDA上。经过3天的学习,基本掌握了DDscat的计算,并且还计算了一些自己想算的东西,结果还是比较满意的。

现在得到的结果在ParaView中看都是TF坐标系下面,我想把计算的结果转换到LF坐标系下面,得到数据与具体LF坐标(x,y,z)_LF的对应。

在DDscat中,有Lab Frame (LF)和Target Frame (TF)两个坐标系,我现在对这两个坐标系的表示有些疑问。

按照DDscat 7.3.0 User Guide p34 §18中提到的,在TF坐标系中,target的每一个dipole的坐标都是表示为用d(dipole的等效边长,dipole的体积V=d*d*d)做单位,有点类似于分数坐标的意味(不过不同)。如果在shape.dat文件中,某一个dipole的坐标是(i,j,k),那么它在TF坐标系中的物理坐标(真实坐标)按照 p34 §18中叙述的应该是(x,y,z)_TF=[(i,j,k)+(x0,y0,z0)]*d,其中,(x0,y0,z0)是(i,j,k)=(0,0,0)在TF中的位置(单位是d)。要想得到(i,j,k)在LF的物理坐标,需要按照p35 §19.1中给出的TF坐标跟LF转换关系来转换。

但是按照p39  §21.1中对shape.dat的解释,看到在对target中的每一个diople的描写的时候,diople之间的间距可以不一定是d,并且是x,y,z三个方向的间距可以不同。如下:
  1.000000  0.000000  0.000000 = A_1 vector                                                  
  0.000000  1.000000  0.000000 = A_2 vector                                                  
  1.000000  1.000000  1.000000 = lattice spacings (d_x,d_y,d_z)/d                           
  0.00000   0.00000   0.00000 = lattice offset x0(1-3) = (x_TF,y_TF,z_TF)/d for dipole 0 0 0
其中上面第三行给出dipole点阵列在x,y,z方向的间隔,还是用d做单位。关于这个地方的解释,手册上没有多说。因此想搞清楚第三行的含义,去看代码。reashp.f90中写到DX(3)=dx/d, dy/d, dz/d  [where d=(dx*dy*dz)^{1/3}]。因此,我认为这儿的DX(1), DX(2),DX(3)给出的是dipole在TF坐标下面x,y,z方向的间距(单位d),这个也正如shape.dat文件描述的一样:lattice spacings.

如果上面的理解是对的,那么 p34 §18中求某一个dipole在TF坐标系中的坐标的公式是错误的,应该是修改为:(x,y,z)_TF=[(i,j,k)+(x0,y0,z0)]*d
x_TF=(i*DX(1)+x0)*d
y_TF=(j*DX(2)+y0)*d
z_TF=(k*DX(3)+z0)*d
也就是说既然dipole在xyz方向的间距不在是相同的d,而分别是dx/d,dy/d,dz/d那么应该计算dipole的坐标的时候应该考虑上这个不同的间距。

请高手指点!

@donkeypku @mahong123 @martinbible @bin2boy @tianwaiflyke @mp3gs @lkm8992 @79084787 @Ra冉 @jiangcong @zyy_323 @dpzxwswswws @rosefly88 @frank_zhan @xinyzy @思坦 @xiegangmai
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

弘德明志博学笃行
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

怎么没人出来指点呢,难道问题很幼稚。微米纳米板块真是火爆,每天发帖量真大。
弘德明志博学笃行
2楼2014-11-13 12:03:46
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

怎么没人回复呢?
弘德明志博学笃行
3楼2014-11-18 16:51:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

_moving_

新虫 (初入文坛)

楼主好,我是刚接触DDA算法,也想用这个软件做一些模拟,不知这个软件是在哪里下载的?
4楼2014-11-19 16:59:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
4楼: Originally posted by _moving_ at 2014-11-19 16:59:16
楼主好,我是刚接触DDA算法,也想用这个软件做一些模拟,不知这个软件是在哪里下载的?

https://code.google.com/p/ddscat/
弘德明志博学笃行
5楼2014-11-20 06:20:53
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

_moving_

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by zhangguangping at 2014-11-20 06:20:53
https://code.google.com/p/ddscat/...

谢谢,已经找到了,还有个问题请教楼主,如果我要算一个直径100nm的球形颗粒,那偶极子的数目要怎么确定?
6楼2014-11-21 16:13:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

_moving_

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by zhangguangping at 2014-11-20 06:20:53
https://code.google.com/p/ddscat/...

感谢楼主,最后出来的vtr的文件怎么来作图呢?
7楼2014-11-21 17:18:00
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangguangping 的主题更新
信息提示
请填处理意见