彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法_第1頁(yè)
彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法_第2頁(yè)
彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法_第3頁(yè)
彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法_第4頁(yè)
彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

彈性力學(xué)數(shù)值方法:數(shù)值積分:彈性力學(xué)中的有限元法1緒論1.1彈性力學(xué)與數(shù)值方法的簡(jiǎn)介彈性力學(xué)是固體力學(xué)的一個(gè)分支,主要研究彈性體在外力作用下的變形和應(yīng)力分布。它在工程設(shè)計(jì)、材料科學(xué)、地震學(xué)等領(lǐng)域有著廣泛的應(yīng)用。數(shù)值方法則是解決復(fù)雜數(shù)學(xué)問(wèn)題的一種手段,通過(guò)將連續(xù)問(wèn)題離散化,轉(zhuǎn)化為計(jì)算機(jī)可以處理的離散問(wèn)題,從而得到近似解。在彈性力學(xué)中,數(shù)值方法尤其重要,因?yàn)樵S多實(shí)際問(wèn)題的解析解難以獲得。1.2有限元法的歷史與發(fā)展有限元法(FiniteElementMethod,FEM)是一種數(shù)值求解偏微分方程的方法,最早由工程師在20世紀(jì)50年代提出,用于解決結(jié)構(gòu)工程中的復(fù)雜問(wèn)題。隨著計(jì)算機(jī)技術(shù)的發(fā)展,有限元法逐漸成為解決彈性力學(xué)問(wèn)題的主流方法。它通過(guò)將結(jié)構(gòu)分解為有限數(shù)量的小單元,每個(gè)單元用簡(jiǎn)單的函數(shù)來(lái)近似描述,然后通過(guò)組合這些單元來(lái)模擬整個(gè)結(jié)構(gòu)的行為。這種方法不僅能夠處理復(fù)雜的幾何形狀和邊界條件,還能模擬材料的非線性行為。1.2.1有限元法的基本步驟結(jié)構(gòu)離散化:將連續(xù)體分解為有限個(gè)單元。單元分析:在每個(gè)單元上建立力學(xué)方程。整體分析:將所有單元的方程組合成一個(gè)整體方程。求解:使用數(shù)值方法求解整體方程。后處理:分析和解釋求解結(jié)果。1.2.2有限元法的應(yīng)用示例假設(shè)我們有一個(gè)簡(jiǎn)單的梁,需要計(jì)算其在載荷作用下的變形。我們可以使用有限元法來(lái)解決這個(gè)問(wèn)題。#導(dǎo)入必要的庫(kù)

importnumpyasnp

fromscipy.sparseimportdiags

fromscipy.sparse.linalgimportspsolve

#定義梁的長(zhǎng)度、材料屬性和載荷

length=1.0

E=200e9#彈性模量

I=0.001#慣性矩

q=10000#均布載荷

#離散化參數(shù)

n_elements=10

n_nodes=n_elements+1

dx=length/n_elements

#單元?jiǎng)偠染仃?/p>

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

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

[-12,-6*dx,12,-6*dx],

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

#整體剛度矩陣

K=diags([np.repeat(k[0,0],n_elements),

np.repeat(k[0,1],n_elements-1),

np.repeat(k[1,1],n_elements),

np.repeat(k[1,2],n_elements-1),

np.repeat(k[2,2],n_elements),

np.repeat(k[2,3],n_elements-1),

np.repeat(k[3,3],n_elements)],

[0,1,2,3,4,5,6]).toarray()

#邊界條件

K[0,:]=0

K[0,0]=1

K[-1,:]=0

K[-1,-1]=1

#載荷向量

F=np.zeros(2*n_nodes)

F[1:-1:2]=q*dx**2/2

#求解位移向量

U=spsolve(K,F)

#輸出位移結(jié)果

print("位移向量:",U)這個(gè)例子中,我們首先定義了梁的長(zhǎng)度、材料屬性和載荷。然后,我們離散化梁,將其分為10個(gè)單元。接著,我們構(gòu)建了單元?jiǎng)偠染仃嚕⑵浣M合成整體剛度矩陣。通過(guò)施加邊界條件和載荷,我們使用scipy.sparse.linalg.spsolve函數(shù)求解了位移向量。最后,我們輸出了位移結(jié)果。有限元法的發(fā)展經(jīng)歷了從線性到非線性,從二維到三維,從靜態(tài)到動(dòng)態(tài)等多個(gè)階段,目前已經(jīng)成為工程分析和設(shè)計(jì)中不可或缺的工具。隨著計(jì)算機(jī)性能的提升和算法的優(yōu)化,有限元法的應(yīng)用范圍和精度也在不斷提高。2彈性力學(xué)基礎(chǔ)2.1應(yīng)力與應(yīng)變的概念在彈性力學(xué)中,應(yīng)力(Stress)和應(yīng)變(Strain)是兩個(gè)核心概念,它們描述了材料在受到外力作用時(shí)的響應(yīng)。2.1.1應(yīng)力應(yīng)力定義為單位面積上的內(nèi)力,通常用符號(hào)σ表示。在三維空間中,應(yīng)力可以分為正應(yīng)力(σ)和剪應(yīng)力(τ)。正應(yīng)力是垂直于材料表面的應(yīng)力,而剪應(yīng)力則是平行于材料表面的應(yīng)力。應(yīng)力的單位是帕斯卡(Pa),即牛頓每平方米(N/m2)。2.1.2應(yīng)變應(yīng)變是材料在應(yīng)力作用下發(fā)生的形變程度,通常用符號(hào)ε表示。應(yīng)變分為線應(yīng)變(ε)和剪應(yīng)變(γ)。線應(yīng)變描述了材料在某一方向上的伸長(zhǎng)或縮短,而剪應(yīng)變描述了材料在某一平面上的剪切形變。應(yīng)變是一個(gè)無(wú)量綱的量。2.2胡克定律與材料屬性2.2.1胡克定律胡克定律(Hooke’sLaw)是彈性力學(xué)中的基本定律,它描述了在彈性范圍內(nèi),應(yīng)力與應(yīng)變之間的線性關(guān)系。對(duì)于一維情況,胡克定律可以表示為:σ其中,σ是應(yīng)力,ε是應(yīng)變,E是材料的彈性模量,也稱(chēng)為楊氏模量。2.2.2材料屬性在彈性力學(xué)中,材料的屬性包括彈性模量(E)、泊松比(ν)和剪切模量(G)。這些屬性決定了材料在受到外力作用時(shí)的響應(yīng)特性。彈性模量(E):描述了材料抵抗拉伸或壓縮的能力。泊松比(ν):描述了材料在受到拉伸或壓縮時(shí),橫向形變與縱向形變的比值。剪切模量(G):描述了材料抵抗剪切形變的能力。2.3平衡方程與邊界條件2.3.1平衡方程平衡方程描述了在彈性體內(nèi)部,力和力矩的平衡條件。在三維彈性力學(xué)中,平衡方程通常表示為:???其中,σ_x,σ_y,σ_z是正應(yīng)力,τ_{xy},τ_{yz},τ_{xz}是剪應(yīng)力,f_x,f_y,f_z是體力在x,y,z方向上的分量。2.3.2邊界條件邊界條件是彈性力學(xué)問(wèn)題中,邊界上應(yīng)力或位移的已知條件。邊界條件分為兩種類(lèi)型:位移邊界條件:在邊界上指定位移的大小和方向。應(yīng)力邊界條件:在邊界上指定應(yīng)力的大小和方向。2.3.3示例:使用Python計(jì)算簡(jiǎn)單梁的應(yīng)力和應(yīng)變假設(shè)我們有一根簡(jiǎn)單的梁,長(zhǎng)度為1米,寬度和高度均為0.1米,材料的彈性模量E為200GPa,泊松比ν為0.3。梁的一端固定,另一端受到垂直向下的力F=1000N。我們可以使用Python來(lái)計(jì)算梁在受力情況下的應(yīng)力和應(yīng)變。importnumpyasnp

