- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mathematica有限元解平面三角形划分习题5.4
(*许韬 硕士1402*)
(*u [x_ ,y_] :=a0+a1*x+a2*y;
v [x_ ,y_] :=b0 +b1 *x+b2 *y*)
(*结构离散化与编号*)
30 0
nodeMatrix = 30 20 ;(*通过矩阵赋值是为了数据的导入*)
0 20
0 0
n = Length [nodeMatrix [[All, 1 ]]];
node [i_] := nodeMatrix [[i]]; Array[node, n ];
ListPlot [Array [node, n ], PlotMarkers → {Automatic, Large }, ImageSize → Small]
20
● ●
15
10
5
● ●
5 10 15 20 25 30
(*节点位移阵列*)
nodeDisplacementMatrix = Array [u, {2 n }];
{%} // MatrixForm (*添加位移边界条件*)
nodeDisplacementMatrix [[2 * 1 - 0]] = 0;
nodeDisplacementMatrix [[2 * 3 - 1]] = 0;
nodeDisplacementMatrix [[2 * 3 - 0]] = 0;
nodeDisplacementMatrix [[2 * 4 - 1]] = 0;
nodeDisplacementMatrix [[2 * 4 - 0]] = 0;
(*节点外荷载阵列*)
nodeForceMatrix = Array [r, {2 n }];
{%} // MatrixForm (*添加外力边界条件*)
nodeForceMatrix [[2 * 2]] = -1000;
(*节点约束反力阵列*)
nodeForceMatrix [[2 * 1 - 1]] = 0;
nodeForceMatrix [[2 * 1 - 0]] = ry1;
nodeForceMatrix [[2 * 2 - 1]] = 0;
nodeForceMatrix [[2 * 3 - 1]] = rx3;
nodeForceMatrix [[2 * 3 - 0]] = ry3;
nodeForceMatrix [[2 * 4 - 1]] = rx4;
nodeForceMatrix [[2 * 4 - 0]] = ry4;
{nodeForceMatrix } // MatrixForm (*添加约束反力*)
(u [1] u [2] u [3] u [4] u [5] u [6] u [7] u [8] )
(r [1] r [2] r [3] r [4] r [5] r [6] r [7] r [8] )
(0 ry1 0 - 1000 rx3 ry3 rx4 ry4 )
2 习题5.4.nb
(*各个单元描述*)
elasticity = 3 * 105 ;
thickness = 5;
µ = 0.25; (*均匀板就先把材料参数定义成常量吧*)
elementNodeMatrix = 1 2 4 ;
3 4 2
element [i_] := elementNodeMatrix [[i]];
x [i_] := {nodeMatrix [[elementNodeMatrix [[i, 1]], 1]],
nodeMatrix [[elementNodeMatrix [[i, 2]], 1]],
nodeMatrix [[elementNodeMatrix [[i, 3]], 1]]};
y [i_] := {nodeMatrix [[elementNodeMatrix [[i, 1]], 2]],
nodeMatrix [[elementNodeMatrix [[i, 2]], 2]],
文档评论(0)