20200211

Calculix 10本ノック: 6本目: exampleの実行 Contact/eyebar

Calculixとは

フリーの解析ソフト。

  • ccx ソルバー
  • cgx プリポスト

環境

  • WSL

  • Xming

  • Calculix 2.11

  • gmsh

    gmshの機能を使ってメッシングすることがある。

  • imagimagick

    hcpyで画像作成するとき、内部でconvertしているので使う。

    sudo apt install imagemagick

    で入手。

  • pip2

  • matplotlib

ノック6本目: exampleの実行 Contact/eyebar

データの入手

公式サイトからのリンクで行けるGithubのexample

下記サイトのリンクから、自分のCalculixのバージョンにあったファイルを探す。

https://github.com/mkraska/CalculiX-Examples/releases

Contact

eyebar

いきなり難しいサンプルに手を出してしまった。
アルファベット順でexampleを漁ってはだめっぽい。

まずはディレクトリの移動。

cd ~/CalculiX-Examples-2.11/CalculiX-Examples-2.11/Contact/Eyebar

「~」は、サンプルを解凍した場所のアドレス。

モデル形状

下記が解析する形状。赤点が拘束。青点が鏡面対象拘束。赤文字が、Xプラス方向へ2強制変位。緑が接触を考慮する位置。なんでも、荷重で動かすよりも、強制変位で動かした方が、収束しやすいそうな。

model.png

ラインL004に属する、エレメントのフェイス(S3エッジ)と、
ラインL00Fに属する、エレメントのフェイス(S4エッジ)の接触が、
フェイストゥーフェイスで考慮されている。

line.png

形状でいうと、図で接触しそうなあたり。当たり前ですが。
ちょうど重なって見にくくなってる線部分。

contact parts.png

python2 param.py par.eyebar.fbd

と打つと、eyebar.fbdが作成される。

cgxでeyebar.fbd読むと自動的に、全メッシュの出力、接触に必要なフェイスなどを出力はしてくれる。
それらのファイルは、あらかじめ作ってあった.inpが読み込んでくれるので、
ccxでinpを解析すれば結果は出てくる。やったのはこれだけなので、気付いた事を書いていく。

セットを作っていた。

セットを作って、いろいろ指定していた。セットを作って、別ファイルで出力。.inpでそれを読み込んで、拘束や強制変位や接触の条件に使用するノードや要素を指定するために利用していた。

セット名をまとめて作る方法として、以下のようなことをやっていた。

seto set名
〜ノードやメッシュを作成する操作〜
setc set名

この手法で、seto(オープン)とsetc(クローズ)の間の操作で生成されるノードなどを、セットにしていた。

通常はセットを作るときは、setaを使うようです。

seta a n 1

上記は、セット名aに、ノード番号1を追加するやり方です。
セット名をもう一度setaで定義しても、追加されるだけで、

seta a n 2

としても、1は消えない。なので、aには、1と2が入っている状態になる。

ノード1を消したいときは、setrを使う。

setr a n 1

で、セットaから、ノード1が消える。

plot n a

などとして確認できます。

セット名allは、自動的に作られる、全部入りのセット。

plotのオプションを調べる。

cgxで、「エレメントを表示させたい。」「ノードを表示させたい。」「ノード番号を表示させたい。」などというとき、setが用意されているのであれば、plotが一番簡単なのではないかと思う。

plotには、たくさんのオプションが用意されているので、どれを使ったら何が見れるのか分かりにくい。

plot p all

plot p all.png

plot l all

plot l all.png

plot s all

plot s all.png

plot e all

plot e all.png

plot n all

plot n all.png

plot f all

plot f all.png

cgxは、.inpを作るソフトではなかった。

cgxのコマンドで、解析の細かい設定を書き込んだ.inpを作る方法はないみたい。
プリじゃないじゃん。
.inpは手打ちっぽい。
FemapやAbaqus CAEのようなGUIでの設定を期待してはいけないという事ですか。
それはキツイなぁ〜。全部cgxで、それもマウスクリックで設定したかったなぁ〜。

このフォルダの解析を一通り実行するためには、〜\CalculiX-Examples-2.11\CalculiX-Examples-2.11\Scriptsフォルダ内の、

  • param.py
  • monitor.py

が必要。(monitor.pyは、なくても解析はできる。)

また、post.fbdで、gnuplotを、
monitor.pyでpylabを使用している。