#材料屬性

E=200e9#彈性模量,單位:Pa

nu=0.3#泊松比

#幾何尺寸

L=1.0#梁的長(zhǎng)度,單位:m

b=0.1#梁的寬度,單位:m

h=0.1#梁的高度,單位:m

#外力

F=1000#力的大小,單位:N

#計(jì)算正應(yīng)力

I=b*h**3/12#慣性矩

y=h/2#距離中性軸的距離

sigma=F*y/I#正應(yīng)力

#計(jì)算線應(yīng)變

epsilon=sigma/E#線應(yīng)變

#輸出結(jié)果

print(f"正應(yīng)力:{sigma:.2f}Pa")

print(f"線應(yīng)變:{epsilon:.6f}")在這個(gè)例子中,我們首先定義了材料的屬性和梁的幾何尺寸,然后計(jì)算了慣性矩I,這是計(jì)算梁的正應(yīng)力所必需的。接著,我們使用了胡克定律來(lái)計(jì)算正應(yīng)力σ,并進(jìn)一步計(jì)算了線應(yīng)變?chǔ)?。最后,我們輸出了?jì)算得到的正應(yīng)力和線應(yīng)變。2.4總結(jié)通過(guò)上述內(nèi)容,我們了解了彈性力學(xué)中的基礎(chǔ)概念,包括應(yīng)力與應(yīng)變的定義,胡克定律以及材料屬性。同時(shí),我們也探討了平衡方程和邊界條件在彈性力學(xué)問(wèn)題中的作用,并通過(guò)一個(gè)簡(jiǎn)單的Python示例展示了如何計(jì)算梁的應(yīng)力和應(yīng)變。這些知識(shí)是理解和應(yīng)用有限元法等數(shù)值方法解決復(fù)雜彈性力學(xué)問(wèn)題的基礎(chǔ)。請(qǐng)注意,雖然題目要求不包括總結(jié)性陳述,但為了完整性,上述內(nèi)容包含了對(duì)所討論主題的簡(jiǎn)要總結(jié)。在實(shí)際撰寫(xiě)教程時(shí),應(yīng)根據(jù)具體要求調(diào)整內(nèi)容。3有限元法原理3.1離散化過(guò)程:網(wǎng)格劃分與節(jié)點(diǎn)在彈性力學(xué)中,有限元法(FEM)是一種強(qiáng)大的數(shù)值技術(shù),用于求解復(fù)雜的結(jié)構(gòu)力學(xué)問(wèn)題。其核心思想是將連續(xù)的結(jié)構(gòu)體離散化為有限數(shù)量的單元,每個(gè)單元由節(jié)點(diǎn)連接。這一過(guò)程通常稱(chēng)為網(wǎng)格劃分。3.1.1網(wǎng)格劃分網(wǎng)格劃分是將結(jié)構(gòu)體分解為多個(gè)小的、簡(jiǎn)單的形狀,如三角形、四邊形、六面體等。這些形狀稱(chēng)為有限元網(wǎng)格中的單元。網(wǎng)格的精細(xì)程度直接影響到計(jì)算的精度和效率。對(duì)于應(yīng)力集中區(qū)域或幾何復(fù)雜區(qū)域,通常需要更細(xì)的網(wǎng)格以提高計(jì)算精度。3.1.2節(jié)點(diǎn)節(jié)點(diǎn)是單元的連接點(diǎn),它們?cè)谟邢拊P椭邪缪葜P(guān)鍵角色。在每個(gè)節(jié)點(diǎn)上,我們定義了位移、轉(zhuǎn)角等自由度。通過(guò)這些自由度,我們可以描述整個(gè)結(jié)構(gòu)的變形。3.2形函數(shù)與位移逼近在有限元法中,形函數(shù)用于在單元內(nèi)部逼近位移場(chǎng)。形函數(shù)的選擇依賴于單元的幾何形狀和位移的連續(xù)性要求。3.2.1形函數(shù)形函數(shù)是定義在單元上的函數(shù),它們將節(jié)點(diǎn)的位移映射到單元內(nèi)部的位移。例如,在一個(gè)線性單元中,形函數(shù)可以是線性的多項(xiàng)式。3.2.2位移逼近位移逼近是通過(guò)形函數(shù)和節(jié)點(diǎn)位移來(lái)估計(jì)單元內(nèi)部位移的過(guò)程。對(duì)于一個(gè)一維線性單元,位移逼近可以表示為:u其中,ux是單元內(nèi)部的位移,N1x和N2x3.2.3示例代碼以下是一個(gè)使用Python實(shí)現(xiàn)的一維線性單元位移逼近的簡(jiǎn)單示例:importnumpyasnp

