トップページはこちらです。
1.0、2.0、4.0の記事の読了を前提として、操作についての記載を省略している場合があります。
ver1.1.1では近接している面を自動認識する機能が追加されていますが、ここでは使用しません。
###解析内容
- 使用ファイル
- bar-100x20x10.stp
- 単位
- mm-ton
- 材料物性値
- Aluminum (注1)
- 縦弾性係数:E=70600 [MPa]
- ポアソン比:ν=0.343
- (注1)
この値は元の例題での値です。ここでは PrePoMax の Material Library に登録済の近い値の材料を使います。
###形状の読込
PrePoMaxの新規起動または新規作業開始をしてください。
unit system:mm,ton,s,℃ に設定してください。
bar-100x20x10.stpをインポートしてください。
オブジェクト・ブラウザのGeometryタブのツリーにSolid_part-1が作成され、グラフィック・パネルには部品が表示されます。
###メッシュ作成
デフォルトのメッシュサイズのままでは粗いため計算結果が見難くなります。そのためメッシュサイズを小さくします。
GeometryタブのツリーのSolid_part-1の右クリックメニューの Meshinng Parameters。
メニューバーの場合はMesh → Meshinng Parameters。
Mesh size
Max element size = 2.5 [mm]
他はデフォルトのままで良いです。
「OK」を左クリックしてください。
Solid_part-1にCreate Meshを実行してメッシュを生成してください。
###材料物性値の設定
Material Library から材料物性値を呼び出してください。
FE ModelタブのツリーのMaterialsの右クリックメニューのMaterial Library。
メニューバーの場合はProperty→Material library。
Aluminum:1060_Alloy
セクションの設定をしてください。
FE ModelタブのツリーのSectionsの右クリックメニューのCreate。
メニューバーの場合はProperty→Section→Create。
Type = Solid section
Properties
Name = Solid_selection-1 (デフォルトのまま)
Material = 1060_Alloy
Region type = Part name
Part = Solid_part-1
「OK」を左クリック
###面の命名
面に名前を付けてください。
FE ModelタブのツリーのMeshのSurfaces の右クリックメニューのCreate。
メニューバーの場合はModel→Surfce→Create
-
Properties
Name = fix0
Surface type = Element
Region type = Selection - Surfaces, edges and vertices
- 面を選択してください。
- 「Ok-New」を左クリックしてください。
同様にして、あと2つの面の設定をしてください。
複数の面を選択するときは、Shittキーを押しながら左クリックすると面を追加できます。CTRLキーを押しながら左クリックすると選択済みの面をセットから外すことができます。
2つ目までは「OK-New」 最後の3つ目は「OK」です。
Name = fix100
Name = Surface-1
ツリーのSurfacesの下に fix0、fix100、Surface-1 が表示されます
###解析設定
解析ステップを新規作成してください。
FE ModelタブのツリーのStepsの右クリックメニューのCreate。
メニューバーの場合はStep→Step→Createです。
Type = Coupled temperature-displacement step
Data
Name = Step-1 (デフォルトのまま)
Solver = Default (デフォルトのまま)
Nlgeom = Off (デフォルトのまま)
Stedy state = On (デフォルトのまま)
Incrementation = Default (デフォルトのまま)
BCs(Boundary Conditions;境界条件)を作成してください。
FE ModelタブのツリーのStep-1/BCsの右クリックメニューのCreate。
メニューバーの場合はStep→BC→Createです。
≪固定面≫
Type = Fixed
Properties
Name = Fixed-1 (デフォルトのまま)
Region type = Surface name
Surfaces = fix0
≪表面温度≫
Type = Temperature
Properties
Name = Temperature-1 (デフォルトのまま)
Region type = Surface name
Surfaces = Surface-1
Magnitude = 120 ℃
≪先端面≫
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-1 (デフォルトのまま)
Region type = Surface name
Surfaces = fix100
U1 = 0 mm
U2 = Unconstrained
U3 = Unconstrained
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
Color = Lime (デフォルトのまま)
≪ファイル保存≫
いったんファイルを保存してください。名前は任意ですが、ここでは05_00フォルダーの05_00_a.pmxファイルとしました。
###ソルバー計算
ソルバー計算を実施してください。
###結果の表示
表示例を示します。
先端のfix100(面)ではDx=0としているため部品全体の伸びはゼロです。
先端のfix100(面)ではY方向とZ方向には拘束していないため、先端のfix0(面)と比べて大きな応力は発生していません。
###端面の拘束が無い場合
元にした例題では端面の拘束を無くした場合の計算をしているので、それも実施してみます。
さっき作成した Displacement_rotation-1を削除してください。
Displacement_rotation-1を選択状態にして右クリックメニューの中のDelete。
メニューバーの場合はStep→BC→Deleteです。
別名でファイルを保存してください。名前は任意ですが、ここでは05_00フォルダーの05_00_b.pmxファイルとしました。
ソルバー計算を実施してください。
表示例を示します
#####≪注意≫ --- 2022/02/05 追記 ---
熱膨張の計算をしているので初期温度は何℃か?というのが問題になります。
元の例題では、20℃から120℃に温度上昇させています。
PrePoMax の Material Library 登録データーの Thermal expansion/Zero temperature が 20℃だったため、初期温度も20℃になるだろうと思っていました。しかし、どうやらそうではなくて初期温度は0℃になってるようです。 別に試してみた非定常伝熱計算での挙動から、そう推測してます。オブジェクトブラウザーのツリーにあるInitial conditionsで初期温度を設定してみましたが計算条件に反映されません
###バイメタル
###解析内容
- 使用ファイル
- 5_0_BiMetal_Upper.stp と 5_0_BiMetal_Lower.stl (注2)
- サイズ:R=40mm t=3mm、 R=50mm t=3mm
- 単位
- mm-ton
- 材料物性値:Upper
- Aluminum (注3)
- 縦弾性係数:E=70600 [MPa]
- ポアソン比:ν=0.343
- 材料物性値:Lower
- Steel (注)
- 縦弾性係数:E=212000 [MPa]
- ポアソン比:ν=0.293
荷重状態
元の練習問題では物体全体を均一温度120℃にする設定をしています。ここでは表面温度を120℃とします。定常計算であり表面温度などの熱的境界条件を設定しない面は断熱条件になるため、結果的に物体全体が均一な温度120℃になります。対称性を考慮した1/4のモデルでの計算です。
fixX(面):Dx = 0 [mm] XZ平面でカットした断面
fixY(面):Dy = 0 [mm] YZ平面でカットした断面
Surface-1(図に示す4つの面):T = 120 [℃]
CtPoint(点):Dx = Dy = Dz=0 [mm] Lower部品の下の面の中心
- (注2) 元の例題の形状セットには含まれていないため作成が必要でした。 作成したファイルをこちらに置きました。
- (注3) この値は元の例題での値です。ここでは PrePoMax の Material Library に登録済の近い値の材料を使います。
≪形状の読込≫
PrePoMaxの新規起動または新規作業開始をしてください。
unit system:mm,ton,s,℃ に設定してください。
5_0_BiMetal_Upper.stpをインポートしてください。
続いて、5_0_BiMetal_Lower.stpをインポートしてください。
ツリーに表示される名前の変更ができますが、ここでは
・Upper部品のインデックス = 1
・Lower部品のインデックス = 2
という規則で設定していきます。
≪メッシュ作成≫
Solid_part-1にCreate Meshを実行してメッシュを生成してください。
Solid_part-2にCreate Meshを実行してメッシュを生成してください。
※ 番号順に操作してください。
≪材料物性値の設定≫
Material Library から材料物性値を呼び出してください。
Steel:S185
Aluminum:1060_Alloy
≪セクションの設定≫
セクションの設定をしてください。
Type = Solid section
Properties
Name = Solid_selection-1 (デフォルトのまま)
Material = 1060_Alloy
Region type = Part name
Part = Solid_part-1
Type = Solid selection
Properties
Name = Solid_selection-2 (デフォルトのまま)
Material = S185
Region type = Part name
Part = Solid_part-2
≪面/点の命名≫
面に名前を付けてください。
FE ModelタブのツリーのMeshのSurfaces の右クリックメニューのCreate。
メニューバーの場合はModel→Surfce→Create
複数の面を選択するときは、Shittキーを押しながら左クリックすると面を追加できます。CTRLキーを押しながら左クリックすると選択済みの面をセットから外すことができます。
作成する面は、既に説明済の fixX、fixY、Surface-1 に加えて、contUpper(Upper部品の下側の面)、contLower(Lower部品の上側の面)です。
Upper部品の下側の面を選択するときにはLower部品を非表示にしたほうがやりやすいでしょう。非表示と表示を切り替える方法は下記です。
Properties
Name = 各々
Surface type = Element
Region type = Selection
点に名前を付けてください。
FE ModelタブのツリーのMesh の Node sets の右クリックメニューのCreate。
メニューバーの場合はModel → Node sets → Create
Properties
Name = CtPoint
点の数、重心位置、バウンディングボックス中心は自動的に計算されます。
≪拘束面(相互作用)の設定≫
相互作用の設定をしてください。
FE ModelタブのツリーのContraints の右クリックメニューのCreate。
メニューバーの場合はInteraction→Constrant→Create
Type = Tie
Data
Name = Tie-1 (デフォルトのまま)
Position tolerance = Default (デフォルトのまま)
Adjust = Yes (デフォルトのまま)
Properties
Master region type = Surface name
Master surface = contLower
Slave region type = Surface name
Slave surface = contUpper
「Ok」を左クリックしてください。
≪解析設定≫
解析ステップを新規作成してください。
FE ModelタブのツリーのStepsの右クリックメニューのCreate。
メニューバーの場合はStep→Step→Createです。
Type = Coupled temperature-displacement step
Data
Name = Step-1 (デフォルトのまま)
Solver = Default (デフォルトのまま)
Nlgeom = Off (デフォルトのまま)
Stedy state = On (デフォルトのまま)
Incrementation = Default (デフォルトのまま)
BCs(Boundary Conditions;境界条件)を作成してください。
FE ModelタブのツリーのStep-1/BCsの右クリックメニューのCreate。
メニューバーの場合はStep→BC→Createです。
≪固定点≫
Type = Fixed
Properties
Name = Fixed-1 (デフォルトのまま)
Region type = Node set name
Surfaces = CtPoint
≪対象面:fixX≫
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-1 (デフォルトのまま)
Region type = Surface name
Surfaces = fixX
U1 = 0 mm
U2 = Unconstrained
U3 = Unconstrained
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
≪対象面:fixY≫
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-2 (デフォルトのまま)
Region type = Surface name
Surfaces = fixY
U1 = Unconstrained
U2 = 0 mm
U3 = Unconstrained
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
≪表面温度≫
Type = Temperature
Properties
Name = Temperature-1 (デフォルトのまま)
Region type = Surface name
Surfaces = Surface-1
Magnitude = 120 ℃
≪ファイル保存≫
いったんファイルを保存してください。名前は任意ですが、ここでは05_00フォルダーの05_00_BiMetal.pmxファイルとしました。
≪ソルバー計算≫
ソルバー計算を実施してください。
≪結果の表示≫
表示例を示します。
変形量をデフォルメして表示しています。
メニューバーで、Tools → Settings を左クリックしてください。
Data
Post-proccessing
Deformation
Defomation scale factor = Automatic
・Automatic は、変形量が大きい時は拡大し小さい時は縮小します。
・User difined は、スケールファクターの値を指定できます。
・True scale は、デフォルメをしません。(スケールファクターの値=1)
###初期温度の設定方法:ただし未完成
初期温度は0℃になってしまう。オブジェクトブラウザーのツリーにあるツリーにある Initial conditions の設定は機能しないようです。ここでは、初期温度を設定する方法について調べた結果を記載します。
最初に行ったバーのモデルを使います。以前に保存してある 05_00_a.pmx または 05_00_b.pmx ファイルを読み込んで、05_01_1.pmxという名前で保存してください。
保存していない人は解析設定の手前まで実施してください。既存のファイルを利用する場合は、オブジェクトブラウザーのツリーにあるツリーにあるSteps/Step-1を削除してください。
####熱連成計算について
初期温度の設定を行う前に熱連成機能の説明をします。
解析設定(Step)のところで、熱に関係しそうな選択肢として以下の3つが出てきました。
a) Heat transfer step
b) Unoupled temperature-displacement step
c) Coupled temperature-displacement step
a)は熱だけの計算で、b)とc)は熱連成計算です。
熱連成計算の方法を図示すると下の図になります。下の図にはb)とc)の違いも説明してあります。参考にさせていただいた元の例題は弱連成で行っていました。元の例題が定常状態を求める計算のため、弱連成でも強連成でも結果は変わりません。
解析ステップを新規作成してください。
Type = Heat transfer step
Data
Name = Step-1 (デフォルトのまま)
Solver = Default (デフォルトのまま)
Stedy state = On (デフォルトのまま)
Incrementation = Default (デフォルトのまま)
BCs(Boundary Conditions;境界条件)を作成してください。
≪表面温度≫
Type = Temperature
Properties
Name = Temperature-1 (デフォルトのまま)
Region type = Surface name
Surfaces = Surface-1
Temperature magnitude
Magnitude = 20 ℃
解析ステップを新規作成してください。
Type = Coupled temperature-displacement step
Data
Name = Step-1 (デフォルトのまま)
Solver = Default (デフォルトのまま)
Nlgeom = Off (デフォルトのまま)
Stedy state = On (デフォルトのまま)
Incrementation = Default (デフォルトのまま)
ここで、Type = Static step を選択するとBCsで温度が設定できません。したがってPrePomaxでは弱連成は出来ないようです。
BCs(Boundary Conditions;境界条件)を設定してください。
≪表面温度≫ Step-1から引き継がれています。
Type = Temperature
Properties
Name = Temperature-1
Region type = Surface name
Surfaces = Surface-1
Magnitude = 120 ℃ (修正)
≪fix0面とfix100面≫ 新規作成
既に命名していますが別々に指定すると煩雑なのでグラフィックパネルで選択する方法にしました。YZ平面内では自由に動くようにします。
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-1 (デフォルトのまま)
Region type = Selection
U1 = 0 mm
U2 = Unconstrained
U3 = Unconstrained
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
≪エッジ≫ 新規作成
剛体移動を防止するためのBCです。
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-2 (デフォルトのまま)
Region type = Selection
U1 = Unconstrained
U2 = 0 mm
U3 = Unconstrained
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
Type = Displacement/Rotation
Properties
Name = Displacement_rotation-3 (デフォルトのまま)
Region type = Selection
U1 = Unconstrained
U2 = Unconstrained
U3 = 0 mm
UR1 = Unconstrained
UR2 = Unconstrained
UR3 = Unconstrained
≪ソルバー計算≫
ソルバー計算を実施してください。
≪結果の表示≫
Step,Increment
1,0:初期状態
1,1:Step-1の計算が終了した状態
2,1:Step-2の計算が終了した状態
Step,Increment=1,1で温度が20℃になっているのを確認してください。応力は表示されません(グレーアウトになります)。
Step,Increment=2,1で温度が120℃になっているのを確認してください。ミーゼス応力は196.7[MPa]でした。
Material Library に登録済の材料を使ったため、物性値を調べてみると
ヤング率:69000 [MPa]
線膨張係数:24.0e-6[ 1/℃]
でした。
温度差:120 - 20 =100 [℃]
バーの初期長さ:100 [mm]
自由膨張した場合の伸び:24.0e-6 × 100 × 100 = 24.0e-2 [mm]
伸びた分だけ圧縮して、もとの長さに戻していることになるので
ひずみ:24.0e-2 ÷ (100 + 24.0e-2) = 2.394253e-3
応力:69000 × 2.394253e-3 = 165.2035 [MPa]
CAE計算との差の原因は何か不明です?
CAE計算で、ポアソン比を 0.33 から 0 にしても、メッシュの最大サイズを 2.5mm から 1mm にしても、2次要素から線形要素にしてもミーゼス応力は196.7[MPa]でした。
どうやら、設定方法が間違っているようです。(2022/02/05 22:25)
Step-1の温度を変えてもStep-2の応力が変化しません。
温度差が120℃だと、応力:69000 × 2.871729e-3 = 198.149 [MPa]で、CAE結果との差は1%未満です。
#####2段階計算のバグについて
自分の設定方法が間違っていたと思いましたが、PrePoMaxの“仕様(笑)”です。
計算するときに必ず初期化をするようになっています。Initial Condition で初期温度が設定できるにも関わらず、それが反映されません。また2段階計算をしても前のステップの結果が反映されません。オブジェクトブラウザーのツリーで設定できるだけに、トホホな感じです。
PrePoMaxは、*.iniファイルを修正するために「Edit CalculiX Keywords」機能を持っていますが、保護が掛かっている部分で変更できませんでした。つまりPrepoMaxのGUI操作では絶対にできないことが判りました。
(2022/02/05 22:25)