结构力学数值方法:矩阵位移法:结构力学基础理论_第1页
结构力学数值方法:矩阵位移法:结构力学基础理论_第2页
结构力学数值方法:矩阵位移法:结构力学基础理论_第3页
结构力学数值方法:矩阵位移法:结构力学基础理论_第4页
结构力学数值方法:矩阵位移法:结构力学基础理论_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构力学数值方法:矩阵位移法:结构力学基础理论1绪论1.1结构力学与数值方法的简介结构力学是研究结构在各种外力作用下变形和应力分布的学科,它为结构设计提供了理论基础。数值方法则是解决复杂结构力学问题的有效工具,通过将连续问题离散化,转化为有限数量的代数方程组,从而在计算机上求解。矩阵位移法作为结构力学数值方法的一种,是基于能量原理和变分法发展起来的,它将结构的变形问题转化为矩阵方程的求解问题,适用于各种类型的结构分析。1.2矩阵位移法的历史与发展矩阵位移法的起源可以追溯到20世纪50年代,随着计算机技术的发展,这种方法逐渐成为结构分析的主流。它最初由美国的工程师和科学家在研究火箭结构时提出,后来被广泛应用于桥梁、建筑、飞机等结构的分析和设计中。矩阵位移法的发展经历了从线性到非线性,从静态到动态,从二维到三维的不断进步,目前已经成为结构工程领域不可或缺的分析手段。1.2.1示例:使用Python实现简单的矩阵位移法下面是一个使用Python实现的简单矩阵位移法的例子,用于分析一个两端固定的梁在中间点受集中力作用下的变形。这个例子将展示如何建立结构的刚度矩阵,应用边界条件,以及求解位移和内力。importnumpyasnp

#定义材料和截面属性

E=200e9#弹性模量,单位:Pa

I=0.05**4/12#惯性矩,单位:m^4

#定义梁的长度和节点位置

L=1.0#梁的总长度,单位:m

nodes=np.array([0.0,L/2,L])#节点位置

#定义单元和节点的连接关系

elements=np.array([[1,2],[2,3]])#单元连接关系

#定义外力

F=np.array([0.0,-1000.0,0.0])#集中力,单位:N

#定义边界条件

boundary_conditions=np.array([1,0,1])#节点自由度约束,1表示固定,0表示自由

#计算单元刚度矩阵

defelement_stiffness_matrix(element,E,I):

L=nodes[element[1]]-nodes[element[0]]

k=E*I/L**3*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,12,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

returnk

#组装整体刚度矩阵

K=np.zeros((len(nodes)*2,len(nodes)*2))

forelementinelements:

k=element_stiffness_matrix(element,E,I)

foriinrange(4):

forjinrange(4):