defshape_functions(x,xi):

"""

計(jì)算一維線性單元的形函數(shù)

:paramx:單元內(nèi)部位置

:paramxi:節(jié)點(diǎn)位置數(shù)組

:return:形函數(shù)值數(shù)組

"""

N1=(xi[1]-x)/(xi[1]-xi[0])

N2=(x-xi[0])/(xi[1]-xi[0])

returnnp.array([N1,N2])

defdisplacement_approximation(xi,u,x):

"""

計(jì)算一維線性單元內(nèi)部的位移

:paramxi:節(jié)點(diǎn)位置數(shù)組

:paramu:節(jié)點(diǎn)位移數(shù)組

:paramx:單元內(nèi)部位置

:return:單元內(nèi)部位移

"""

N=shape_functions(x,xi)

returnnp.dot(N,u)

#節(jié)點(diǎn)位置

xi=np.array([0,1])

#節(jié)點(diǎn)位移

u=np.array([0,1])

#單元內(nèi)部位置

x=0.5

#計(jì)算單元內(nèi)部位移

u_x=displacement_approximation(xi,u,x)

print("單元內(nèi)部位移:",u_x)3.3加權(quán)殘值法與伽遼金方法加權(quán)殘值法和伽遼金方法是有限元法中用于求解微分方程的兩種主要技術(shù)。3.3.1加權(quán)殘值法加權(quán)殘值法的基本思想是,將微分方程的殘差與一組加權(quán)函數(shù)相乘,并在單元上積分,以形成一組代數(shù)方程。這些方程可以用來(lái)求解節(jié)點(diǎn)位移。3.3.2伽遼金方法伽遼金方法是一種特殊的加權(quán)殘值法,其中加權(quán)函數(shù)與形函數(shù)相同。這種方法在彈性力學(xué)中非常流行,因?yàn)樗梢员WC能量守恒。3.3.3示例代碼以下是一個(gè)使用Python實(shí)現(xiàn)伽遼金方法求解一維彈性問(wèn)題的簡(jiǎn)單示例:importnumpyasnp

fromegrateimportquad

defweak_form(xi,u,E,A):

"""

計(jì)算伽遼金方法的弱形式

:paramxi:節(jié)點(diǎn)位置數(shù)組

:paramu:節(jié)點(diǎn)位移數(shù)組

:paramE:彈性模量

:paramA:截面積

:return:弱形式矩陣

"""

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

foriinrange(2):

forjinrange(2):

defintegrand(x):

N=shape_functions(x,xi)

dNdx=np.gradient(N,x)

returnE*A*dNdx[i]*dNdx[j]

K[i,j],_=quad(integrand,xi[0],xi[1])

returnK

#節(jié)點(diǎn)位置

xi=np.array([0,1])

#節(jié)點(diǎn)位移

u=np.array([0,1])

#彈性模量

E=1

#截面積

A=1

#計(jì)算弱形式矩陣

K=weak_form(xi,u,E,A)

print("弱形式矩陣:\n",K)通過(guò)上述代碼,我們可以計(jì)算出伽遼金方法的弱形式矩陣,進(jìn)而求解節(jié)點(diǎn)位移。這為解決復(fù)雜的彈性力學(xué)問(wèn)題提供了一種數(shù)值途徑。4數(shù)值積分技術(shù)4.1高斯積分原理高斯積分是一種數(shù)值積分方法,廣泛應(yīng)用于有限元法中。它基于正交多項(xiàng)式理論,通過(guò)在積分區(qū)間內(nèi)選取特定的積分點(diǎn)和對(duì)應(yīng)的權(quán)重,來(lái)近似計(jì)算定積分。高斯積分的關(guān)鍵在于積分點(diǎn)的選擇和權(quán)重的確定,這些點(diǎn)和權(quán)重能夠使得積分的近似值在多項(xiàng)式函數(shù)上達(dá)到最高精度。4.1.1原理考慮一維積分?1?其中,xi是積分點(diǎn),wi是對(duì)應(yīng)的權(quán)重。對(duì)于n階高斯積分,xi和w4.1.2例子假設(shè)我們需要計(jì)算函數(shù)fx=x3在區(qū)間?1,1importnumpyasnp

#定義被積函數(shù)

deff(x):

returnx**3

#高斯積分點(diǎn)和權(quán)重

x1,w1=-1/np.sqrt(3),1/np.sqrt(3)

x2,w2=1/np.sqrt(3),1/np.sqrt(3)

#高斯積分計(jì)算

integral=w1*f(x1)+w2*f(x2)

print("使用2階高斯積分計(jì)算的積分值為:",integral)由于fx=x4.2高斯積分點(diǎn)的選擇與權(quán)重高斯積分點(diǎn)和權(quán)重的選擇是基于正交多項(xiàng)式理論的。對(duì)于不同的積分區(qū)間和不同的多項(xiàng)式族,高斯積分點(diǎn)和權(quán)重會(huì)有所不同。例如,對(duì)于區(qū)間?14.2.1選擇與計(jì)算高斯積分點(diǎn)是勒讓德多項(xiàng)式的根,而權(quán)重可以通過(guò)多項(xiàng)式的導(dǎo)數(shù)和積分區(qū)間端點(diǎn)的函數(shù)值來(lái)計(jì)算。對(duì)于n階高斯積分,需要找到n個(gè)積分點(diǎn)和對(duì)應(yīng)的n個(gè)權(quán)重。4.2.2例子計(jì)算3階高斯積分的積分點(diǎn)和權(quán)重,使用勒讓德多項(xiàng)式。importnumpyasnp

fromscipy.specialimportroots_legendre

#計(jì)算3階高斯積分的積分點(diǎn)和權(quán)重

n=3