monitor.pyを書き直した

monitor.pyは、cvgファイル(非線形解析をした時のイテレーション回数や残留力などが書かれている)などの情報を図示する。
pylabがうまく動かないので、matplotlib.pyplotに書き換えた。
また、WSL上のmatplotlibは、バックエンドをいじらないと動作しない。

書き直してみた。多分これで動く。

下記コードはhttps://github.com/mkraska/CalculiX-Examplesのscriptを、自分の環境用に書き直したもの。
アドレス書いたし、著作者も特定できるので、問題ないはず。

import sys
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt#import pylab
import numpy
import glob

# print sys.argv[1]
# job = sys.argv[1]
# processing command line arguments, get the
# jobname
if len(sys.argv)==1:
print "No jobname given."
files=glob.glob("*.sta")
if len(files)==1:
print "Found", files[0]
job=files[0][:-4]
else:
print "Available .sta files:"
for f in files:
print " ", f
quit()
if len(sys.argv)>1:
print "Jobname:",sys.argv[1]
job = sys.argv[1]
try:
sta=numpy.genfromtxt(job+'.sta',skip_header=2,delimiter=[6,11,7,6,14,14,14])
except:
# before the first increment is completed, the sta-file is empty, so we
# fake some contents to not crash the
sta=numpy.array([[ 1. , 1. , 1. , 0 , 0 , 0 , 0 ]])
cvg=numpy.genfromtxt(job+'.cvg',skip_header=4)
# ensure 2dim array in case of single data line
if sta.ndim==1:
sta=sta[numpy.newaxis,:]
"""
.sta
0 STEP
1 INC
2 ATT
3 ITRS
4 TOT TIME
5 STEP TIME
6 INC TIME
.cvg
0 STEP
1 INC
2 ATT
3 ITER
4 CONT EL
5 RESID FORCE
6 CORR DISP
7 RESID FLUX
8 CORR TEMP"""
# iteration counter
iters=cvg.shape[0] # number of iterations
it=range(iters) # range for loop over iterations
# increment number for iteration
itinc=cvg.astype(int)[:,1] # increment number for the iterations
itstep=cvg.astype(int)[:,0] # step number for the iteration
itdt=numpy.empty([iters]) # time step for the iteration
itsteptime=numpy.empty([iters]) # Step time for iterations
for i in it:
stp = itstep[i]
inc = itinc[i]
# ccx writes values below 1e-6 as zero
if (cvg[i,5]==0.0):
cvg[i,5]=0.5
for j in range(sta.shape[0]):
if (stp==sta.astype(int)[j,0]) and (inc==sta.astype(int)[j,1]):
itdt[i]=sta[j,6]
itsteptime[i]=sta[j,5]
print i, stp, inc, j, itdt[i],itsteptime[i],cvg[i,5]
imax=i
## Plot force residuals, disp correction and time step
plt.subplot(2,1,1)
plt.title('sta and cvg data of job '+job )
plt.semilogy(it[:imax],itdt[:imax],'-',
it[:imax],cvg[:imax,5],'-',
it[:imax],cvg[:imax,6],'r-')
plt.grid()
plt.legend(['dt','force','disp'],
fontsize='small',framealpha=0.5, loc=2)
# step time and number of contact elements
sp1=plt.subplot(2,1,2)
plt.plot(it[:imax],itsteptime[:imax],'r-',
it[:imax],itsteptime[:imax],'b-',)
plt.legend(['# cont. el.','step time'],
fontsize='small',framealpha=0.5, loc=2)
plt.ylabel('step time')
plt.xlabel('Iteration')
plt.grid()
sp2=sp1.twinx()
plt.plot(it[:imax],cvg[:imax,4],'r-')
plt.ylabel('# of cont. elements')
plt.savefig(job)
plt.show()

eyebarって何。

.inp

eyebar.inpを見た。

*INCLUDE, INPUT= を使って、対象条件、接触条件、観察したいノード番号、強制変位するノードなどを指定するsetが書かれたファイルを読み込んでいた。

control.sur要らん気がするけど、削って試したわけではない。

板厚情報は*SOLID SECTIONで指定

*SOLID SECTION で、板厚を設定していた。外枠が1で、内側が2の板厚。
シェル要素なので断面形状はなし。beam要素だったら*BEAM SECTION,ELSET=Eall,MATERIAL=STEEL,SECTION=Rectとか書いて、断面形状を入力していた。
エレメントのセット名と、マテリアル名を指定するのは、beamと同じ。

