版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于PETSc的有限元并行程序設(shè)計可移植可擴(kuò)展科學(xué)計算工具箱PETSc(Portable,ExtensibleToolkitforScientificComputation)并行有限元求解程序背景:1、計算規(guī)模日益增大而計算資源不足!2、編寫并行的有限元程序難度很大!1、PETSc工具箱簡介3、基于PETSc的有限元求解程序設(shè)計2、PETSc程序示例主要內(nèi)容1、PETSc工具箱簡介:工具箱結(jié)構(gòu)MatVecBlasLapackMPIKSPSNESTS求解器組件底層用戶開發(fā)平臺數(shù)據(jù)結(jié)構(gòu)組件1、PETSc是系列數(shù)據(jù)結(jié)構(gòu)和功能子程序的集合。2、PETSc提供了高層的程序開發(fā)平臺!分布式的數(shù)據(jù)結(jié)構(gòu)高效的并行求解器矩陣Mat向量Vec非線性求解器SNES時間步進(jìn)求解器TS線性求解器KSP1、PETSc工具箱簡介1、PETSc工具箱簡介:工具箱結(jié)構(gòu)1、PETSc工具箱簡介:下載與編譯主頁:/petsc/petsc-as/Download:源碼(petsc-3.4.4.tar.gz)可調(diào)用的庫文件(包括頭文件)編譯cygwin,winfe,cl...用戶編程PETSc功能
調(diào)用將庫文件(.lib文件)和頭文件添加到用戶的配置中,主要有以下內(nèi)容:1、MPI的頭文件和庫文件MPICH2_DIR/includeMPICH2_DIR/lib(mpi.lib)2、線性代數(shù)運(yùn)算庫(Blas&Lapack)(libf2cblas.lib、libf2clapack.lib)3、PETSc的庫文件和頭文件petsc-3.2-p7\includepetsc-3.2-p7\arch-mswin-c-debug\includepetsc-3.2-p7\arch-mswin-c-debug\lib(libpetsc.lib)注:
由于鏈接庫沖突,通常需要禁用LIBCMT.lib。1、PETSc工具箱簡介:一種Windows下PETSc靜態(tài)庫調(diào)用2、PETSc程序示例:運(yùn)行1、SolveLinearSystem.cpp程序PetscInitialize(&argc,&args,(char*)0,help);功能類似于MPI_Init(&argc,&argv)形成PETSc的數(shù)據(jù)結(jié)構(gòu)(Mat&Vec)調(diào)用PETSc解法器求解(KSP/SNES/TS)PetscFinalize(void);功能類似于MPI_Finalize()并行的數(shù)據(jù)結(jié)構(gòu)(Mat&Vec)1、省去的存儲的細(xì)節(jié),尤其是在分布式計算中。2、提供了運(yùn)算函數(shù),如MatMult(A,x,y)。大量的成熟的方程組并行解法,包括直接法,迭代法和預(yù)條件子!2、PETSc程序示例:程序結(jié)構(gòu)1、聲明。2、創(chuàng)建。3、設(shè)置(賦值)。4、使用。5、釋放。矩陣Mat聲明:MatA;創(chuàng)建:MatCreate(A…);設(shè)置(賦值):MatSet…(A…);聚集:VecAssembly…(A…);使用:如KSP調(diào)用;釋放:MatDestroy(&A);向量Vec聲明:Vecx;創(chuàng)建:VecCreate(x…);設(shè)置(賦值):VecSet…(x…);聚集:VecAssembly…(x…);使用:如KSP調(diào)用;釋放:VecDestroy(&x);線性解法器KSP聲明:KSPksp;創(chuàng)建:KSPCreate(ksp…);設(shè)置:KSPSet…(ksp…);使用:KSPSolve(ksp…);釋放:KSPDestroy(&ksp);2、PETSc程序示例:組件的使用程序1、”ierr=“和CHKERRQ(ierr)函數(shù);
petsc的錯誤跟蹤,記錄下可能出錯的函數(shù)和錯誤原因。2、MatSetValue&VecSetValue(MatSetValues&VecSetValues)MatSetValue(A,i,j,v,ADD_VALUES);VecSetValue(x,i,v,ADD_VALUES);
為矩陣(向量)賦值。賦值模式:INSERT_VALUE替換
ADD_VALUDE疊加
并行程序中,只要處理器指定其整體行列號即可完成操作,而不必關(guān)心該元素是否在本處理器上。2、PETSc程序示例:幾個PETSc函數(shù)在編譯成可執(zhí)行文件后(**.exe)后,仍能改變程序中的設(shè)置。(程序中的預(yù)置)如:-mat_view將矩陣打印于屏幕(aij格式)
-mat_view_info將矩陣信息打印于屏幕
-ksp_view
顯示迭代法求解器的信息-ksp_typefgmres將迭代方法改為fgmres2、PETSc程序示例:運(yùn)行時選項(Runningoption)基本所有函數(shù)的解釋目錄:petsc-3.3-p5\docs\manualpagesPETSc組件的使用示例目錄:petsc-3.3-p5\src如KSP組件:petsc-3.3-p5\src\ksp\ksp\examples\testsPETSc用戶文檔目錄:petsc-3.3-p5\src\docs\manual.pdf2、PETSc程序示例:幫助文檔線彈性有限元的求解部分歸結(jié)為解線性方程組:[K]{δ}={P}3、基于PETSc的有限元求解程序設(shè)計:一種思路矩陣[A]和向量{p}與{δ}求解方程組Ax=bPETSc的數(shù)據(jù)結(jié)構(gòu):Mat———矩陣Vec———向量PETSc的求解器組件KSP———解線性方程組1、線彈性有限元程序的一般步驟:前處理建模,形成網(wǎng)格信息包括:單元信息節(jié)點(diǎn)信息材料信息約束信息荷載信息單元分析整體分析組裝總剛矩陣[K]for(ie=0;ie<NE;ie++){單剛計算;將單剛疊加至總剛}邊界條件修改方程“置大數(shù)法”“劃行劃列”求解支配方程組:[K]{δ}={p}大型線性方程組后處理輸出:位移云圖應(yīng)力云圖...3、基于PETSc的有限元求解程序設(shè)計:有限元流程前處理單元分析整體分析組裝總剛矩陣[K]邊界條件修改方程求解支配方程組:[K]{δ}={p}后處理進(jìn)程1進(jìn)程0進(jìn)程0求解支配方程組:[K]{δ}={p}求解支配方程組:[K]{δ}={p}單元分析整體分析組裝總剛矩陣[K]單元分析整體分析組裝總剛矩陣[K]3、基于PETSc的有限元求解程序設(shè)計:一種并行方法1、一種線彈性有限元程序并行化方法前處理單元分析整體分析組裝總剛矩陣[K]邊界處理求解支配方程組:[K]{u}={p}后處理1、提供成熟高效的方程組求解程序2、存儲總剛的矩陣結(jié)構(gòu)Mat和存儲列陣的向量結(jié)構(gòu)Vec分布式計算環(huán)境下!3、基于PETSc的有限元求解程序設(shè)計:一種并行方法網(wǎng)格信息PETSc求解器求解(KSP)輸出位移形成方程組的系數(shù)矩陣[K]和右端項{P}(PETSc)邊界處理修改方程3、基于PETSc的有限元求解程序設(shè)計:流程類似于數(shù)組空間動態(tài)分配程序一、輸入網(wǎng)格信息(代替前處理)節(jié)點(diǎn)信息NLIST.DAT單元信息ELIST.DAT材料信息NLIST.DAT受約束信息NLIST.DAT節(jié)點(diǎn)力信息NLIST.DAT3、基于PETSc的有限元求解程序設(shè)計:輸入ZFSolver:3、基于PETSc的有限元求解程序設(shè)計:分析主要過程分析:網(wǎng)格信息PETSc求解器求解(KSP)輸出位移形成方程組的系數(shù)矩陣[K]和右端項{P}(PETSc)邊界處理修改方程1、總剛矩陣[K]存儲預(yù)分配2、單剛計算及組集總剛(并行環(huán)境下)3、總剛方程求解(迭代方法)4、邊界修改(置“大數(shù)”法)1、矩陣的種類(Dense&Sparse)2、稀疏矩陣的預(yù)分配空間(類似于數(shù)組存儲空間的動態(tài)分配)。對于大型稀疏矩陣的聚集效率至關(guān)重要。3、提供預(yù)分配參數(shù)MatMPIAIJSetPreallocation(MatB,PetscIntd_nz,constPetscIntd_nnz[],PetscInto_nz,constPetscInto_nnz[])4、做法:對角矩陣和非矩陣對角的劃分存儲預(yù)分配參數(shù):若每行非零元素個數(shù)基本一樣,給出兩個常數(shù)(d_nz,o_nz)若精確存儲預(yù)分配,給出兩個整形數(shù)組(d_nnz[],o_nnz[])一、預(yù)分配矩陣存儲3、基于PETSc的有限元求解程序設(shè)計:過程分析
STLVector容器每個處理器均遍歷網(wǎng)格,按照節(jié)點(diǎn)號的劃分統(tǒng)計出對應(yīng)部分的共單元的節(jié)點(diǎn),并相應(yīng)的作自由度擴(kuò)展。并行矩陣的預(yù)分配:計算出每行對應(yīng)部分非零元素數(shù)目。在有限元中總剛矩陣中,只有共單元的才會對其有剛度貢獻(xiàn)。一、預(yù)分配矩陣存儲有限元總剛矩陣:高度稀疏、對稱,需要預(yù)分配找出節(jié)點(diǎn)的共單元關(guān)系3、基于PETSc的有限元求解程序設(shè)計:過程分析1、找出所有節(jié)點(diǎn)的共單元關(guān)系
for(intie=0;ie<NE;ie++)//所以單元循環(huán)
{
for(intid=0;id<4;id++)//處理與節(jié)點(diǎn)id共單元ie的節(jié)點(diǎn)
{
for(intjd=0;jd<4;jd++)
{………}
}
}
2、去重,排序、統(tǒng)計
3、自由度擴(kuò)展
4、得到預(yù)分配需要數(shù)組
以平面三個四邊形單元為例。二、單剛計算及組集總剛:每個單元循環(huán){Ele3D8N(EleCoor,iE,iMu,iDense,EK,RE);
//計算單剛Ke;MatSetValues(K,8,id,8,jd,EK,ADD_VALUES);
//Ke疊加至總剛;
}25/共33頁三、總剛方程的求解對于已經(jīng)賦值完畢的矩陣[K]和向量[p]就可以調(diào)用PETSc方程求解器進(jìn)行求解。26/共33頁置“大數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南建筑安全員《B證》考試題庫及答案
- 貴陽人文科技學(xué)院《先進(jìn)制造與特種加工》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州珠江職業(yè)技術(shù)學(xué)院《動物分子生物學(xué)C》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州應(yīng)用科技學(xué)院《日本近現(xiàn)代文學(xué)作品選讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州新華學(xué)院《東西方設(shè)計元素》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《電子商務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025海南省建筑安全員-B證考試題庫附答案
- 《固定收入證券》課件
- 一年級語文《借生日》
- 單位人力資源管理制度集錦匯編十篇
- 藝術(shù)漆培訓(xùn)課件
- 建德海螺二期施工組織設(shè)計
- 山東省菏澤市2023-2024學(xué)年高一上學(xué)期期末測試物理試題(解析版)
- 2024年學(xué)校后勤日用品采購合同范本2篇
- 中建中建機(jī)電工程聯(lián)動調(diào)試實施方案范本
- 新《安全生產(chǎn)法》安全培訓(xùn)
- 山東省濟(jì)南市2023-2024學(xué)年高一上學(xué)期1月期末考試 物理 含答案
- 中華人民共和國安全生產(chǎn)法知識培訓(xùn)
- 上海教育出版社 藝術(shù) 八年級上冊第三單元 鄉(xiāng)音鄉(xiāng)韻 京腔京韻系鄉(xiāng)情 教學(xué)設(shè)計
- 人教版(2024新教材)七年級上冊數(shù)學(xué)第一章《有理數(shù)》單元測試卷(含答案)
- 《色彩基礎(chǔ)知識》PPT課件(詳解)
評論
0/150
提交評論