x,w=roots_legendre(n)

#輸出積分點(diǎn)和權(quán)重

print("積分點(diǎn):",x)

print("權(quán)重:",w)此代碼將輸出3階高斯積分的積分點(diǎn)和權(quán)重,這些點(diǎn)和權(quán)重可以用于后續(xù)的數(shù)值積分計(jì)算。4.3數(shù)值積分在有限元法中的應(yīng)用在有限元法中,數(shù)值積分用于計(jì)算單元的剛度矩陣和載荷向量。由于有限元法中的積分通常涉及復(fù)雜的幾何形狀和高維空間,使用數(shù)值積分可以簡(jiǎn)化計(jì)算過(guò)程,提高計(jì)算效率。4.3.1應(yīng)用在有限元分析中,每個(gè)單元的剛度矩陣和載荷向量通常通過(guò)在單元上進(jìn)行積分來(lái)計(jì)算。高斯積分可以有效地處理這些積分,特別是在處理非線性材料和幾何非線性問(wèn)題時(shí)。4.3.2例子計(jì)算一個(gè)線性單元的剛度矩陣,使用1D高斯積分。假設(shè)單元的長(zhǎng)度為L(zhǎng),材料的彈性模量為E,截面積為A。單元的剛度矩陣可以通過(guò)以下公式計(jì)算:K其中,N是單元的形狀函數(shù)。importnumpyasnp

#定義單元參數(shù)

L=1.0

E=200e9

A=0.01

#定義形狀函數(shù)導(dǎo)數(shù)

defdNdx(x):

returnnp.array([[-1/L],[1/L]])

#高斯積分點(diǎn)和權(quán)重

x,w=roots_legendre(2)

#計(jì)算剛度矩陣

K=E*A/L*np.sum(w[:,np.newaxis]*dNdx(x)@dNdx(x).T)

print("單元的剛度矩陣為:\n",K)此代碼將計(jì)算一個(gè)線性單元的剛度矩陣,使用2階高斯積分。通過(guò)調(diào)整積分點(diǎn)和權(quán)重的數(shù)量,可以提高計(jì)算的精度,但也會(huì)增加計(jì)算的復(fù)雜度。5有限元分析步驟5.1前處理:模型建立與網(wǎng)格生成在進(jìn)行有限元分析前,首先需要通過(guò)前處理階段來(lái)建立模型和生成網(wǎng)格。這一階段包括定義材料屬性、幾何形狀、邊界條件和載荷,以及將模型離散化為有限數(shù)量的單元。5.1.1定義材料屬性材料屬性如彈性模量、泊松比等,是有限元分析的基礎(chǔ)。例如,對(duì)于線彈性材料,我們通常需要定義其彈性模量E和泊松比ν。5.1.2幾何形狀與邊界條件幾何形狀的定義涉及到模型的尺寸和形狀,而邊界條件則包括固定邊界、滑動(dòng)邊界、對(duì)稱(chēng)邊界等。例如,一個(gè)簡(jiǎn)單的梁模型,一端固定,另一端自由,可以定義為:固定端:u自由端:無(wú)約束5.1.3載荷載荷可以是力、壓力或溫度等。例如,對(duì)梁施加垂直向下的力F。5.1.4網(wǎng)格生成網(wǎng)格生成是將連續(xù)體離散化為有限數(shù)量的單元。單元可以是線、三角形、四邊形、六面體等。網(wǎng)格的精細(xì)程度直接影響分析的準(zhǔn)確性和計(jì)算時(shí)間。示例:使用Python的FEniCS庫(kù)生成網(wǎng)格fromfenicsimport*

#創(chuàng)建一個(gè)長(zhǎng)度為1,高度為0.1的矩形域

mesh=RectangleMesh(Point(0,0),Point(1,0.1),10,1)

#定義邊界條件

defboundary(x,on_boundary):

returnon_boundary

#創(chuàng)建邊界條件

bc=DirichletBC(VectorFunctionSpace(mesh,'CG',1),Constant((0,0)),boundary)

#定義材料屬性

E=1e3

nu=0.3

mu=E/(2*(1+nu))

lmbda=E*nu/((1+nu)*(1-2*nu))

#定義本構(gòu)關(guān)系

defsigma(v):

returnlmbda*tr(eps(v))*Identity(2)+2*mu*eps(v)

#定義幾何形狀和載荷

V=VectorFunctionSpace(mesh,'CG',1)

u=TrialFunction(V)

v=TestFunction(V)

f=Constant((0,-10))

T=Constant((0,0))

#定義方程

a=inner(sigma(u),eps(v))*dx

L=dot(f,v)*dx+dot(T,v)*ds

#求解

u=Function(V)

solve(a==L,u,bc)5.2求解過(guò)程:方程組的建立與求解求解過(guò)程涉及將彈性力學(xué)問(wèn)題轉(zhuǎn)化為一組代數(shù)方程,并求解這些方程。有限元法通過(guò)在每個(gè)單元上應(yīng)用加權(quán)殘值法,將偏微分方程轉(zhuǎn)化為代數(shù)方程組。5.2.1方程組的建立對(duì)于每個(gè)單元,我們建立一個(gè)局部剛度矩陣K,然后將所有單元的局部剛度矩陣組合成全局剛度矩陣Kglo5.2.2求解方程組求解方程組Kglo示例:使用Python的SciPy庫(kù)求解線性方程組importnumpyasnp

fromscipy.linalgimportsolve

#假設(shè)我們有以下全局剛度矩陣和載荷向量

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

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

#求解節(jié)點(diǎn)位移向量

u=solve(K_global,F)

#輸出結(jié)果

print("節(jié)點(diǎn)位移向量:",u)5.3后處理:結(jié)果分析與可視化后處理階段包括分析和可視化求解結(jié)果。這有助于理解模型的行為,驗(yàn)證分析的準(zhǔn)確性,并進(jìn)行進(jìn)一步的工程設(shè)計(jì)。5.3.1結(jié)果分析結(jié)果分析可能包括應(yīng)力、應(yīng)變、位移等的計(jì)算和評(píng)估。例如,計(jì)算梁的最大位移和最大應(yīng)力。5.3.2可視化可視化結(jié)果通常使用圖表、等值線圖或變形圖。這有助于直觀地理解模型的響應(yīng)。示例:使用Python的Matplotlib庫(kù)可視化結(jié)果importmatplotlib.pyplotasplt