接触
*SURFACE INTERACTION, NAME=contact 
*SURFACE BEHAVIOR, PRESSURE-OVERCLOSURE=LINEAR
1000000,0.1,0.01
*CONTACT PAIR, INTERACTION=contact, TYPE=NODE TO SURFACE
Sseye,Sspin

一行目は、contactと書いてあるけど、この段階ではただの名前(表面相互作用の名前)。
2行目からそのcontactが、どう表面相互作用するか書かれていて、
4行目で、接触のペアを、contactで指定した相互作用させると宣言して
5行目に、スレーブ、マスターの順で接触のペアをセット名で指定していた。

強制変位はSTEP内の*boundaryで指定

強制変位は*boundaryでやるようです。
最初、ファイルを見ていて、何で中心の丸が動いているのか分からなかった。
どこに、荷重とか強制変位書いてあるの?
荷重っぽい、DLOADはアスタリスク二個でコメントアウトしてあるし…
→*STEPの中の、

*BOUNDARY
Ncontrol,1,1,2

で指定されていた。

解析結果の見方

データセットは、一番数字が大きい25が最終的な結果(2mm変位させたときの結果)。
.cvgファイルの中の、INC(REMENT)の最大値分25が結果として出力された。

which.png

このデータを見たい場合は、GUIのウィンドウにマウスカーソルを入れたうえで下記を入力。

ds 122 e 7

25番目の中に入っている、122が応力のデータセット名なので、122。7以外の数値にも、いろいろな結果が入っている。

上記画像のGUIから選ぶと、Freeglutのエラーで止まる。

freeglut (cgx): Menu manipulation not allowed while menus in use.

上記のようなエラーで。

posted by yuchan at 19:00 | Comment(1) | Calculix

20200209

Calculix 10本ノック: 5本目: cgxを使ってモデル化→解析

Calculixとは

フリーの解析ソフト。

  • ccx ソルバー
  • cgx プリポスト

ノック5本目: cgxでモデル作成:梁

梁モデルを、cgxだけでモデル化する。コマンドは手打ちする。

今回はコマンドを頻繁に使う。
(重要)必ず、マウスポインターはGUIの中に入れてから、コマンド入力する。
そうでない場合、コマンドラインからの入力を受け付けてくれない。

テキストエディタにコマンドを書いておいて、

cgx -b ファイル名

をすれば、同じ内容になる。

Calculix(だけで行う解析)は、

  1. cgxによるモデル作成

  2. テキストエディタで.inpの作成

の二つが重要になってくると思ったので、やる。

点を打って、z10の所までスイープ→線になる。

pnt ! 0 0 0
seta center p all
swep center py tra 0 10 0

この状態では、何も表示されないので、

​ 点を表示したければ

plot p all

線を表示したければ

plot l all

線の名前も表示したければ、

plot la all

line_name.png

線の再定義

line L001 D001 D002 20

上記の代わりに、前述したswepの所で、

swep center py tra 0 10 0 20
と打っても同じ要素ができた。

要素タイプの選択

elty all be2

CalculiX GraphiX, Version 2.16のUser Manualに載っている要素を表にしてみた。

                 
梁beambe2be2rbe2fbe2dbe3be3rbe3f
平面三角triangletr3tr3utr3etr3str3ctr6tr6utr6etr6str6c
平面四角quadqu4qu4equ4squ4cqu4rqu4erqu4srqu4crqu8qu8equ8squ8cqu8rqu8erqu8srqu8cr
八面体hexahe8he8fhe8ihe8rhe20he20r
三角柱pentape6pe6fpe15pe15r
四面体tetrate4te4fte10te10mte10t

c: axisymmetric軸対象
e: plain strain平面ひずみ
s: plain stress平面応力
u: unstructured mesh訳がすぐに出てこなかった。(これ?),
r: reduced integration低減積分
i: incompatible modes
f: fluid element for ccx,
t: initial temperatures are interpolated linearly within the tet element (ccx:C3D10T)).

この状態では、まだエレメントは作成されていない。

mesh all

と書いて初めてエレメントができる。

ノード、エレメントの表示

エレメントができたので、ノードもできたはず。
いちいちコマンドを入力しなければ、表示されない。

plotコマンドで表示しようとすると、以前のplot結果が消えてしまうため、plusコマンドを使う。

