使用8、14、20节点6面体的立方体弹性固体的三维分析(python,有限元)

第十篇 使用8、14、20节点6面体的立方体弹性固体的三维分析

引言

本篇程序的整体路线基本与第七篇是类似的,所以大家可以以第七篇为参考。程序由8-14-20节点的六面体网格划分而成,其中的内置几何子程序hexahedron_xz产生以yz平面开始向y方向的节点和单元标号,具体可见下图。
在这里插入图片描述
具体的局部节点单元标号参照下图,以xz平面为顺时针编号,之后向y方向扩展
在这里插入图片描述
一个20节点六面体单元需要的积分点为27个,为了方便考虑”折减积分“,将积分点减少为8个

计算实例

在这里插入图片描述
在这里插入图片描述
节点值为20;
网格划分x方向为1,y方向为3,z方向为2,积分点为8,单元性质类型由两类;
单元性质分别有e=100.0、v=0.3(序号1)和e=50.0和v=0.3(序号2)两种;
单元对应的性质类型序号为1、2、1、2、1、2;
三个方向坐标点值为 x:0.0,0.5;
y:0.0,1.0,2.0,3.0;
z:0.0,-1.0,-2.0;
约束结点有46个(1代表自由;0代表约束)例如节点1 x,y方向约束,z方向自由;
荷载节点为8个,1、2、3、14、15、20、21、22的z方向荷载分别为(0.0417、-0.1667、0.0417、-0.1667、-0.1667、0.0417、-0.1667、0.0417);
没有固定位移和转角值。

代码

import numpy as np
import A
type_2d='plane'
element='hexahedron'
dir='y'
nxe=1
nye=3
nze=2
nst=6
np_types=2
loaded_nodes=8
fixed_freedoms=0
nod=20
nprops=2
nr=46
nodof=3
ndim=3
nip=8
nels=np.array([0])
nn=np.array([0])
A.mesh_size(element,nod,nels,nn,nxe,nye,nze)
ndof=nod*nodof
if type_2d=='axisymmetric':
    nst=4
nels=int(nels)
nn=int(nn)
#初始化定义数组
nf=np.ones((nodof,nn),dtype=np.int64)
points=np.ones((nip,ndim))
g=np.ones((ndof,1),dtype=np.int64)
g_coord=np.ones((ndim,nn))
fun=np.ones((nod,1))
coord=np.ones((nod,ndim))
jac=np.ones((ndim,ndim))
g_num=np.ones((nod,nels))
der=np.ones((ndim,nod))
deriv=np.ones((ndim,nod))
bee=np.zeros((nst,ndof))
km=np.ones((ndof,ndof))
eld=np.ones((ndof,1))
weights=np.ones((nip,1))
g_g=np.ones((ndof,nels))
prop=np.ones((nprops,np_types))
num=np.ones((nod,1),dtype=np.int64)
#x_coords=np.ones((nxe+1,1))
#y_coords=np.ones((nxe+1,1))
etype=np.ones((nels,1),dtype=np.int64)
gc=np.ones((ndim,1))
dee=np.zeros((nst,nst))
sigma=np.ones((nst,1))
if np_types==1:
  etype[:,0]=1
else:
  etype[:,0]=(1,2,1,2,1,2)
if np_types==1:
  prop[:nprops,np_types-1]=(1.0e6,0.3)
else:
  prop[0,:]=(
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深渊潜航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值