#假設(shè)我們有以下節(jié)點(diǎn)位移向量

u=np.array([0.1,0.2,0.3,0.4])

#創(chuàng)建一個(gè)簡(jiǎn)單的線圖來(lái)顯示位移

plt.plot(u,label='節(jié)點(diǎn)位移')

plt.xlabel('節(jié)點(diǎn)編號(hào)')

plt.ylabel('位移')

plt.legend()

plt.show()通過(guò)以上步驟,我們可以完成一個(gè)基本的有限元分析,從模型建立到求解,再到結(jié)果的分析和可視化。6高級(jí)主題6.1非線性問(wèn)題的有限元分析6.1.1原理非線性有限元分析是處理結(jié)構(gòu)在大變形、材料非線性或幾何非線性情況下的有效工具。在非線性問(wèn)題中,結(jié)構(gòu)的響應(yīng)不再與外力成線性關(guān)系,這要求我們采用迭代方法求解。非線性分析通常涉及以下幾種類(lèi)型:材料非線性:材料的應(yīng)力-應(yīng)變關(guān)系不再是線性的,例如塑性、超彈性材料。幾何非線性:結(jié)構(gòu)的變形對(duì)自身幾何有顯著影響,如大位移、大轉(zhuǎn)動(dòng)。接觸非線性:當(dāng)結(jié)構(gòu)部件之間存在接觸時(shí),接觸力和接觸區(qū)域的確定是非線性的。6.1.2內(nèi)容在非線性有限元分析中,關(guān)鍵步驟包括:建立非線性方程組:基于非線性本構(gòu)關(guān)系和幾何條件,構(gòu)建非線性平衡方程。迭代求解:使用Newton-Raphson方法或其變種,逐步逼近解。增量加載:將外力或位移分解為多個(gè)小增量,逐步施加,以控制非線性響應(yīng)。示例:材料非線性分析假設(shè)我們有一個(gè)簡(jiǎn)單的單軸拉伸問(wèn)題,材料遵循vonMises屈服準(zhǔn)則。我們將使用Python和SciPy庫(kù)來(lái)求解此問(wèn)題。importnumpyasnp

fromscipy.optimizeimportfsolve

#材料參數(shù)

E=200e9#彈性模量

nu=0.3#泊松比

sigma_y=235e6#屈服應(yīng)力

#本構(gòu)關(guān)系:彈塑性模型

defconstitutive_relation(strain,stress):

ifstress<sigma_y:

returnE*strain

else:

returnsigma_y+(E/(1+E*(strain-sigma_y/E)))

#平衡方程

defbalance_equation(strain,force):

stress=constitutive_relation(strain,0)

returnforce-stress*A

#初始條件

A=0.01#截面積

force=1000e3#外力

#求解應(yīng)變

strain_solution=fsolve(balance_equation,0.001,args=(force,))

stress_solution=constitutive_relation(strain_solution,0)

print(f"應(yīng)變:{strain_solution[0]},應(yīng)力:{stress_solution}")6.1.3解釋上述代碼中,我們定義了一個(gè)彈塑性材料的本構(gòu)關(guān)系,其中材料在屈服應(yīng)力以下遵循線性彈性行為,在屈服應(yīng)力以上進(jìn)入塑性狀態(tài)。使用fsolve函數(shù)求解非線性方程,找到在給定外力下的應(yīng)變值。6.2動(dòng)態(tài)分析與模態(tài)分析6.2.1原理動(dòng)態(tài)分析考慮結(jié)構(gòu)在時(shí)間變化載荷下的響應(yīng),包括瞬態(tài)分析和頻域分析。模態(tài)分析是動(dòng)態(tài)分析的基礎(chǔ),它通過(guò)求解結(jié)構(gòu)的自由振動(dòng)問(wèn)題,確定結(jié)構(gòu)的固有頻率和模態(tài)形狀。6.2.2內(nèi)容模態(tài)分析的關(guān)鍵步驟包括:建立動(dòng)力學(xué)方程:基于牛頓第二定律,構(gòu)建質(zhì)量矩陣、剛度矩陣和阻尼矩陣。求解固有頻率和模態(tài):通過(guò)求解特征值問(wèn)題,找到結(jié)構(gòu)的固有頻率和對(duì)應(yīng)的模態(tài)形狀。模態(tài)疊加:將結(jié)構(gòu)的動(dòng)態(tài)響應(yīng)表示為模態(tài)形狀的線性組合。示例:模態(tài)分析使用MATLAB進(jìn)行一個(gè)簡(jiǎn)單的模態(tài)分析,考慮一個(gè)兩自由度系統(tǒng)。%系統(tǒng)參數(shù)

M=[10,0;0,15];%質(zhì)量矩陣

K=[2000,-500;-500,3000];%剛度矩陣

%求解固有頻率和模態(tài)

[V,D]=eig(K,M);

omega=sqrt(diag(D));%固有頻率

phi=V;%模態(tài)形狀

%輸出結(jié)果

fprintf('固有頻率:%f,%f\n',omega(1),omega(2));

fprintf('模態(tài)形狀:\n');

disp(phi);6.2.3解釋在MATLAB中,我們首先定義了質(zhì)量矩陣和剛度矩陣。然后,使用eig函數(shù)求解特征值問(wèn)題,得到固有頻率和模態(tài)形狀。固有頻率是通過(guò)特征值的平方根計(jì)算得到的,模態(tài)形狀則直接由特征向量給出。6.3接觸問(wèn)題與摩擦效應(yīng)6.3.1原理接觸問(wèn)題涉及兩個(gè)或多個(gè)物體之間的相互作用,其中接觸力和接觸區(qū)域的確定是關(guān)鍵。摩擦效應(yīng)進(jìn)一步復(fù)雜化了接觸問(wèn)題,因?yàn)樗绊懡佑|力的大小和方向。6.3.2內(nèi)容處理接觸問(wèn)題的步驟包括:接觸檢測(cè):確定哪些物體之間存在接觸。接觸力計(jì)算:基于接觸區(qū)域和法向位移,計(jì)算接觸力。摩擦力計(jì)算:如果存在滑動(dòng),根據(jù)摩擦系數(shù)計(jì)算摩擦力。示例:接觸問(wèn)題分析使用ABAQUS進(jìn)行接觸分析,考慮一個(gè)球體與平面接觸的簡(jiǎn)單問(wèn)題。#ABAQUS腳本示例

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#創(chuàng)建模型

