Advances in Applied Mathematics
Vol.06 No.06(2017), Article ID:22114,4 pages
10.12677/AAM.2017.66090

The Numerical Integration on Spatial Triangle

Hao Li

Guizhou Normal University, Guiyang Guizhou

Received: Sep. 2nd, 2017; accepted: Sep. 16th, 2017; published: Sep. 21st, 2017

ABSTRACT

This paper presents a method to solve numerical integration on spatial triangle by combing volume coordinates and numerical integration. This method is easy and efficient and can be programed. Finally, this paper gives the MATLAB program for any function to solve the numerical integration.

Keywords:Volume Coordinates, Spatial Triangle, Numerical Integration, MATLAB

空间三角形上的数值积分

李豪

贵州师范大学,贵州 贵阳

收稿日期:2017年9月2日;录用日期:2017年9月16日;发布日期:2017年9月21日

摘 要

本文通过引进体积坐标,结合数值积分,给出了统一求空间三角形上的数值积分方法。该方法方便快捷,易于程序化。最后本文给出了用该方法求任意函数数值积分的MATLAB程序。

关键词 :体积坐标,空间三角形,数值积分,MATLAB

Copyright © 2017 by author and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

在用有限元等数值方法计算求解工程中的数学问题时,我们通常会采用四面体(每个四面体我们称之为单元)对空间区域进行剖分。不可避免的,比如在计算残差项的时候,我们通常需要在四面体的一个面(这个面是一个空间三角形)上进行积分。理论上,我们可用第一型曲面积分公式 [1] :

S f ( x , y , z ) d S = D f ( x , y , z ( x , y ) ) 1 + z x 2 + z y 2 d x d y (1)

进行计算。但是,首先,四面体的各个面的大小、形状不一,统一求积分必然是一件困难的事情。其次被积函数有可能比较复杂,求得积分公式难以求得准确解,迫使我们不得不转向数值积分。最后,若用数值积分,将Oxy平面上单位三角形上的积分节点转化为空间三角形上的积分节点也不是件容易的事。

本文提供的方法,很好的解决了上述三个问题。使得我们在实际应用中能够快捷方便的求解任意一个函数在任意一个空间三角形上的积分。

2. 求积方法的思想

2.1. 空间直角坐标与体积坐标

我们设一个空间三角形ABC的三个顶点在空间直角坐标系下的坐标为 A ( x 1 , y 1 , z 1 ) B ( x 2 , y 2 , z 2 ) C ( x 3 , y 3 , z 3 ) ,为了引进体积坐标,我们需要引入不在 Δ A B C 所在平面的第四个点 D ( x 4 , y 4 , z 4 ) ,进而引入面积坐标 [2] :

p 1 ( x , y , z ) = [ x y z 1 x 2 y 2 z 2 1 x 3 y 3 z 3 1 x 4 y 4 z 4 1 ] / V , p 2 ( x , y , z ) = [ x 1 y 1 z 1 1 x y z 1 x 3 y 3 z 3 1 x 4 y 4 z 4 1 ] / V ,

p 3 ( x , y , z ) = [ x 1 y 1 z 1 1 x 2 y 2 z 2 1 x y z 1 x 4 y 4 z 4 1 ] / V , p 4 ( x , y , z ) = [ x 1 y 1 z 1 1 x 2 y 2 z 2 1 x 3 y 3 z 3 1 x y z 1 ] / V .

其中 为四面体ABCD的体积。

因此,对于空间直角坐标系中任意一点 p 的坐标 ( x , y , z ) ,可以用体积坐标表示如下:

x = x 1 p 1 + x 2 p 2 + x 3 p 3 + x 4 p 4 , y = y 1 p 1 + y 2 p 2 + y 3 p 3 + y 4 p 4 , z = z 1 p 1 + z 2 p 2 + z 3 p 3 + z 4 p 4 . (2)

性质1 [2] : p i ( x j , y j , z j ) = { 0 , i j 1 , i = j , ( i , j = 1 , 2 , 3 , 4 )

性质2 [2] : p 1 + p 2 + p 3 + p 4 = 1

2.2. 对函数求积分

设函数 u = u ( x , y , z ) 在空间三角形ABC有定义。由性质1知, p 4 在∆ABC所在平面恒为零,所以 p 1 + p 2 + p 3 = 1 。所以Oxy平面上直角边为1的等腰直角三角形上的积分节点 ( p 1 , p 2 ) 容易转化为其上的体积积分节点 ( p 1 , p 2 , 1 p 1 p 2 ) ,进而通过公式(2)映射成一般单元上的积分节点。

( p 1 i , p 2 i , p 3 i ) , i = 1 , 2 , , n 是一组积分节点,相应积分节点的权记为 w i ,于是由公式(2)我们可以求得一般空间三角形上的积分节点 ( x 1 i , y 2 i , z 3 i ) , i = 1 , 2 , , n 。于是

Δ A B C u ( x , y , z ) S Δ A B C i n f ( x 1 i , y 2 i , z 3 i ) (3)

其中 S Δ A B C 是∆ABC的面积。

3. 算法

Step 1:首先选择Oxy平面上单位三角形上的一组积分节点 ( p 1 i , p 2 i ) , i = 1 , 2 , , n 和相应的权 w i ,计算相应体积坐标积分节点 ( p 1 i , p 2 i , 1 p 1 i p 2 i ) , i = 1 , 2 , , n

Step 2:由公式(2)计算空间三角形上的积分节点 ( x 1 i , y 2 i , z 3 i ) , i = 1 , 2 , , n

Step 3:用公式(3)计算积分。

4. 示例

例1: S x y z d s S 为平面 x + y + z = 1 在第一卦限的部分。

解法一:用公式(1)求解

z = 1 x y , z x = 1 , z y = 1 , d s = 3 d x d y

所以

S x y z d s = D x y x y ( 1 x y ) 3 d x d y = 0 1 d x 0 1 x 3 x y ( 1 x y ) d y = 3 120 .

解法二:本文参考 [3] ,选用具有三次代数精度的求积节点,并通过MATLAB编程(见附录)求解如下:

程序输入:node=[1,0,0;0,1,0;0,0,1];

elem=[1,2,3];

u='x*y*z';

程序调用:s=example(node,elem,u)

程序输出:s =0.014433756729741

基金项目

贵州省科学技术基金项目《板振动问题的非协调有限元自适应算法》(项目合同编号:黔科合LH字[2014]7061号)。

文章引用

李豪. 空间三角形上的数值积分
The Numerical Integration on Spatial Triangle[J]. 应用数学进展, 2017, 06(06): 752-755. http://dx.doi.org/10.12677/AAM.2017.66090

参考文献 (References)

  1. 1. 华东师范大学数学系. 数学分析(第四版 下册) [M]. 北京: 高等教育出版社, 2011.

  2. 2. 王烈衡, 许学军. 有限元方法的数学基础[M]. 北京: 科学出版社, 2004.

  3. 3. Dunavant, D. (1985) High Degree Efficient Symmetrical Gaussian Quadrature Rules for the Triangle. International Journal for Numerical Methods in Engineering, 21, 1129-1148. https://doi.org/10.1002/nme.1620210612

附录

知网检索的两种方式:

1. 打开知网页面http://kns.cnki.net/kns/brief/result.aspx?dbPrefix=WWJD

下拉列表框选择:[ISSN],输入期刊ISSN:2324-7991,即可查询

2. 打开知网首页http://cnki.net/

左侧“国际文献总库”进入,输入文章标题,即可查询

投稿请点击:http://www.hanspub.org/Submission.aspx

期刊邮箱:aam@hanspub.org

期刊菜单