plus n all
plus e all

node.png

出力

.inpに読ませるメッシュファイル(all.mshファイル)の出力のやり方は、

send all abq

これで、all.mshが、カレントフォルダに出力される。

all.mshには下記が書かれている。

  • ノード
    • ノードのセット名
    • ノード座標
  • エレメント
    • エレメントのエレメントタイプ
    • エレメントセット名
    • エレメントが使用しているノード番号
*NODE, NSET=Nall
1,0.000000000000e+00,0.000000000000e+00,0.000000000000e+00
2,0.000000000000e+00,0.000000000000e+00,1.000000000000e+01
3,0.000000000000e+00,0.000000000000e+00,2.000000000000e+01
4,0.000000000000e+00,0.000000000000e+00,3.000000000000e+01
5,0.000000000000e+00,0.000000000000e+00,4.000000000000e+01
6,0.000000000000e+00,0.000000000000e+00,5.000000000000e+01
7,0.000000000000e+00,0.000000000000e+00,6.000000000000e+01
8,0.000000000000e+00,0.000000000000e+00,7.000000000000e+01
9,0.000000000000e+00,0.000000000000e+00,8.000000000000e+01
10,0.000000000000e+00,0.000000000000e+00,9.000000000000e+01
11,0.000000000000e+00,0.000000000000e+00,1.000000000000e+02
*ELEMENT, TYPE=B31, ELSET=Eall
1, 1, 2
2, 2, 3
3, 3, 4
4, 4, 5
5, 5, 6
6, 6, 7
7, 7, 8
8, 8, 9
9, 9, 10
10, 10, 11



全部まとめると下記のようになった。

pnt ! 0 0 0
seta center p all

swep center py tra 0 0 10 10

##line L001 D001 D002 10

elty all be2

mesh all
send all abq

inpファイルの作成。

メッシュができたので、このまま.inpの編集をする。
全部手打ち。
サンプルファイルのコピペもありだと思う。

先ほどのcgx作業で完成したall.mshを読み込むために、下記を記入。

*INCLUDE, INPUT=all.msh

カレントフォルダになければ、アドレスを入力するしかない。

境界条件は下記で、「ノード1を1から6まで完全固定」になると思う。

*BOUNDARY1 ,1, 6

材質は、名前がSTEELで、ヤング率210000、ポアソン比0.3。

*MATERIAL,NAME=STEEL*ELASTIC210000,0.3

梁要素の断面特性は、断面を適用する要素のセット名をEall(all.mshファイル内で、定義されているエレメントのセット名)、材料は上記で設定したSTEEL、断面形状は矩形。

*BEAM SECTION,ELSET=Eall,MATERIAL=STEEL,SECTION=Rect15,151, 0, 0

解析条件は、

*step

*end step

の間に書く。

静解析の場合、書くことは

  • 静解析の指定
  • 荷重

  • 出力要求(ノード)

  • 出力要求(エレメント)

静解析の指定は下記。

*static

集中荷重は下記で、「ノード11を、1方向(X方向)へ、1000の荷重を付加」

*CLOAD11, 1, 1000.0

出力ファイルへの出力要求は、ノードの結果の場合下記で、「U (変位)」

*NODE FILEU

出力ファイルへの出力要求は、エレメントの結果の場合下記で、「S (応力)」

*el file, output=1DS

まとめるとこうなった。

*INCLUDE, INPUT=all.msh

*BOUNDARY
1 ,1,6

*MATERIAL,NAME=STEEL
*ELASTIC
210000,0.3

*BEAM SECTION,ELSET=Eall,MATERIAL=STEEL,SECTION=Rect
15,15
1., 0, 0

*step

*static

*CLOAD
11,1,1000.0

*node file
U
*el file, output=1D
S

*end step

上記をsolve.inpと名前を付けたら、下記コマンドで解析実行。

ccx solve

job finishedと出たら、

cgx -read solv.frd

マウスポインターをGUIの中に入れてから、
全変位を見たければ、下記コマンド入力する。

ds 1 e 4

もしくは、ミーゼス応力を見たければ

ds 2 e 7

hcpy_1.png

う〜ん不便。cgxでのメッシュ作成、ccx用の.inpファイル作成、全部不便。

GUIって便利だなと改めて思った。

posted by yuchan at 19:00 | Comment(0) | Calculix

Calculix 10本ノック: 4本目:cgxで四則演算、while