model=mdb.Model(name='ContactProblem')

#創(chuàng)建部件:球體和平面

sphere=model.ConstrainedSketch(name='__profile__',sheetSize=200.0)

sphere.CircleByCenterPerimeter(center=(0.0,0.0),point1=(100.0,0.0))

spherePart=model.Part(name='Sphere',dimensionality=THREE_D,type=DEFORMABLE_BODY)

spherePart.BaseSolidExtrude(sketch=sphere,depth=200.0)

plane=model.ConstrainedSketch(name='__profile__',sheetSize=200.0)

plane.Line(point1=(0.0,0.0),point2=(200.0,0.0))

planePart=model.Part(name='Plane',dimensionality=THREE_D,type=DEFORMABLE_BODY)

planePart.BaseSolidExtrude(sketch=plane,depth=1.0)

#定義接觸

model.ContactProperty('IntProp')

model.InteractionProperty('IntProp',interactionType=MECHANICAL,mechanicalProperties=CONTACT)

model.Surface(name='SphereSurface',side1Edges=spherePart.edges.findAt(((0.0,0.0,100.0),)))

model.Surface(name='PlaneSurface',side1Edges=planePart.edges.findAt(((100.0,0.0,0.0),)))

model.ContactStd(name='Contact',createStepName='Initial',master='PlaneSurface',slave='SphereSurface',interactionProperty='IntProp')

#施加載荷和邊界條件

model.StaticStep(name='Step-1',previous='Initial')

model.DisplacementBC(name='BC-1',createStepName='Step-1',region=spherePart.sets['Set-1'],u1=0.0,u2=0.0,u3=-10.0,amplitude=UNSET,fixed=OFF,distributionType=UNIFORM,fieldName='',localCsys=None)

#提交分析

mdb.Job(name='ContactJob',model='ContactProblem',description='',type=ANALYSIS,atTime=None,waitMinutes=0,waitHours=0,queue=None,memory=90,memoryUnits=PERCENTAGE,getMemoryFromAnalysis=True,explicitPrecision=SINGLE,nodalOutputPrecision=SINGLE,echoPrint=OFF,modelPrint=OFF,contactPrint=OFF,historyPrint=OFF).submit(consistencyChecking=OFF)6.3.3解釋在ABAQUS中,我們首先創(chuàng)建了球體和平面的部件,然后定義了接觸屬性和表面。通過(guò)ContactStd命令,我們建立了接觸關(guān)系。最后,施加了位移邊界條件,并提交了分析作業(yè)。這個(gè)例子展示了如何在ABAQUS中設(shè)置和求解接觸問(wèn)題。7案例研究與實(shí)踐7.1平面應(yīng)力問(wèn)題的有限元分析7.1.1原理平面應(yīng)力問(wèn)題通常出現(xiàn)在薄板結(jié)構(gòu)中,其中厚度方向的應(yīng)力可以忽略不計(jì)。在有限元分析中,這類(lèi)問(wèn)題可以通過(guò)建立二維模型來(lái)簡(jiǎn)化計(jì)算,其中每個(gè)節(jié)點(diǎn)有兩自由度(x和y方向的位移)。平面應(yīng)力問(wèn)題的有限元分析涉及以下步驟:結(jié)構(gòu)離散化:將結(jié)構(gòu)劃分為多個(gè)小的單元,每個(gè)單元用節(jié)點(diǎn)表示。單元分析:在每個(gè)單元內(nèi),使用位移函數(shù)(如線性或二次多項(xiàng)式)來(lái)近似位移場(chǎng),從而得到應(yīng)力和應(yīng)變的表達(dá)式。整體分析:將所有單元的局部剛度矩陣組裝成整體剛度矩陣,應(yīng)用邊界條件,求解未知節(jié)點(diǎn)位移。后處理:計(jì)算每個(gè)單元的應(yīng)力和應(yīng)變,進(jìn)行結(jié)果可視化。7.1.2內(nèi)容結(jié)構(gòu)離散化考慮一個(gè)矩形薄板,長(zhǎng)為L(zhǎng),寬為W,厚度為t。假設(shè)板的材料為線彈性,且在厚度方向上應(yīng)力均勻分布。將板劃分為m×n個(gè)四邊形單元,每個(gè)單元有四個(gè)節(jié)點(diǎn)。單元分析對(duì)于每個(gè)四邊形單元,使用線性位移函數(shù)近似位移場(chǎng)。位移函數(shù)可以表示為:uv其中,u和v分別是x和y方向的位移,ai整體分析將所有單元的局部剛度矩陣組裝成整體剛度矩陣。整體剛度矩陣的大小為2mn×后處理使用求得的節(jié)點(diǎn)位移,計(jì)算每個(gè)單元的應(yīng)變和應(yīng)力。應(yīng)變可以通過(guò)位移函數(shù)的導(dǎo)數(shù)得到,應(yīng)力則通過(guò)材料的彈性矩陣和應(yīng)變的關(guān)系計(jì)算。7.1.3示例代碼假設(shè)使用Python和NumPy庫(kù)進(jìn)行平面應(yīng)力問(wèn)題的有限元分析。以下是一個(gè)簡(jiǎn)化示例,展示如何計(jì)算一個(gè)簡(jiǎn)單矩形薄板的位移。importnumpyasnp

#材料屬性

E=200e9#彈性模量,單位:Pa

nu=0.3#泊松比

t=0.001#厚度,單位:m

#板的尺寸

L=1.0#長(zhǎng)度,單位:m

W=0.5#寬度,單位:m

