Room:「Conference Room SAD」

お願い

Speaker:Kentaro Harada

(Date: Thursday, October 4, 2001 13:51:15)


前略
 
  お世話になっております。東大物性研の原田です。

  DEC上の SAD で 例えば FFS["draw geo",14]; を実行し、tdr fort.14 とすると、
幾何学の図が書けますが、各要素の先頭が前の要素とつながってしまい、斜め線が入って
しまって、図がうまく書けません。そこで、geodrw.f の write element box の最初の
部分に、call tdput(x,y) を加えて、初期座標を前の要素の最後でなく、自分の要素の
最初にするようにして頂けますよう、お願い申し上げます。具体的には、

oldsad/src/geodrw.f において、

c ... write element box
bh=0.015*span
qh=0.03*span
sh=0.0225*span
fh=0.003*span
call tdinit(lfnd,'JOIN 1','SOLID ')
x=geo(1,4,1)*pn1(1)+ geo(2,4,1)*pn1(2)+ geo(3,4,1)*pn1(3)
y=geo(1,4,1)*pn2(1)+ geo(2,4,1)*pn2(2)+ geo(3,4,1)*pn2(3)
call tdput(x,y)
i=1
41 ds(1)=geo(1,4,i+1)-geo(1,4,i)
ds(2)=geo(2,4,i+1)-geo(2,4,i)
ds(3)=geo(3,4,i+1)-geo(3,4,i)
dx=ds(1)*pn1(1)+ ds(2)*pn1(2)+ ds(3)*pn1(3)
dy=ds(1)*pn2(1)+ ds(2)*pn2(2)+ ds(3)*pn2(3)
if(dx*dx+dy*dy.eq.0)then
i=i+1
goto 41
else
angl0=atan2(dy,dx)
endif

do 40 i=1,nlat-1
x=geo(1,4,i)*pn1(1)+ geo(2,4,i)*pn1(2)+ geo(3,4,i)*pn1(3)
y=geo(1,4,i)*pn2(1)+ geo(2,4,i)*pn2(2)+ geo(3,4,i)*pn2(3)

call tdput(x,y) <- 各要素の始点を書き出すようにこれを加える

ds(1)=geo(1,4,i+1)-geo(1,4,i)
ds(2)=geo(2,4,i+1)-geo(2,4,i)
ds(3)=geo(3,4,i+1)-geo(3,4,i)
dx=ds(1)*pn1(1)+ ds(2)*pn1(2)+ ds(3)*pn1(3)
 
  とすれば LINUX 上では問題は解決いたしました。もし、支障なければ(本当に
何も差し支えないようでしたら)、是非上のように改変し、各要素について1点だけ
書き出す点を増やして頂けますよう、お願い申し上げます。
 
                                 草々
                              Thursday,4,Oct,2001
                                Kentaro Harada
 


Comment by K. Oide
( Date: Thursday, October 11, 2001 20:39:16)

原田様
現象を確認し、また御指摘のようにすることで正しくなるようなので
次のヴァージョンで直します。
生出