|
ちゃや さん、こんばんわ。
>すみません。乗せていたコードを
>Dim 弾性係数(Max要素)
>弾性係数(i)=Range("_弾性係数").OFFSET(I,0)
>のように修正していませんでした。
なおして試したコードを張ってほしかったんですけどね。
とりあえず、弾性係数に関連した部分に修正を入れてみました。
'/////////////////////// 要素ごとに読み込むためにループに入れる
Private Sub データ入力(計算フラグ)
=========略=========
For I = 1 To 要素の数
要素節点(I, 1) = .Range("_要素節点1").Offset(I, 0)
要素節点(I, 2) = .Range("_要素節点2").Offset(I, 0)
要素節点(I, 3) = .Range("_要素節点3").Offset(I, 0)
弾性係数(I) = .Range("_弾性係数").Offset(I, 0)
Next I
End With
=========略=========
End Sub
'/////////////////////// Callする時の引数の数が変更
Private Sub 剛性行列(バンド幅, 計算フラグ)
=========略=========
Call dSub(計算フラグ, M)
=========略=========
End Sub
'/////////////////////// 要素番号を渡す、弾性係数も配列
Private Sub dSub(計算フラグ, M)
=========略=========
R = 弾性係数(M) / (1# - ポアソン比 ^ 2)
=========略=========
R = 弾性係数(M) * (1# - ポアソン比) _
/ (1# + ポアソン比) / (1# - 2# * ポアソン比)
=========略=========
Dsep(3, 3) = 0.5 * 弾性係数(M) / (1# + ポアソン比)
=========略=========
End Sub
'/////////////////////// Callする時の引数の数が変更、弾性係数も配列
Private Sub 結果(計算フラグ)
=========略=========
Call dSub(計算フラグ, M)
=========略=========
歪み(M, 3) = (1# - 2# * ポアソン比) / (弾性係数(M) _
* (応力(M, 1) + 応力(M, 2))) - (Epsx + Epsy)
=========略=========
End Sub
こんな感じです。
有料な教室はいろいろあるとおもいますけど、私は知らないのでごめんなさい。
|
|