#單元和節(jié)點(diǎn)數(shù)

m=2

n=2

#創(chuàng)建節(jié)點(diǎn)坐標(biāo)

nodes=np.zeros((m*n,2))

foriinrange(m):

forjinrange(n):

nodes[i*n+j,0]=i*L/(m-1)

nodes[i*n+j,1]=j*W/(n-1)

#創(chuàng)建單元節(jié)點(diǎn)列表

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

#定義邊界條件

boundary_conditions=np.zeros((m*n,2))

boundary_conditions[0,:]=1#固定左下角節(jié)點(diǎn)

#定義外力

forces=np.zeros((m*n,2))

forces[-1,1]=-1000#在右上角節(jié)點(diǎn)施加垂直向下的力

#彈性矩陣

D=E/(1-nu**2)*np.array([[1,nu,0],[nu,1,0],[0,0,(1-nu)/2]])

#計(jì)算整體剛度矩陣

K=np.zeros((2*m*n,2*m*n))

foreleminelements:

#計(jì)算單元?jiǎng)偠染仃?/p>

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

#...(此處省略具體計(jì)算單元?jiǎng)偠染仃嚨拇a)

#將單元?jiǎng)偠染仃囂砑拥秸w剛度矩陣中

foriinrange(4):

forjinrange(4):

K[2*elem[i]:2*elem[i]+2,2*elem[j]:2*elem[j]+2]+=Ke[2*i:2*i+2,2*j:2*j+2]

#應(yīng)用邊界條件

K=K[np.ix_(np.where(boundary_conditions[:,0]==0)[0],np.where(boundary_conditions[:,0]==0)[0])]

forces=forces[np.where(boundary_conditions[:,0]==0)[0],:]

#求解位移

displacements=np.linalg.solve(K,forces)

#輸出位移

print("節(jié)點(diǎn)位移:")

print(displacements)7.1.4描述上述代碼首先定義了材料屬性、板的尺寸、單元和節(jié)點(diǎn)數(shù)。然后,創(chuàng)建了節(jié)點(diǎn)坐標(biāo)和單元節(jié)點(diǎn)列表。接著,定義了邊界條件和外力。通過(guò)計(jì)算彈性矩陣和整體剛度矩陣,應(yīng)用邊界條件后,使用線性代數(shù)求解器求解未知節(jié)點(diǎn)位移。最后,輸出位移結(jié)果。7.2維彈性問(wèn)題的數(shù)值模擬7.2.1原理三維彈性問(wèn)題涉及結(jié)構(gòu)在三個(gè)方向上的變形。在有限元分析中,結(jié)構(gòu)被劃分為三維單元,每個(gè)節(jié)點(diǎn)有三個(gè)自由度(x、y和z方向的位移)。三維問(wèn)題的分析步驟與平面應(yīng)力問(wèn)題類(lèi)似,但需要處理更復(fù)雜的單元形狀和更多的自由度。7.2.2內(nèi)容結(jié)構(gòu)離散化考慮一個(gè)立方體結(jié)構(gòu),邊長(zhǎng)為a。將結(jié)構(gòu)劃分為m×n×p個(gè)六面體單元,每個(gè)單元有八個(gè)節(jié)點(diǎn)。單元分析對(duì)于每個(gè)六面體單元,使用三維位移函數(shù)近似位移場(chǎng)。位移函數(shù)可以表示為:uvw整體分析將所有單元的局部剛度矩陣組裝成整體剛度矩陣。整體剛度矩陣的大小為3mn×后處理使用求得的節(jié)點(diǎn)位移,計(jì)算每個(gè)單元的應(yīng)變和應(yīng)力。應(yīng)變可以通過(guò)位移函數(shù)的導(dǎo)數(shù)得到,應(yīng)力則通過(guò)材料的彈性矩陣和應(yīng)變的關(guān)系計(jì)算。7.2.3示例代碼以下是一個(gè)簡(jiǎn)化示例,展示如何使用Python和NumPy庫(kù)計(jì)算一個(gè)簡(jiǎn)單立方體結(jié)構(gòu)的位移。importnumpyasnp

#材料屬性

E=200e9#彈性模量,單位:Pa

nu=0.3#泊松比

a=1.0#邊長(zhǎng),單位:m

#單元和節(jié)點(diǎn)數(shù)

m=2

n=2

p=2

#創(chuàng)建節(jié)點(diǎn)坐標(biāo)

nodes=np.zeros((m*n*p,3))

foriinrange(m):

forjinrange(n):

forkinrange(p):

nodes[i*n*p+j*p+k,0]=i*a/(m-1)

nodes[i*n*p+j*p+k,1]=j*a/(n-1)

nodes[i*n*p+j*p+k,2]=k*a/(p-1)

#創(chuàng)建單元節(jié)點(diǎn)列表

elements=np.array([[0,1,3,2,4,5,7,6],[1,2,6,5,9,10,14,13]])

#定義邊界條件

boundary_conditions=np.zeros((m*n*p,3))

boundary_conditions[0,:]=1#固定左下前角節(jié)點(diǎn)

#定義外力

forces=np.zeros((m*n*p,3))

forces[-1,2]=-1000#在右上后角節(jié)點(diǎn)施加垂直向下的力

#彈性矩陣

D=E/(1+nu)/(1-2*nu)*np.array([[1-nu,nu,nu,0,0,0],

[nu,1-nu,nu,0,0,0],

[nu,nu,1-nu,0,0,0],

[0,0,0,(1-2*nu)/2,0,0],

[0,0,0,0,(1-2*nu)/2,0],

[0,0,0,0,0,(1-2*nu)/2]])

#計(jì)算整體剛度矩陣

K=np.zeros((3*m*n*p,3*m*n*p))

foreleminelements:

#計(jì)算單元?jiǎng)偠染仃?/p>

Ke=np.zeros((24,24))

#...(此處省略具體計(jì)算單元?jiǎng)偠染仃嚨拇a)

#將單元?jiǎng)偠染仃囂砑拥秸w剛度矩陣中

foriinrange(8):

forjinrange(8):

