24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 661  |  回复: 4
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

swf1632001

新虫 (初入文坛)

[交流] 【求助】Material studio中如何输出某个原子在某刻的速度和力?

各位好!
我使用的是Materials Studio中的Gulp模块,在模拟结束后生成的output文件有一个“.xtd”文件,就是trajectory file,我想请教各位如何将某个原子在不同frame时对应的速度velocity、力force求出来?
我知道在Materials studio中有对应的Script, 可以编写一个简单的Script进行连续输出,但是当我编写如下时:
#!perl

use strict;
use MaterialsScript qw(:all);

#define the input document and create the study table
my $doc=$Documents{"SiO2_Cylinder(10,100,110)SPY90_2.xtd"};
#create a new study table
my $newStudyTable=Documents->New("ForceXYZ.std";
my $calcSheet=$newStudyTable->ActiveSheet;

#creat the column heading in the study table
$calcSheet->ColumnHeading(0)="ForceAtomXYZ";

$calcSheet->ColumnHeading(1)="AtomicIndexNumber";
$calcSheet->ColumnHeading(2)="Mass";
$calcSheet->ColumnHeading(3)="MassNumber";
$calcSheet->ColumnHeading(4)="ElementName";
$calcSheet->ColumnHeading(5)="Force";
$calcSheet->ColumnHeading(6)="Velocity";

my $count=$doc->Atoms->Count;
print "$count";


for (my $i=0;$i<$count;++$i)
{
my $atom=$doc->DisplayRange->Atoms($i);
my $atomicNumber=$atom->AtomicNumber;
my $elementName=$atom->ElementName;
my $mass=$atom->Mass;
my $massNumber=$atom->MassNumber;
my $elementName=$atom->ElementName;




my $x=$atom->X;
my $y=$atom->Y;
my $z=$atom->Z;
my $point=Point(x=>$x,Y=>$y,Z=>$z);
my $vel=$atom->Velocity;
my $force=$atom->Force;
print "$vel";
print "$force";


#my $distance=$x*$x+$z*$z;
#place into study table


$calcSheet->Cell($i,1)=$atomicNumber;
$calcSheet->Cell($i,2)=$mass;
$calcSheet->Cell($i,3)=$massNumber;
$calcSheet->Cell($i,4)=$elementName;
$calcSheet->Cell($i,5)=$force;
$calcSheet->Cell($i,6)=$vel;
#$calcSheet->Cell($i,7)=$x;
#$calcSheet->Cell($i,8)=$y;
#$calcSheet->Cell($i,9)=$z;
#$calcSheet->Cell($i,8)=$distance;
}


$doc->Close;


运行不下去,老提示说,
Variant contains an object that is not a document (writing property "Cell"  at -e line 56.
5140ISDPoint3d [0x116b0c10]


像这种情况,如何将velocity和force通过某方法直接输出到study table中去?或者直接连续读出来?

望请各位赐教,急用。谢谢!

[ Last edited by zeoliters on 2009-11-15 at 23:39 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jianchaoyv

金虫 (小有名气)

定一个,想知道!!
2楼2009-05-23 08:31:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 swf1632001 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见