182人阅读 评论(0)

# libmesh 实现 流程

371人阅读 评论(0) 收藏 举报

Poisson Equation $- \Delta u = f$

Weak Form$(F(u),v) = \int _{\Omega} \nabla u \cdot \nabla v dV + \int_{\partial \Omega} \nabla u \cdot \textbf{n} dS$

FEM Approximation$(F(u^h),v^h) = \int _{\Omega^h} \nabla u^h \cdot \nabla v^h dV = \sum_{e=1}^{Ne} \int_{\Omega^e} \nabla u^h \cdot \nabla v^h dV^e$

Basic Function/Shape Function$v^h|_{\Omega^e} = \sum_{i=1}^N v_i \phi_i$

Approximation in Element Level$\int_{\Omega^e}v^h f dV = v_i \sum_{i=1}^N f \phi_i \\ \int_{\Omega^e} \nabla u \nabla v dV = v_i \sum_{i=1}^N \nabla \phi_j \nabla \phi_i u_j$

Matrix Notation$K^e U^e = F^e$

Local To Global Element Map$F^e = \int_{\Omega_e } f \phi_i dV = \int_{\hat \Omega_e} f(x(\xi)) \phi_i |J| d \xi \\K^e = \int_{\Omega_e } \phi_j \cdot \phi_i dV = \int_{\hat \Omega_e} \hat \nabla\phi_j \hat \nabla\phi_i |J| d \xi \\where, \hat \nabla = J^{-1} \nabla$

Integrals Numerical Quadrature with Nq points at \xi_q with weight value w_q $F^e = \int_{\hat \Omega_e} f(x(\xi)) \phi_i |J| d \xi \approx \sum_{q=1}^N f(\xi_q) \phi(\xi_q) J(\xi_q) w_q\\K^e = \int_{\hat \Omega_e} \hat \nabla\phi_j \hat \nabla\phi_i |J| d \xi \approx \sum_{q=1}^N \phi _j(\xi_q) \phi _i(\xi_q) J(\xi_q) w_q$

Libmesh provides the following variables at each Quadrature Point JxW -> J(\xi_q) w_q phi[i][q] -> \phi_i{\xi_q) dphi[i][q] -> \nabla \phi_i(\xi_q) xyz[q] -> x(\xi_q) 至此，给出了poisson方程完整的libmesh分析流程。参考libmesh slides.

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：99314次
• 积分：1826
• 等级：
• 排名：千里之外
• 原创：34篇
• 转载：217篇
• 译文：19篇
• 评论：8条
GPU_CUDA异构并行计算
评论排行
阅读排行
最新评论
文史哲