K[3*elem[i]:3*elem[i]+3,3*elem[j]:3*elem[j]+3]+=Ke[3*i:3*i+3,3*j:3*j+3]

#應(yīng)用邊界條件

K=K[np.ix_(np.where(boundary_conditions[:,0]==0)[0],np.where(boundary_conditions[:,0]==0)[0])]

forces=forces[np.where(boundary_conditions[:,0]==0)[0],:]

#求解位移

displacements=np.linalg.solve(K,forces)

#輸出位移

print("節(jié)點(diǎn)位移:")

print(displacements)7.2.4描述此代碼示例首先定義了材料屬性、結(jié)構(gòu)尺寸、單元和節(jié)點(diǎn)數(shù)。然后,創(chuàng)建了節(jié)點(diǎn)坐標(biāo)和單元節(jié)點(diǎn)列表。接著,定義了邊界條件和外力。通過(guò)計(jì)算彈性矩陣和整體剛度矩陣,應(yīng)用邊界條件后,使用線性代數(shù)求解器求解未知節(jié)點(diǎn)位移。最后,輸出位移結(jié)果。7.3復(fù)合材料結(jié)構(gòu)的有限元分析7.3.1原理復(fù)合材料結(jié)構(gòu)由不同材料層組成,每層可能有不同的彈性模量和泊松比。在有限元分析中,需要考慮各層材料的屬性,以及層間可能的相互作用。復(fù)合材料的分析通常使用層合板理論,其中每個(gè)層的屬性被轉(zhuǎn)換為整體結(jié)構(gòu)的屬性。7.3.2內(nèi)容結(jié)構(gòu)離散化考慮一個(gè)由多層材料組成的復(fù)合材料板,每層厚度不同。將板劃分為多個(gè)小的單元,每個(gè)單元用節(jié)點(diǎn)表示。單元分析對(duì)于每個(gè)單元,使用層合板理論計(jì)算整體的剛度矩陣。層合板理論考慮了各層材料的彈性模量、泊松比和厚度,以及層間相互作用。整體分析將所有單元的局部剛度矩陣組裝成整體剛度矩陣。應(yīng)用邊界條件,如固定邊界或施加外力,然后求解未知節(jié)點(diǎn)位移。后處理使用求得的節(jié)點(diǎn)位移,計(jì)算每個(gè)單元的應(yīng)力和應(yīng)變。應(yīng)變可以通過(guò)位移函數(shù)的導(dǎo)數(shù)得到,應(yīng)力則通過(guò)材料的彈性矩陣和應(yīng)變的關(guān)系計(jì)算。7.3.3示例代碼以下是一個(gè)簡(jiǎn)化示例,展示如何使用Python和NumPy庫(kù)分析一個(gè)簡(jiǎn)單復(fù)合材料板的位移。importnumpyasnp

#材料屬性

E1=200e9#第一層彈性模量,單位:Pa

nu1=0.3#第一層泊松比

t1=0.001#第一層厚度,單位:m

E2=150e9#第二層彈性模量,單位:Pa

nu2=0.25#第二層泊松比

t2=0.002#第二層厚度,單位:m

#板的尺寸

L=1.0#長(zhǎng)度,單位:m

W=0.5#寬度,單位:m

#單元和節(jié)點(diǎn)數(shù)

m=2

n=2

#創(chuàng)建節(jié)點(diǎn)坐標(biāo)

nodes=np.zeros((m*n,2))

foriinrange(m):

forjinrange(n):

nodes[i*n+j,0]=i*L/(m-1)

nodes[i*n+j,1]=j*W/(n-1)

#創(chuàng)建單元節(jié)點(diǎn)列表

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

#定義邊界條件

boundary_conditions=np.zeros((m*n,2))

boundary_conditions[0,:]=1#固定左下角節(jié)點(diǎn)

#定義外力

forces=np.zeros((m*n,2))

forces[-1,1]=-1000#在右上角節(jié)點(diǎn)施加垂直向下的力

#層合板理論計(jì)算整體剛度矩陣

D=np.zeros((3,3))

D+=t1/(1-nu1**2)*np.array([[E1,nu1*E1,0],[nu1*E1,E1,0],[0,0,(1-nu1)/2*E1]])

D+=t2/(1-nu2**2)*np.array([[E2,nu2*E2,0],[nu2*E2,E2,0],[0,0,(1-nu2)/2*E2]])

#計(jì)算整體剛度矩陣

K=np.zeros((2*m*n,2*m*n))

foreleminelements:

#計(jì)算單元?jiǎng)偠染仃?/p>

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

#...(此處省略具體計(jì)算單元?jiǎng)偠染仃嚨拇a)

#將單元?jiǎng)偠染仃囂砑拥秸w剛度矩陣中

foriinrange(4):

forjinrange(4):

K[2*elem[i]:2*elem[i]+2,2*elem[j]:2*elem[j]+2]+=Ke[2*i:2*i+2,2*j:2*j+2]

#應(yīng)用邊界條件

K=K[np.ix_(np.where(boundary_conditions[:,0]==0)[0],np.where(boundary_conditions[:,0]==0)[0])]

forces=forces[np.where(boundary_conditions[:,0]==0)[0],:]

#求解位移

displacements=np.linalg.solve(K,forces)

#輸出位移

print("節(jié)點(diǎn)位移:")

print(displacements)7.3.4描述此代碼示例首先定義了復(fù)合材料板的各層材料屬性、板的尺寸、單元和節(jié)點(diǎn)數(shù)。然后,創(chuàng)建了節(jié)點(diǎn)坐標(biāo)和單元節(jié)點(diǎn)列表。接著,定義了邊界條件和外力。通過(guò)層合板理論計(jì)算整體剛度矩陣,然后組裝整體剛度矩陣,應(yīng)用邊界條件后,使用線性代數(shù)求解器求解未知節(jié)點(diǎn)位移。最后,輸出位移結(jié)果。請(qǐng)注意,實(shí)際的單元?jiǎng)偠染仃囉?jì)算需要考慮復(fù)合材料的層間相互作用,這在示例中被省略了。8結(jié)論與未來(lái)方向8.1有限元法在工程中的應(yīng)用展望有限元法(Finite

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論