Calculixとは

フリーの解析ソフト。

  • ccx ソルバー
  • cgx プリポスト

環境

  • WSL

  • Xming

  • Calculix 2.11

ノック4本目:cgxで四則演算、while

cgxのを使って、たし算ひき算わり算かけ算をやる。

cgxのコマンド実行には、

  • fbdファイルに下記を書き込んで実行
  • cgxのウィンドウをアクティブにして、マウスカーソルをウィンドウ内に入れてからコマンド入力

の二つの方法がある。

Calculixのcgx内で四則演算するには、valuを使って変数に入れてから、再びvaluを使って計算する。

valuを使った計算は、値をいったん変数に入っていなければ受け付けられなかった。
値をそのまま入力できなかった。
例えば、5 + 10 = 15は、

valu v1 5
valu v2 10

prnt v

valu v3 + v1 v2

prnt v v3

同様にして、

5-10=

valu v4 - v1 v2
valu v5 * v1 v2
valu v6 / v1 v2

While構文

valu a1 0
valu a2 10
valu stop 50

while a1 < stop
valu a1 + a1 a2
prnt v a1
endwhile

.fbdファイルに保存して、実行する場合の注意点
endwhileはテキストファイルの最終行になってはいけない。さもなければ、
key:ENDWHILE from string endwhile not known
と表示されて、whileされない。

prnt v

とすると、変数名すべてを表示する。

prnt v v1のやり方だと、正しく表示してくれないような…気のせいか?

でも、これで簡単な制御ができますね。

posted by yuchan at 07:00 | Comment(0) | Calculix

20200207

Calculix 10本ノック: 3本目: exampleの実行 CAD OnshapeTutorial

Calculixとは

フリーの解析ソフト。Abaqusと書式が似ているらしい。

  • ccx ソルバー
  • cgx プリポスト

環境

  • WSL

  • Xming

  • Calculix 2.11

  • gmsh

    gmshの機能を使ってメッシングすることがある。

  • imagimagick

    hcpyで画像作成するとき、convertするので使う。

    sudo apt install imagemagick
  • pip2

  • matplotlib

ノック3本目: exampleの実行 CAD OnshapeTutorial

データの入手

公式サイトからのリンクで行けるGithubのexample

下記サイトのリンクから、自分のCalculixのバージョンにあったファイルを探す。

https://github.com/mkraska/CalculiX-Examples/releases

WSLでLinuxのフォルダを使うというのに、windowsのデスクトップに解凍してしまった。

cd "/mnt/c/Users/yusuke/Desktop/CalculiX-Examples-2.11"

でyusukeの部分を各ユーザーで移動されたし。

デスクトップにcalculixサンプルのフォルダを置く.png

pythonのバージョンは2.7

pythonで実行させる場合もある。その際は、pythonのバージョンに気を付けられたし。

WSLならpython2もpython3も入ってる。
pythonもしくはpython2と打てば、python2が起動したし、
python3と打てば、python3が起動した。

.pyファイルのprintが

print ~

とスペース区切りで書いてあったら、python2。

CAD

OnshapeTutorial

ごく小さい段差がジオメトリ上にあって、オートメッシュで切ると細かいメッシュがたくさんできる。だけど、そんな所細かく切っても意味ない。そういう形状を、calculixのジオメトリ編集機能を使ってキレイに切りなおす。(自分でやったわけではない)

拘束は、足元の変位を拘束(1,2,3)。荷重は頭っぽい位置に面荷重。

hcpy_4.png

hcpy_5.png

gmshと連携して、STEPファイル→inpファイルにできる(inpファイルはcgxが読める)。みたいな理解。

cd ./CalculiX-Examples-2.11/CAD/OnshapeTutorial
cgx -b run.fbd

run.fbdの実行→gmshの終了ですべて終わる。run.fbdの内容は、

  • gmshでノード、エレメント、荷重位置、拘束位置を出力(解析に関する命令は入っていない。)
  • 出力した.inpを読んで、loadには、圧力1を設定して出力、supportと指定したところには何も指定しないでノード番号を出力
  • あらかじめ用意されていた.inpに、上記ファイルが読み込まれる設定になっており、この.inpが実行される。
  • 結果を読み込んで画像を保存して終わり。(要imagimagick)

.inpを作りこむことが勉強になる気がするんですけど、.inpはあらかじめ作ってある。
それどころか、run.fbdを実行すれば、何を書いてあるんだか分からなくても、絵が出てきてしまうという。