K[2*element[i//2]+i%2,2*element[j//2]+j%2]+=k[i,j]

#应用边界条件

fori,bcinenumerate(boundary_conditions):

ifbc==1:

K[2*i,:]=0

K[:,2*i]=0

K[2*i,2*i]=1

F[2*i]=0

K[2*i+1,:]=0

K[:,2*i+1]=0

K[2*i+1,2*i+1]=1

F[2*i+1]=0

#求解位移

U=np.linalg.solve(K,F)

#计算内力

defelement_internal_force(element,U,E,I):

L=nodes[element[1]]-nodes[element[0]]

u=np.array([U[2*element[0]],U[2*element[0]+1],

U[2*element[1]],U[2*element[1]+1]])

M=E*I/L*np.array([6*(u[2]-u[0])/L**2-12*(u[1]-u[0])/L,

4*(u[1]-u[0]),

6*(u[2]-u[0])/L**2+12*(u[3]-u[2])/L,

2*(u[1]-u[0])+4*(u[3]-u[2])])

returnM

#输出结果

forelementinelements:

M=element_internal_force(element,U,E,I)

print(f"单元{element}的内力为:{M}")1.2.2代码解释定义材料和截面属性:弹性模量E和惯性矩I是梁的材料和截面属性,用于计算刚度矩阵。定义梁的长度和节点位置:L是梁的总长度,nodes数组存储了梁上各节点的位置。定义单元和节点的连接关系:elements数组描述了每个单元连接的节点。定义外力:F数组表示作用在每个节点上的外力。定义边界条件:boundary_conditions数组表示每个节点的自由度约束。计算单元刚度矩阵:element_stiffness_matrix函数根据单元的长度、材料属性和截面属性计算单元的刚度矩阵。组装整体刚度矩阵:K矩阵是整个结构的刚度矩阵,通过将每个单元的刚度矩阵相加得到。应用边界条件:对固定节点的自由度进行约束,修改刚度矩阵和外力向量。求解位移:使用np.linalg.solve函数求解位移向量U。计算内力:element_internal_force函数根据位移向量计算每个单元的内力。输出结果:打印每个单元的内力。这个例子展示了矩阵位移法的基本流程,从建立刚度矩阵到求解位移和内力,是结构力学数值方法中一个典型的简化应用。2结构力学基础2.1静力学基础静力学是结构力学的基础,主要研究结构在静止状态下的平衡条件。在静力学中,我们关注力的平衡和力矩的平衡,以确保结构在外部载荷作用下保持稳定。2.1.1力的平衡力的平衡意味着在所有方向上的合力为零。对于二维结构,我们通常考虑水平方向和垂直方向的力平衡。例如,考虑一个简单的梁,两端固定,中间受到垂直向下的力作用:F

|

v

|

||

AB其中,F是作用在梁上的力,A和B是梁两端的支撑力。为了保持平衡,A和B的合力必须等于F。2.1.2力矩的平衡力矩的平衡意味着结构上所有力产生的旋转效应相互抵消。在二维结构中,我们通常考虑绕某一点的力矩平衡。例如,对于上述梁,绕点A的力矩平衡可以表示为:F*d=B*L其中,d是力F到点A的垂直距离,L是梁的总长度。为了保持平衡,绕点A的顺时针力矩必须等于逆时针力矩。2.2材料力学基础材料力学研究材料在不同载荷下的应力、应变和变形。对于结构设计,理解材料的力学性能至关重要,以确保结构的安全性和耐久性。2.2.1应力与应变应力(σ)是单位面积上的内力,而应变(ε)是材料在载荷作用下的变形程度。对于线性弹性材料,应力和应变之间遵循胡克定律:σ=E*ε其中,E是材料的弹性模量,表示材料抵抗变形的能力。2.2.2材料的强度与刚度材料的强度是指材料抵抗破坏的能力,而刚度是指材料抵抗变形的能力。在设计结构时,必须确保所选材料的强度和刚度满足要求,以避免结构在使用过程中发生破坏或过度变形。2.3结构类型与分类结构力学中,结构可以按照不同的标准进行分类,包括结构的几何形状、支撑条件和材料类型等。2.3.1梁梁是最常见的结构类型之一,通常用于支撑水平载荷。梁可以分为简支梁、悬臂梁和连续梁等,根据其支撑条件的不同。2.3.2框架框架结构由多个梁和柱组成,可以承受多方向的载荷。框架结构的稳定性取决于梁和柱的连接方式和材料性能。2.3.3拱拱形结构利用材料的压缩性能,将垂直载荷转化为水平推力。拱形结构在古代建筑中广泛应用,如罗马拱门。2.3.4网架网架结构由多个杆件组成,形成网格状结构。网架结构可以承受较大的载荷,同时保持结构的轻量化。2.3.5材料类型结构材料可以分为金属、混凝土、木材和复合材料等。每种材料都有其独特的力学性能,适用于不同的结构类型和环境条件。通过以上内容,我们了解了结构力学中静力学基础、材料力学基础以及结构类型与分类的基本概念。在实际工程设计中,这些知识将帮助我们分析结构的稳定性、选择合适的材料和设计合理的结构形式。3矩阵位移法原理3.1位移法的基本概念位移法是结构力学中一种重要的数值分析方法,它以结构的位移作为基本未知量,通过建立结构的平衡方程和变形协调方程,求解结构在给定载荷下的响应。在位移法中,结构的内力和应变可以通过位移的导数来计算,这使得位移法在处理复杂结构时具有较高的灵活性和准确性。3.2结构的离散化3.2.1原理结构的离散化是将连续的结构模型转化为离散的单元集合,每个单元通过节点连接。这一过程是矩阵位移法的基础,它允许我们使用数值方法来解决结构力学问题。离散化后的结构可以通过单元的刚度矩阵来描述,这些矩阵最终会被组装成整体结构的刚度矩阵。3.2.2内容节点划分:结构被划分为多个节点,节点是单元的连接点,也是位移和内力的计算点。单元类型:根据结构的几何形状和材料特性,选择合适的单元类型,如梁单元、板单元、壳单元等。边界条件:定义结构的边界条件,包括固定端、铰接端、滑动端等,这些条件会影响刚度矩阵的构建。3.3单元分析与刚度矩阵3.3.1原理单元分析是计算每个单元的刚度矩阵,刚度矩阵描述了单元在给定位移下的内力响应。刚度矩阵的元素表示了单元两端节点位移与内力之间的关系。3.3.2内容局部坐标系:为每个单元定义局部坐标系,便于描述单元的几何和力学特性。刚度矩阵计算:使用单元的几何和材料属性,通过微分方程求解或能量原理,计算单元的刚度矩阵。局部到整体坐标转换:将单元的局部坐标系下的刚度矩阵转换到整体坐标系下,以便进行整体分析。3.3.3示例假设我们有一个简单的梁单元,长度为L,截面惯性矩为I,弹性模量为E。我们可以使用以下Python代码来计算该单元的刚度矩阵:importnumpyasnp

#单元属性

E=200e9#弹性模量,单位:Pa

I=0.05#截面惯性矩,单位:m^4

L=1.0#单元长度,单位:m

#计算刚度矩阵

k=(E*I/L**3)*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,12,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

print(k)这段代码首先定义了梁单元的属性,然后使用公式计算了刚度矩阵k。刚度矩阵是一个4x4的矩阵,它描述了梁单元两端节点的位移与内力之间的关系。3.4整体分析与刚度矩阵的组装3.4.1原理整体分析是将所有单元的刚度矩阵组装成一个整体结构的刚度矩阵,这个矩阵描述了整个结构的力学行为。通过求解整体刚度矩阵的方程组,可以得到结构在给定载荷下的位移响应。3.4.2内容刚度矩阵组装:将每个单元的刚度矩阵按照节点编号组装成整体结构的刚度矩阵。施加边界条件:在整体刚度矩阵中施加边界条件,如固定节点的位移为零。求解位移:使用线性代数方法求解整体刚度矩阵的方程组,得到结构的位移响应。3.4.3示例假设我们有一个由两个梁单元组成的一维结构,每个单元的刚度矩阵已经计算出来,现在我们需要将这两个刚度矩阵组装成整体结构的刚度矩阵。以下是一个Python代码示例:importnumpyasnp

#单元刚度矩阵

k1=np.array([[12,6,-12,6],

[6,4,-6,2],

[-12,-6,24,-12],

[6,2,-12,16]])

k2=np.array([[12,-6,-12,6],

[-6,4,6,-2],

[-12,6,24,-6],

[6,-2,-6,4]])

#整体刚度矩阵

K=np.zeros((6,6))

#组装刚度矩阵

K[0:4,0:4]+=k1

K[2:6,2:6]+=k2

K[2:4,0:4]-=k1[2:4,2:4]

K[0:4,2:4]-=k1[2:4,2:4]

#施加边界条件

K[0,:]=0

K[:,0]=0

K[0,0]=1

#求解位移

F=np.array([0,0,0,1000,0,0])#载荷向量

U=np.linalg.solve(K,F)#位移向量

print(U)在这个例子中,我们首先定义了两个单元的刚度矩阵k1和k2,然后创建了一个6x6的零矩阵K作为整体刚度矩阵。通过将单元刚度矩阵的相应部分添加到K中,我们完成了刚度矩阵的组装。接着,我们施加了边界条件,假设第一个节点是固定的。最后,我们使用线性代数的求解方法,求解了整体刚度矩阵的方程组,得到了结构的位移响应U。通过以上步骤,我们可以使用矩阵位移法来分析和求解复杂的结构力学问题,这种方法在现代工程设计和分析中被广泛应用。4矩阵位移法应用4.1平面框架的分析矩阵位移法是结构力学中一种重要的数值分析方法,尤其适用于框架结构的分析。在平面框架分析中,我们关注的是结构在平面内的行为,通常包括梁和柱的组合。此方法基于结构的平衡条件和变形协调条件,通过建立结构的刚度矩阵和载荷矩阵,求解结构的位移、内力和应力。4.1.1原理平面框架的分析中,每个节点有三个自由度:两个线位移和一个角位移。刚度矩阵反映了结构对载荷的抵抗能力,其元素表示单位位移引起的力。载荷矩阵则表示作用在结构上的外力和力矩。4.1.2内容建立局部坐标系和全局坐标系:局部坐标系通常与梁的轴线一致,而全局坐标系则为整个结构的参考坐标系。计算单元刚度矩阵:对于梁和柱,根据其几何和材料属性,使用微分方程或能量原理推导出局部坐标系下的单元刚度矩阵。转换局部刚度矩阵到全局刚度矩阵:使用坐标转换矩阵将局部刚度矩阵转换到全局坐标系下,以便进行整体结构分析。组装整体刚度矩阵:将所有单元的刚度矩阵按节点自由度组装成整体刚度矩阵。施加边界条件:根据结构的支撑情况,修改整体刚度矩阵和载荷矩阵,消除固定节点的自由度。求解位移向量:使用线性代数方法求解整体刚度矩阵和载荷矩阵的方程组,得到节点位移向量。计算内力和应力:根据节点位移向量,反求每个单元的内力和应力。4.1.3示例假设有一个简单的平面框架,由两根梁和一个柱组成,形成一个L形结构。我们使用Python和NumPy库来演示如何进行分析。importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

I=0.01#惯性矩,单位:m^4

A=0.1#截面面积,单位:m^2

L=4#单元长度,单位:m

#单元刚度矩阵(局部坐标系)

k_local=(E*I/L**3)*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,12,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

#坐标转换矩阵

T=np.array([[1,0,0,0],

[0,1,0,0],

[0,0,1,0],

[0,0,0,1]])

#转换到全局坐标系

k_global=T.T@k_local@T

#整体刚度矩阵

K=np.zeros((6,6))

K[0:4,0:4]+=k_global

K[2:6,2:6]+=k_global

#载荷矩阵

F=np.array([0,-100e3,0,0,0,0])#单位:N

#施加边界条件

K[0,:]=0

K[:,0]=0

K[0,0]=1

F[0]=0

#求解位移向量

U=np.linalg.solve(K,F)

#计算内力

N=E*A*U[0]/L

M=E*I*(U[2]-U[0])/L

print("节点位移向量:",U)

print("轴力:",N)

print("弯矩:",M)4.2维框架的分析三维框架分析考虑结构在三维空间中的行为,增加了结构的复杂性和分析的维度。每个节点有六个自由度:三个线位移和三个角位移。4.2.1原理三维框架的分析与平面框架类似,但需要处理更复杂的坐标转换和刚度矩阵。单元刚度矩阵的维度更大,需要考虑轴向变形、剪切变形和弯曲变形。4.2.2内容定义单元的局部坐标系:在三维空间中,每个单元需要定义三个正交的局部坐标轴。计算单元刚度矩阵:根据单元的几何和材料属性,使用三维梁柱的微分方程或能量原理推导出局部坐标系下的单元刚度矩阵。坐标转换:使用坐标转换矩阵将局部刚度矩阵转换到全局坐标系下。组装整体刚度矩阵:将所有单元的刚度矩阵按节点自由度组装成整体刚度矩阵。施加边界条件和载荷:根据结构的支撑情况和外力,修改整体刚度矩阵和载荷矩阵。求解位移向量:使用线性代数方法求解整体刚度矩阵和载荷矩阵的方程组,得到节点位移向量。计算内力和应力:根据节点位移向量,反求每个单元的内力和应力。4.2.3示例三维框架的分析通常需要更复杂的数学和编程技巧,以下是一个简化示例,展示如何使用Python和NumPy处理三维框架的刚度矩阵。importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

I=0.01#惯性矩,单位:m^4

A=0.1#截面面积,单位:m^2

L=4#单元长度,单位:m

#单元刚度矩阵(局部坐标系)

k_local=(E*I/L**3)*np.array([[12,6*L,0,-12,6*L,0],

[6*L,4*L**2,0,-6*L,2*L**2,0],

[0,0,0,0,0,0],

[-12,-6*L,0,12,-6*L,0],

[6*L,2*L**2,0,-6*L,4*L**2,0],

[0,0,0,0,0,0]])

#坐标转换矩阵(假设单元沿x轴)

T=np.array([[1,0,0,0,0,0],

[0,1,0,0,0,0],

[0,0,1,0,0,0],

[0,0,0,1,0,0],

[0,0,0,0,1,0],

[0,0,0,0,0,1]])

#转换到全局坐标系

k_global=T.T@k_local@T

#整体刚度矩阵(假设结构由两个单元组成)

K=np.zeros((12,12))

K[0:6,0:6]+=k_global

K[6:12,6:12]+=k_global

#载荷矩阵

F=np.array([0,-100e3,0,0,0,0,0,0,0,0,0,0])#单位:N

#施加边界条件

K[0,:]=0

K[:,0]=0

K[0,0]=1

F[0]=0

#求解位移向量

U=np.linalg.solve(K,F)

#计算内力

N=E*A*U[0]/L

Mx=E*I*(U[2]-U[0])/L

My=E*I*(U[5]-U[3])/L

print("节点位移向量:",U)

print("轴力:",N)

print("弯矩(x方向):",Mx)

print("弯矩(y方向):",My)4.3连续梁与桁架的分析连续梁和桁架是结构力学中常见的结构类型,它们的分析可以通过矩阵位移法进行简化和自动化。4.3.1原理连续梁的分析需要考虑梁之间的连续性和变形协调,而桁架的分析则主要关注杆件的轴向变形。两者都使用刚度矩阵和载荷矩阵来求解结构的响应。4.3.2内容定义单元和节点:对于连续梁,单元为梁段;对于桁架,单元为杆件。计算单元刚度矩阵:根据单元的几何和材料属性,使用相应的微分方程或能量原理推导出单元刚度矩阵。组装整体刚度矩阵:将所有单元的刚度矩阵按节点自由度组装成整体刚度矩阵。施加边界条件和载荷:根据结构的支撑情况和外力,修改整体刚度矩阵和载荷矩阵。求解位移向量:使用线性代数方法求解整体刚度矩阵和载荷矩阵的方程组,得到节点位移向量。计算内力和应力:根据节点位移向量,反求每个单元的内力和应力。4.3.3示例连续梁的分析可以通过以下Python代码示例来展示,这里我们分析一个简单的三跨连续梁。importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

I=0.01#惯性矩,单位:m^4

A=0.1#截面面积,单位:m^2

L=4#单元长度,单位:m

#单元刚度矩阵(局部坐标系)

k_local=(E*I/L**3)*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,24,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

#整体刚度矩阵

K=np.zeros((8,8))

K[0:4,0:4]+=k_local

K[2:6,2:6]+=k_local

K[4:8,4:8]+=k_local

#载荷矩阵

F=np.array([0,-100e3,0,0,0,-100e3,0,0])#单位:N

#施加边界条件

K[0,:]=0

K[:,0]=0

K[0,0]=1

F[0]=0

K[4,:]=0

K[:,4]=0

K[4,4]=1

F[4]=0

#求解位移向量

U=np.linalg.solve(K,F)

#计算内力

N=E*A*U[0]/L

M=E*I*(U[2]-U[0])/L

print("节点位移向量:",U)

print("轴力:",N)

print("弯矩:",M)桁架的分析则主要关注杆件的轴向变形,以下是一个桁架分析的简化示例。importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

A=0.1#截面面积,单位:m^2

L=4#单元长度,单位:m

#单元刚度矩阵(局部坐标系)

k_local=(E*A/L)*np.array([[1,-1],

[-1,1]])

#整体刚度矩阵(假设桁架由两个杆件组成)

K=np.zeros((4,4))

K[0:2,0:2]+=k_local

K[2:4,2:4]+=k_local

#载荷矩阵

F=np.array([0,-100e3,0,0])#单位:N

#施加边界条件

K[0,:]=0

K[:,0]=0

K[0,0]=1

F[0]=0

#求解位移向量

U=np.linalg.solve(K,F)

#计算内力

N=E*A*U[0]/L

print("节点位移向量:",U)

print("轴力:",N)以上示例展示了如何使用矩阵位移法分析平面框架、三维框架、连续梁和桁架。通过这些代码,我们可以看到矩阵位移法在结构力学分析中的应用和计算过程。5边界条件与荷载5.1边界条件的处理边界条件在结构力学数值分析中至关重要,它们定义了结构的约束情况,直接影响结构的响应。边界条件可以分为几种类型:固定边界、铰接边界、滑动边界等。在矩阵位移法中,边界条件的处理通常涉及修改结构的刚度矩阵和位移向量。5.1.1固定边界条件固定边界意味着在该点结构不能发生任何位移。在矩阵位移法中,处理固定边界条件时,需要将刚度矩阵中对应于固定自由度的行和列删除,同时将位移向量中对应于固定自由度的值设置为零。5.1.2铰接边界条件铰接边界允许结构在铰接点处发生转动,但不能发生线性位移。处理铰接边界条件时,只需将刚度矩阵中对应于线性位移自由度的行和列删除,而保留转动自由度。5.1.3滑动边界条件滑动边界允许结构沿特定方向滑动,但不能发生垂直于该方向的位移。处理滑动边界条件时,需要将刚度矩阵中对应于垂直方向位移自由度的行和列删除,同时将位移向量中对应于垂直方向位移自由度的值设置为零。5.1.4示例:处理固定边界条件假设我们有一个简单的结构,由两个节点和一个梁组成,每个节点有三个自由度(两个线性位移和一个转动)。结构的刚度矩阵为K,位移向量为U。如果节点1是固定边界,我们可以这样处理:importnumpyasnp

#初始刚度矩阵K和位移向量U

K=np.array([[4,1,0,0,0,0],

[1,3,0,0,0,0],

[0,0,2,0,0,0],

[0,0,0,5,2,0],

[0,0,0,2,4,0],

[0,0,0,0,0,1]])

U=np.array([0,0,0,0,0,0])

#处理固定边界条件

#节点1的自由度为0,1,2

fixed_dofs=[0,1,2]

#删除刚度矩阵中固定自由度的行和列

K_reduced=np.delete(np.delete(K,fixed_dofs,axis=0),fixed_dofs,axis=1)

#将位移向量中固定自由度的值设置为零

U_reduced=np.delete(U,fixed_dofs)

#输出处理后的刚度矩阵和位移向量

print("处理后的刚度矩阵K:")

print(K_reduced)

print("处理后的位移向量U:")

print(U_reduced)5.2荷载的施加与转换荷载的施加是结构力学分析中的另一个关键步骤。荷载可以是集中力、分布力、扭矩等。在矩阵位移法中,荷载通常被转换为节点荷载向量,然后与结构的刚度矩阵和位移向量一起求解。5.2.1集中力集中力作用于结构的特定点。在矩阵位移法中,集中力直接加到节点荷载向量的对应位置。5.2.2分布力分布力作用于结构的连续区域。处理分布力时,需要将其转换为等效的节点荷载。这通常通过积分或平均分布力在每个单元上的作用来实现。5.2.3扭矩扭矩作用于结构的转动自由度。在矩阵位移法中,扭矩被加到节点荷载向量中对应于转动自由度的位置。5.2.4示例:施加集中力继续使用上述的结构,假设在节点2上施加了一个集中力F,方向为线性位移自由度3,大小为100N。我们可以这样修改节点荷载向量:#初始节点荷载向量F

F=np.array([0,0,0,0,0,0])

#施加集中力

#节点2的自由度为3

force_dof=3

force_magnitude=100

#修改节点荷载向量

F[force_dof]=force_magnitude

#输出修改后的节点荷载向量

print("施加集中力后的节点荷载向量F:")

print(F)5.2.5示例:处理分布力假设在梁上有一个均匀分布的力,大小为50N/m,作用于整个梁的长度。为了简化,我们假设梁被分为两个相等的单元,每个单元的长度为1m。我们可以计算每个单元的等效节点荷载,然后加到节点荷载向量中:#每个单元的长度

element_length=1

#分布力的大小

distributed_force_magnitude=50

#计算等效节点荷载

#对于均匀分布力,等效节点荷载为分布力大小乘以单元长度的一半

equivalent_force=distributed_force_magnitude*element_length/2

#修改节点荷载向量

#分布力作用于线性位移自由度1和4

F[1]+=equivalent_force

F[4]+=equivalent_force

#输出修改后的节点荷载向量

print("处理分布力后的节点荷载向量F:")

print(F)通过上述方法,我们可以有效地处理边界条件和施加荷载,为结构力学的数值分析提供必要的输入。这些步骤是矩阵位移法中不可或缺的一部分,确保了分析的准确性和可靠性。6求解方法在结构力学数值方法中,矩阵位移法是解决结构分析问题的关键技术。它通过将结构离散化为有限个单元,建立单元的刚度矩阵,然后组合成整体结构的刚度矩阵,从而求解结构在给定载荷下的位移和内力。求解方法主要分为两大类:直接求解方法和迭代求解方法。选择合适的求解器对于提高计算效率和准确性至关重要。6.1直接求解方法直接求解方法通常包括高斯消元法、LU分解法、Cholesky分解法等。这些方法通过一系列的数学操作,将原方程组转换为易于求解的形式,从而直接得到结构的位移解。6.1.1高斯消元法高斯消元法是一种基本的直接求解方法,它通过行变换将系数矩阵转换为上三角矩阵,然后通过回代求解未知数。6.1.1.1示例:使用Python求解线性方程组假设我们有以下线性方程组:2使用高斯消元法求解:importnumpyasnp

#系数矩阵和常数向量

A=np.array([[2,1],[1,2]])

b=np.array([5,3])

#高斯消元法求解

x=np.linalg.solve(A,b)

print(x)6.1.2LU分解法LU分解法将系数矩阵分解为一个下三角矩阵L和一个上三角矩阵U的乘积,然后分别求解两个三角矩阵的方程组。6.1.2.1示例:使用Python进行LU分解并求解假设我们有以下线性方程组:2使用LU分解法求解:importnumpyasnp

fromscipy.linalgimportlu

#系数矩阵和常数向量

A=np.array([[2,1,1],[1,3,2],[1,1,4]])

b=np.array([5,12,14])

#LU分解

P,L,U=lu(A)

#求解Ly=Pb

y=np.linalg.solve(L,np.dot(P,b))

#求解Ux=y

x=np.linalg.solve(U,y)

print(x)6.2迭代求解方法迭代求解方法包括Jacobi迭代法、Gauss-Seidel迭代法、共轭梯度法等。这些方法通过逐步逼近的方式,迭代求解未知数,直到满足收敛条件。6.2.1Jacobi迭代法Jacobi迭代法是一种简单的迭代求解方法,它将系数矩阵的对角线元素用于迭代更新,而其他元素保持不变。6.2.1.1示例:使用Python实现Jacobi迭代法假设我们有以下线性方程组:4使用Jacobi迭代法求解:importnumpyasnp

#系数矩阵和常数向量

A=np.array([[4,-1,2],[-1,4,-1],[2,-1,4]])

b=np.array([3,1,5])

#初始解向量

x=np.zeros(3)

#迭代次数和收敛条件

max_iter=100

tolerance=1e-6

#Jacobi迭代法

foriinrange(max_iter):

x_new=np.zeros(3)

forjinrange(3):

s1=np.dot(A[j,:j],x[:j])

s2=np.dot(A[j,j+1:],x[j+1:])

x_new[j]=(b[j]-s1-s2)/A[j,j]

ifnp.linalg.norm(x_new-x)<tolerance:

break

x=x_new

print(x)6.2.2求解器的选择与应用选择求解器时,需要考虑问题的规模、矩阵的性质(如稀疏性、对称性)、计算资源和求解速度等因素。对于大规模问题,迭代求解方法通常更有效;对于小规模问题,直接求解方法可能更快速。6.2.2.1示例:比较不同求解器的性能使用Python和NumPy库,比较高斯消元法和共轭梯度法求解大规模稀疏矩阵线性方程组的性能:importnumpyasnp

fromscipy.sparseimportcsc_matrix

fromscipy.sparse.linalgimportcg

fromtimeimporttime

#生成一个大规模稀疏矩阵

n=10000

A=csc_matrix((np.ones(n),(np.arange(n),np.arange(n))),shape=(n,n))

A=A+A.T+csc_matrix((np.ones(n),(np.arange(n),np.arange(n))),shape=(n,n))

#生成常数向量

b=np.ones(n)

#高斯消元法求解

start_time=time()

x_direct=np.linalg.solve(A.toarray(),b)

end_time=time()

print("Directmethodtime:",end_time-start_time)

#共轭梯度法求解

start_time=time()

x_cg,_=cg(A,b)

end_time=time()

print("Conjugategradientmethodtime:",end_time-start_time)通过比较两种方法的运行时间,可以评估它们在处理大规模稀疏矩阵时的性能差异。在实际应用中,根据问题的具体情况选择最合适的求解器是至关重要的。7后处理与结果分析7.1位移与应力的计算位移与应力的计算是结构力学数值方法中矩阵位移法应用的关键步骤。在求解结构的平衡方程后,我们得到的是节点位移向量。基于这些位移,可以进一步计算结构内部的应力分布,这对于评估结构的安全性和性能至关重要。7.1.1位移计算位移计算直接基于求解的节点位移向量。在有限元分析中,结构被离散成多个单元,每个单元的位移可以通过插值函数从节点位移计算得出。7.1.2应力计算应力计算则依赖于单元的应变状态和材料属性。在弹性范围内,应力与应变的关系遵循胡克定律,即σ其中,σ是应力,ϵ是应变,E是弹性模量。7.1.2.1示例:计算梁单元的应力假设我们有一个简单的梁单元,其长度为L,截面面积为A,弹性模量为E。节点位移向量为{u,v,w,#Python示例代码

importnumpyasnp

#定义材料属性和几何参数

E=200e9#弹性模量,单位:Pa

I=1e-4#截面惯性矩,单位:m^4

A=1e-2#截面面积,单位:m^2

L=1.0#单元长度,单位:m

#节点位移向量

u=np.array([0.0,0.0,0.0,0.001])

#计算应变

#对于梁单元,应变主要由转角位移决定

epsilon=u[3]*L/I

#计算应力

sigma=E*epsilon

print("梁单元的应力为:",sigma,"Pa")7.1.3解释在上述示例中,我们首先定义了梁单元的材料属性和几何参数。然后,我们计算了基于节点位移的应变,最后通过胡克定律计算了应力。这个过程在实际的结构分析软件中会自动进行,但对于理解原理非常重要。7.2模态分析模态分析是结构动力学的一个重要组成部分,它用于确定结构的固有频率和模态形状。通过模态分析,工程师可以了解结构在不同频率下的振动特性,这对于设计和避免共振至关重要。7.2.1原理模态分析基于结构的刚度矩阵K和质量矩阵M,通过求解特征值问题K其中,ϕ是模态形状向量,ω是固有频率,可以得到结构的模态信息。7.2.1.1示例:计算简单结构的模态考虑一个由两个弹簧和一个质量块组成的简单系统,其刚度矩阵和质量矩阵分别为K#Python示例代码

importnumpyasnp

fromscipy.linalgimporteig

#定义刚度矩阵和质量矩阵

k=1000#弹簧刚度,单位:N/m

m=1.0#质量,单位:kg

K=np.array([[k,-k],[-k,k]])

M=np.array([[m,0],[0,m]])

#求解特征值问题

eigenvalues,eigenvectors=eig(K,M)

#计算固有频率

omega=np.sqrt(eigenvalues)

#输出模态信息

foriinrange(len(omega)):

print("模态",i+1,"的固有频率为:",omega[i],"rad/s")

print("模态形状为:",eigenvectors[:,i])7.2.2解释在模态分析示例中,我们使用了scipy.linalg.eig函数来求解特征值问题,从而得到固有频率和模态形状。这个过程在复杂结构中会更加复杂,但基本原理相同。7.3结构优化与灵敏度分析结构优化与灵敏度分析是设计阶段的重要工具,用于改进结构性能和评估设计参数变化对结构响应的影响。7.3.1灵敏度分析灵敏度分析通过计算设计参数对结构响应(如位移、应力)的影响程度,帮助工程师理解设计的敏感点。这通常涉及到对设计参数的微小变化进行响应分析。7.3.2结构优化结构优化的目标是通过调整设计参数(如截面尺寸、材料属性)来最小化或最大化某个目标函数(如结构重量、成本),同时满足一定的约束条件(如应力限制、位移限制)。7.3.2.1示例:基于灵敏度分析的结构优化假设我们正在设计一个梁,需要优化其截面尺寸b和h,以最小化结构重量,同时确保最大应力不超过材料的许用应力。#Python示例代码

importnumpyasnp

fromscipy.optimizeimportminimize

#定义目标函数:结构重量

defweight(b,h):

returnb*h*L*rho

#定义约束函数:最大应力

defmax_stress(b,h):

returnsigma_max-(M_max*h/(2*b*I))

#定义设计参数和初始值

b0=0.1#初始宽度,单位:m

h0=0.2#初始高度,单位:m

rho=7800#材料密度,单位:kg/m^3

sigma_max=100e6#许用应力,单位:Pa

M_max=1000#最大弯矩,单位:Nm

#进行优化

res=minimize(weight,[b0,h0],method='SLSQP',constraints={'type':'ineq','fun':max_stress})

#输出优化结果

print("优化后的截面尺寸为:",res.x)7.3.3解释在结构优化示例中,我们使用了scipy.optimize.minimize函数来求解优化问题。目标函数是结构重量,约束函数确保最大应力不超过许用值。通过调整设计参数,我们找到了满足约束条件下的最优解。通过以上三个部分的详细讲解,我们不仅了解了位移与应力计算、模态分析以及结构优化与灵敏度分析的基本原理,还通过具体的Python代码示例,展示了如何在实际中应用这些理论。这对于深入理解结构力学数值方法中的矩阵位移法,以及如何在工程设计中有效利用这些技术,提供了宝贵的指导。8案例研究8.1桥梁结构分析桥梁结构分析是结构力学数值方法中的一个重要应用,特别是在矩阵位移法的框架下。此方法通过建立桥梁结构的数学模型,利用矩阵运算来求解结构在各种荷载作用下的响应,包括位移、应力和应变等。下面,我们将通过一个简化的桥梁模型来展示如何使用矩阵位移法进行分析。8.1.1模型描述假设我们有一座简支梁桥,由三个等截面的梁组成,每个梁的长度为10米,材料为混凝土,弹性模量为30GPa,截面惯性矩为1.5x10^6mm^4。桥梁受到均匀分布的荷载作用,荷载强度为10kN/m。8.1.2分析步骤建立节点和单元:将桥梁结构离散化为多个节点和单元,每个梁视为一个单元,梁的两端为节点。定义刚度矩阵:对于每个单元,根据其几何和材料属性,计算其局部刚度矩阵。组装整体刚度矩阵:将所有单元的局部刚度矩阵组装成整体刚度矩阵。施加边界条件:确定哪些节点是固定的,哪些节点可以自由移动,修改整体刚度矩阵以反映这些边界条件。求解位移:利用修改后的整体刚度矩阵和荷载向量,求解节点位移。计算应力和应变:根据节点位移,计算每个单元的应力和应变。8.1.3代码示例#Python示例代码,使用numpy库进行矩阵运算

importnumpyasnp

#定义材料和几何属性

E=30e9#弹性模量,单位:Pa

I=1.5e6#截面惯性矩,单位:mm^4

L=10#单元长度,单位:m

q=10e3#荷载强度,单位:N/m

#计算局部刚度矩阵

k_local=(E*I/L**3)*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,12,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

#组装整体刚度矩阵

#假设我们有三个单元,每个单元有两个节点,每个节点有两个自由度(竖向位移和转角)

K=np.zeros((8,8))

K[0:4,0:4]+=k_local

K[2:6,2:6]+=k_local

K[4:8,4:8]+=k_local

#施加边界条件

#假设第一个节点和最后一个节点固定

K[0,:]=0

K[:,0]=0

K[0,0]=1

K[7,:]=0

K[:,7]=0

K[7,7]=1

#定义荷载向量

#假设荷载均匀分布在每个单元上

F=np.zeros(8)

F[1]=-q*L/2

F[3]=-q*L/2

F[5]=-q*L/2

F[7]=-q*L/2

#求解位移

U=np.linalg.solve(K,F)

#计算应力和应变

#应力计算公式简化为:σ=-q*x/2

#应变计算公式简化为:ε=σ/E

stress=-q*np.array([L/2,L,L/2])/2

strain=stress/E8.1.4结果解释上述代码中,我们首先定义了桥梁的材料和几何属性,然后计算了局部刚度矩阵,并将其组装成整体刚度矩阵。通过施加边界条件和定义荷载向量,我们使用numpy.linalg.solve函数求解了节点位移。最后,我们简化计算了应力和应变,这在实际应用中会更复杂,需要考虑位移对单元变形的影响。8.2高层建筑框架分析高层建筑框架分析同样依赖于矩阵位移法,它涉及到更复杂的结构体系,如多层框架结构。分析时,需要考虑结构的三维特性,包括水平和竖向荷载的影响。8.2.1模型描述假设我们分析一个简单的三层框架结构,每层高度为3米,框架柱截面为0.5x0.5米,材料为钢,弹性模量为200GPa。结构受到风荷载和自重荷载的作用。8.2.2分析步骤建立节点和单元:将框架结构离散化,每个柱和梁视为一个单元。定义刚度矩阵:计算每个单元的局部刚度矩阵,考虑三维空间中的刚度。组装整体刚度矩阵:将所有局部刚度矩阵组装成整体刚度矩阵。施加边界条件:确定哪些节点是固定的,哪些节点可以自由移动。求解位移:利用整体刚度矩阵和荷载向量,求解节点位移。计算应力和应变:根据节点位移,计算每个单元的应力和应变。8.2.3代码示例#Python示例代码,使用numpy库进行矩阵运算

importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

A=0.5*0.5#柱截面积,单位:m^2

I=0.5**4/12#柱截面惯性矩,单位:m^4

L=3#单元长度,单位:m

rho=7850#钢的密度,单位:kg/m^3

g=9.8#重力加速度,单位:m/s^2

wind_load=1000#风荷载强度,单位:N/m^2

#计算局部刚度矩阵

#三维框架结构的局部刚度矩阵更复杂,这里简化为仅考虑竖向和水平方向

k_local=(E*A/L)*np.array([[1,-1],

[-1,1]])

k_local_bending=(E*I/L**3)*np.array([[12,6*L,-12,6*L],

[6*L,4*L**2,-6*L,2*L**2],

[-12,-6*L,12,-6*L],

[6*L,2*L**2,-6*L,4*L**2]])

#组装整体刚度矩阵

#假设我们有三个层,每层有四个节点,每个节点有两个自由度(竖向位移和水平位移)

K=np.zeros((16,16))

foriinrange(3):

K[2*i:2*i+4,2*i:2*i+4]+=k_local

K[2*i+1:2*i+5,2*i+1:2*i+5]+=k_local_bending

#施加边界条件

#假设底部节点固定

K[0,:]=0

K[:,0]=0

K[0,0]=1

K[1,:]=0

K[:,1]=0

K[1,1]=1

#定义荷载向量

#考虑自重和风荷载

F=np.zeros(16)

foriinrange(3):

F[2*i+2]=-rho*A*g*L#自重荷载

F[2*i+3]=-wind_load*L#风荷载

#求解位移

U=np.linalg.solve(K,F)

#计算应力和应变

#应力计算公式简化为:σ=F/A

#应变计算公式简化为:ε=σ/E

stress=F[2::2]/A

strain=stress/E8.2.4结果解释在高层建筑框架分析的代码示例中,我们首先定义了框架的材料和几何属性,然后计算了局部刚度矩阵,包括考虑竖向和水平方向的刚度。通过组装整体刚度矩阵,施加边界条件,定义荷载向量,我们求解了节点位移。最后,我们简化计算了应力和应变,实际应用中需要考虑框架结构的复杂性,如剪切、扭转等效应。8.3工业厂房桁架分析工业厂房桁架分析是结构力学数值方法中的另一个重要应用,桁架结构由一系列直杆组成,主要承受轴向力。8.3.1模型描述假设我们分析一个简单的工业厂房桁架,由10个节点和15个杆件组成,杆件材料为钢,弹性模量为200GPa,截面积为0.01平方米。桁架受到屋顶雪荷载和自重荷载的作用。8.3.2分析步骤建立节点和单元:将桁架结构离散化为多个节点和单元。定义刚度矩阵:计算每个单元的局部刚度矩阵,考虑轴向刚度。组装整体刚度矩阵:将所有局部刚度矩阵组装成整体刚度矩阵。施加边界条件:确定哪些节点是固定的,哪些节点可以自由移动。求解位移:利用整体刚度矩阵和荷载向量,求解节点位移。计算应力和应变:根据节点位移,计算每个单元的应力和应变。8.3.3代码示例#Python示例代码,使用numpy库进行矩阵运算

importnumpyasnp

#定义材料和几何属性

E=200e9#弹性模量,单位:Pa

A=0.01#杆件截面积,单位:m^2

rho=7850#钢的密度,单位:kg/m^3

g=9.8#重力加速度,单位:m/s^2

snow_load=500#屋顶雪荷载强度,单位:N/m^2

#计算局部刚度矩阵

#桁架结构的局部刚度矩阵仅考虑轴向刚度

k_local=(E*A/L)*np.array([[1,-1],

[-1,1]])

#组装整体刚度矩阵

#假设我们有10个节点,每个节点有两个自由度(竖向位移和水平位移)

K=np.zeros((20,20))

#假设桁架由15个杆件组成,这里简化为直接填充刚度矩阵

#实际应用中,需要根据杆件的连接方式和方向来计算和填充

#以下代码仅为示例,实际填充方式会更复杂

K[0:2,0:2]+=k_local

K[2:4,2:4]+=k_local

#...重复填充直到所有杆件的局部刚度矩阵都被考虑

#施加边界条件

#假设底部节点固定

K[0,:]=0

K[:,0]=0

K[0,0]=1

K[1,:]=0

K[:,1]=0

K[1,1]=1

#定义荷载向量

#考虑自重和雪荷载

F=np.zeros(20)

foriinrange(10):

F[2*i+1]=-rho*A*g*L#自重荷载

ifi>5:#假设雪荷载仅作用于屋顶节点

F[2*i+1]+=-snow_load*L#雪荷载

#求解位移

U=np.linalg.solve(K,F)

#计算应力和应变

#应力计算公式简化为:σ=F/A

#应变计算公式简化为:ε=σ/E

stress=F[1::2]/A

strain=stress/E8.3.4结果解释在工业厂房桁架分析的代码示例中,我们首先定义了桁架的材料和几何属性,然后计算了局部刚度矩阵,仅考虑轴向刚度。通过组装整体刚度矩阵,施加边界条件,定义荷载向量,我们求解了节点位移。最后,我们简化计算了应力和应变,实际应用中需要根据桁架的具体结构和荷载分布来精确计算。以上三个案例研究展示了矩阵位移法在不同结构分析中的应用,通过建立数学模型,利用矩阵运算求解结构响应,为结构设计和安全评估提供了重要的数值工具。9软件工具与实践9.1常用结构分析软件介绍在结构力学领域,数值方法如矩阵位移法被广泛应用于结构分析和设计中。为了高效地进行这些计算,工程师们依赖于一系列专业软件。以下是一些在结构分析中常用的软件:ANSYS-ANSYS是一款多功能的工程仿真软件,提供广泛的分析功能,包括结构力学、流体动力学、电磁学等。它支持线性和非线性分析,能够处理复杂的结构问题。ABAQUS-ABAQUS是另一款强大的有限元分析软件,特别擅长于解决非线性问题,如塑性、蠕变、接触和大变形等。它提供了丰富的材料模型和单元类型。SAP2000-SAP2000是一款专门用于结构分析和设计的软件,特别适用于建筑结构。它能够进行静力、动力和非线性分析,提供直观的用户界面和强大的后处理功能。ETABS-ETABS是结构工程师在建筑结构设计中常用的软件,尤其在高层建筑和复杂结构的分析中。它集成了建模、分析、设计和绘图功能。MATLAB-虽然MATLAB主要用于数值计算和算法开发,但它也提供了强大的工具箱,如“PartialDifferentialEquationToolbox”,可以用于结构力学的有限元分析。9.2软件操作流程与技巧9.2.1ANSYS操作流程建模-使用ANSYSWorkbench的Preprocessor模块创建几何模型,定义材料属性和网格划分。施加载荷和边界条件-在模型上施加力、位移等载荷,以及固定、滑动等边界条件。求解-选择合适的求解器,如StaticStructural或TransientStructural,进行计算。后处理-使用Postprocessor模块查看结果,如应力、应变、位移等。9.2.1.1技巧网格细化-在应力集中区域进行网格细化,以提高计算精度。使用对称性-对于对称结构,可以利用对称性减少模型大小,节省计算资源。9.2.2ABAQUS操作流程建模-在ABAQUS/CAE中创建模型,定义几何、材料和网格。定义载荷和边界条件-设置静态或动态载荷,以及边界条件。提交作业-使用ABAQUS/Standard或ABAQUS/Explicit求解器进行计算。结果查看-在ABAQUS/CAE中查看和分析结果。9.2.2.1技巧非线性分析-利用ABAQUS的非线性分析能力,如接触分析,确保模型的准确性。使用Python脚本-ABAQUS支持Python脚本,可以自动化复杂的建模和分析过程。9.2.3SAP2000操作流程结构建模-在SAP2000中创建结构模型,包括梁、柱、板等构件。定义载荷-设置各种载荷,如自重、风载、地震载荷等。分析-进行线性或非线性分析,包括静力、动力分析。设计和绘图-根据分析结果进行构件设计,并生成施工图。9.2.3.1技巧利用模板-SAP2000提供了多种结构模板,可以快速建立模型。结果导出-结果可以导出为Excel或PDF格式,便于进一步分析和报告。9.3数值模拟与实验验证数值模拟是通过计算机软件对结构进行分析的过程,而实验验证则是通过实际测试来确认数值模拟结果的准确性。两者结合使用,可以确保结构设计的安全性和经济性。9.3.1ANSYS中的数值模拟示例假设我们有一个简单的梁结构,需要分析其在特定载荷下的应力分布。```python#ANSYSAPDLPythonScriptfromansys.mapdl.coreimportlaunch_mapdlmapdl=launch_mapdl()10创建模型mapdl.prep7()mapdl.et(1,‘BEAM188’)#选择梁单元类型mapdl.mp(‘EX’,1,2e11)#定义弹性模量mapdl.mp(‘DENS’,1,7800)#定义密度mapdl.mp(‘POISS’,1,0.3)#定义泊松比11创建梁mapdl.b(1)mapdl.b(2)mapdl.b(3)mapdl.b(4)mapdl.b(5)mapdl.b(6)mapdl.b(7)mapdl.b(8)mapdl.b(9)mapdl.b(10)mapdl.b(11)mapdl.b(12)mapdl.b(13)mapdl.b(14)mapdl.b(15)mapdl.b(16)mapdl.b(17)mapdl.b(18)mapdl.b(19)mapdl.b(20)mapdl.b(21)mapdl.b(22)mapdl.b(23)mapdl.b(24)mapdl.b(25)mapdl.b(26)mapdl.b(27)mapdl.b(28)mapdl.b(29)mapdl.b(30)mapdl.b(31)mapdl.b(32)mapdl.b(33)mapdl.b(34)mapdl.b(35)mapdl.b(36)mapdl.b(37)mapdl.b(38)mapdl.b(39)mapdl.b(40)mapdl.b(41)mapdl.b(42)mapdl.b(43)mapdl.b(44)mapdl.b(45)mapdl.b(46)mapdl.b(47)mapdl.b(48)mapdl.b(49)mapdl.b(50)mapdl.b(51)mapdl.b(52)mapdl.b(53)mapdl.b(54)mapdl.b(55)mapdl.b(56)mapdl.b(57)mapdl.b(58)mapdl.b(59)mapdl.b(60)mapdl.b(61)mapdl.b(62)mapdl.b(63)mapdl.b(64)mapdl.b(65)mapdl.b(66)mapdl.b(67)mapdl.b(68)mapdl.b(69)mapdl.b(70)mapdl.b(71)mapdl.b(72)mapdl.b(73)mapdl.b(74)mapdl.b(75)mapdl.b(76)mapdl.b(77)mapdl.b(78)mapdl.b(79)mapdl.b(80)mapdl.b(81)mapdl.b(82)mapdl.b(83)mapdl.b(84)mapdl.b(85)mapdl.b(86)mapdl.b(87)mapdl.b(88)mapdl.b(89)mapdl.b(90)mapdl.b(91)mapdl.b(92)mapdl.b(93)mapdl.b(94)mapdl.b(95)mapdl.b(96)mapdl.b(97)mapdl.b(98)mapdl.b(99)mapdl.b(100)mapdl.b(101)mapdl.b(102)mapdl.b(103)mapdl.b(104)mapdl.b(105)mapdl.b(106)mapdl.b(107)mapdl.b(108)mapdl.b(109)mapdl.b(110)mapdl.b(111)mapdl.b(112)mapdl.b(113)mapdl.b(114)mapdl.b(115)mapdl.b(116)mapdl.b(117)mapdl.b(118)mapdl.b(119)mapdl.b(120)mapdl.b(121)mapdl.b(122)mapdl.b(123)mapdl.b(124)mapdl.b(125)mapdl.b(126)mapdl.b(127)mapdl.b(128)mapdl.b(129)mapdl.b(130)mapdl.b(131)mapdl.b(132)mapdl.b(133)mapdl.b(134)mapdl.b(135)mapdl.b(136)mapdl.b(137)mapdl.b(138)mapdl.b(139)mapdl.b(140)mapdl.b(141)mapdl.b(142)mapdl.b(143)mapdl.b(144)mapdl.b(145)mapdl.b(146)mapdl.b(147)mapdl.b(148)mapdl.b(149)mapdl.b(150)mapdl.b(151)mapdl.b(152)mapdl.b(153)mapdl.b(154)mapdl.b(155)mapdl.b(156)mapdl.b(157)mapdl.b(158)mapdl.b(159)mapdl.b(160)mapdl.b(161)mapdl.b(162)mapdl.b(163)mapdl.b(164)mapdl.b(165)mapdl.b(166)mapdl.b(167)mapdl.b(168)mapdl.b(169)mapdl.b(170)mapdl.b(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论