[Go to BBS]
All articles in a thread
Subjectラティスへエレメントを挿入する方法
Article No1226
Date: 2014/05/17(Sat) 00:38:29
ContributorY. Seimiya
広大の清宮です。

あるラティスファイルを読み込み後(LINE=(a,b,c);)、FFSコマンド後に
あるエレメント(E)を挿入したい場合(LINE=(a,b,E,c);)、
簡単な方法はあるでしょうか。
(Doループで単数エレメント挿入位置を変えていくことを考えています)

よろしくお願い致します。

SubjectRe: ラティスへエレメントを挿入する方法
Article No1256
Date: 2014/06/09(Mon) 07:44:18
ContributorK. Oide
例えば以下のようにします。

line=ExtractBeamLine[BT];   <<< ここでBTは既存のbeam line(MAINレベルですでに定義されたもの)
SetElement["QF","QUAD",{"L"->1,"K1"->0.1}];  <<< 新しい要素の生成、あるいは既存の要素値の変形。
line1=Insert[line,QF,3];   <<< lineに新しい要素QFを追加したものをline1と定義。line、line1はBeamLine[...]という構造体なので、Append、Join等構造体操作関数は何でも使える。
use line1;   <<< line1をFFSで使用する。



> 広大の清宮です。
>
> あるラティスファイルを読み込み後(LINE=(a,b,c);)、FFSコマンド後に
> あるエレメント(E)を挿入したい場合(LINE=(a,b,E,c);)、
> 簡単な方法はあるでしょうか。
> (Doループで単数エレメント挿入位置を変えていくことを考えています)
>
> よろしくお願い致します。

SubjectRe^2: ラティスへエレメントを挿入する方法
Article No1258
Date: 2014/06/13(Fri) 21:17:45
ContributorY. Seimiya
ありがとうございます。
基本的な質問だったのかもしれませんが、困っていたため非常に助かりました。

> 例えば以下のようにします。
>
> line=ExtractBeamLine[BT];   <<< ここでBTは既存のbeam line(MAINレベルですでに定義されたもの)
> SetElement["QF","QUAD",{"L"->1,"K1"->0.1}];  <<< 新しい要素の生成、あるいは既存の要素値の変形。
> line1=Insert[line,QF,3];   <<< lineに新しい要素QFを追加したものをline1と定義。line、line1はBeamLine[...]という構造体なので、Append、Join等構造体操作関数は何でも使える。
> use line1;   <<< line1をFFSで使用する。
>
>
>
> > 広大の清宮です。
> >
> > あるラティスファイルを読み込み後(LINE=(a,b,c);)、FFSコマンド後に
> > あるエレメント(E)を挿入したい場合(LINE=(a,b,E,c);)、
> > 簡単な方法はあるでしょうか。
> > (Doループで単数エレメント挿入位置を変えていくことを考えています)
> >
> > よろしくお願い致します。