cgxでの荷重、拘束の表示の仕方

cgxでは、plot機能を使えば、fbdでLOADなどに指定したsetをplotする事で表示できる。
毎回plotしてたら、前回plotした情報が消えてしまうので、plotの次は、plusを使う。

FEMAPの様な、グラフィカルな表示は期待できない。
そもそも、荷重や拘束の設定は、.inp(もしくは.dlo)で行っているから、cgxの段階では、エクスポート前のsetに過ぎない。
このsetを表示する事で、荷重、拘束の表示とか言う事はできる。

オートメッシュにあまり興味がそそられないので、適当に飛ばす。
「後で必要になったら、.fbdを参考にすればいいや」としか思えない。

animationの機能に頼らずに、結果を動画にしてみた。うつらうつらしてるみたいになってしまったのは、基本ベクトルの何倍の係数をかけるかという設定のせいだと思う。

新規.gif



WSL上だと、datasetを選択すると

freeglut (cgx): Menu manipulation not allowed while menus in use.

とか表示されてウィンドウが消えてしまう。
解決方法は、freeglutのバージョンを下げればいいらしいけど、なんか知らんが下げられなかった。

おとなしくコマンドから、

ds 2 e 7

(データセット 2 のエンティティ7を表示)とかして頑張って目的のデータを探した。

posted by yuchan at 00:00 | Comment(1) | Calculix

20200205

Calculix 10本ノック: 2本目

Calculixとは

フリーの解析ソフト。Abaqusと書式が似ているらしい。

  • ccx ソルバー
  • cgx プリポスト

ノック2本目: 解析の実行

データの入手

下記サイトのリンクから、beam.inpを取得する。

https://www.xsim.info/articles/CalculiX/Ex-Cantilever-Beam.html


WSLに入る

ubuntuを起動するために、windowsのcmdで

ubuntu

と入力。


解析の実行

当然windowsのフォルダに置いただろうから、デスクトップに置いたら

ccx -i "/mnt/c/Users/yusuke/Desktop/beam"

アドレスは”C:\Users\yusuke\Desktop\beam.inp”となる(yusukeの部分は人によって違う。私のPCの名前はyusukeなのでyusuke。)が、実行時は下記のように書き直す。

  1. c:¥ を /mnt/c/ に直す。
  2. 拡張子.inpを削る。

解析中

CalculiX Version 2.11, Copyright(C) 1998-2015 Guido Dhondt
CalculiX comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under
certain conditions, see gpl.htm


You are using an executable made on So 31. Jul 13:26:31 CEST 2016

The numbers below are estimated upper bounds

number of:

nodes: 261

#

省略

#

Job finished

 
Linuxのフォルダの場所

https://qiita.com/kalafinalice/items/70a76d35398ab11af778

ccx -i "/mnt/c/Users/yusuke/Desktop/beam"

cgx -gx -read “/mnt/c/Users/yusuke/Desktop/beam.frd”

cd /mnt/c/Users/yusuke/Desktop

cgx -b “/mnt/c/Users/yusuke/Desktop/beam.frd”


解析結果を見る2つのスタイル

cgxで解析結果を見るために、二つのスタイルがある。

  1. 解析結果の.frdファイルをそのまま読む

    cgx -b "/mnt/c/Users/yusuke/Desktop/beam.frd"

    ccxで出力された解析結果ファイルをそのまま読む方法。

  1. 解析操作のスクリプト.fbdファイルから.frdファイルを読む。

    cgx -b "/mnt/c/Users/yusuke/Desktop/kaiseki2.fbd"

    cgxでどんな描画をするかをスクリプトを書いて指定する方法。

    スクリプト内で、1のfrdファイルを読み込んでいるので、どっちにしろ.frdファイルは必要になる。

    デスクトップに置いた、ミーゼスを見るためのfbdの例。

    read /mnt/c/Users/yusuke/Desktop/beam.frd new
    ds 2 e 7
    seta base f all
    view elem
    plot f all n
    plus fv base

    一行目にあるように、ファイルのアドレスは大事。

    ファイル名しか書かないと、カレントディレクトリしか探さない。

    まだそれほど手の込んだことを考えていないので、ミーゼスを表示できれば良しとする。

beam.gif
posted by yuchan at 07:00 | Comment(310) | Calculix