求问:二维三角形单元的高斯积分点和权系数如何求?
我现在正在做一个电场计算的程序,在求边界电场刚度阵的时候,应用7个高斯节点精度不够~书中一般都是只给到7个积分点,哪位大神有求辐射单元高斯积分点的matlab程序或者积分表也成~高于7个积分点的~万分感谢! 本帖最后由 犟牛 于 2012-9-7 09:50 编辑高斯点
搞错了,上面发的一维的,重新发一个二维的 回复 3 # 犟牛 的帖子
万分感谢~但是这个是对称结构的高斯点,就是适用于四边形单元,不适用于三角形单元啊~有木有三角形单元的高斯点啊? 本帖最后由 犟牛 于 2012-9-11 15:26 编辑
1
-0.333333333333333-0.3333333333333332.000000000000000
Gaussquadraturepointsandweightsonthereferencetriangleorderp=1
3
-0.666666666666667-0.6666666666666670.666666666666667
-0.6666666666666670.3333333333333330.666666666666667
0.333333333333333-0.6666666666666670.666666666666667
Gaussquadraturepointsandweightsonthereferencetriangleorderp=2
4
-0.333333333333333-0.333333333333333-1.125000000000000
-0.600000000000000-0.6000000000000001.041666666666667
-0.6000000000000000.2000000000000001.041666666666667
0.200000000000000-0.6000000000000001.041666666666667
Gaussquadraturepointsandweightsonthereferencetriangleorderp=3
6
-0.108103018168070-0.1081030181680700.446763179356022
-0.108103018168070-0.7837939636638600.446763179356022
-0.783793963663860-0.1081030181680700.446763179356022
-0.816847572980458-0.8168475729804580.219903487310644
-0.8168475729804580.6336951459609180.219903487310644
0.633695145960918-0.8168475729804580.219903487310644
Gaussquadraturepointsandweightsonthereferencetriangleorderp=4
7
-0.333333333333333-0.3333333333333330.450000000000000
-0.059715871789770-0.0597158717897700.264788305577012
-0.059715871789770-0.8805682564204600.264788305577012
-0.880568256420460-0.0597158717897700.264788305577012
-0.797426985353088-0.7974269853530880.251878361089654
-0.7974269853530880.5948539707061740.251878361089654
0.594853970706174-0.7974269853530880.251878361089654
Gaussquadraturepointsandweightsonthereferencetriangleorderp=5
12
-0.501426509658180-0.5014265096581800.233572551452758
-0.5014265096581800.0028530193163580.233572551452758
0.002853019316358-0.5014265096581800.233572551452758
-0.873821971016996-0.8738219710169960.101689812740414
-0.8738219710169960.7476439420339920.101689812740414
0.747643942033992-0.8738219710169960.101689812740414
-0.3792950979324320.2730049982427980.165702151236748
0.273004998242798-0.8937099003103660.165702151236748
-0.893709900310366-0.3792950979324320.165702151236748
-0.379295097932432-0.8937099003103660.165702151236748
0.273004998242798-0.3792950979324320.165702151236748
-0.8937099003103660.2730049982427980.165702151236748
Gaussquadraturepointsandweightsonthereferencetriangleorderp=6
13
-0.333333333333333-0.333333333333333-0.299140088935364
-0.479308067841920-0.4793080678419200.351230514866416
-0.479308067841920-0.0413838643161600.351230514866416
-0.041383864316160-0.4793080678419200.351230514866416
-0.869739794195568-0.8697397941955680.106694471217676
-0.8697397941955680.7394795883911360.106694471217676
0.739479588391136-0.8697397941955680.106694471217676
-0.3742690079902520.2768883771396200.154227521780514
0.276888377139620-0.9026193691493680.154227521780514
-0.902619369149368-0.3742690079902520.154227521780514
-0.374269007990252-0.9026193691493680.154227521780514
0.276888377139620-0.3742690079902520.154227521780514
-0.9026193691493680.2768883771396200.154227521780514
Gaussquadraturepointsandweightsonthereferencetriangleorderp=7
16
-0.333333333333333-0.3333333333333330.288631215355574
-0.081414823414554-0.0814148234145540.190183268534570
-0.081414823414554-0.8371703531708920.190183268534570
-0.837170353170892-0.0814148234145540.190183268534570
-0.658861384496480-0.6588613844964800.206434741069436
-0.6588613844964800.3177227689929600.206434741069436
0.317722768992960-0.6588613844964800.206434741069436
-0.898905543365938-0.8989055433659380.064916995246396
-0.8989055433659380.7978110867318760.064916995246395
0.797811086731876-0.8989055433659380.064916995246396
-0.4737743407307240.4569847859108080.054460628348870
0.456984785910808-0.9832104451800840.054460628348870
-0.983210445180084-0.4737743407307240.054460628348870
-0.473774340730724-0.9832104451800840.054460628348870
0.456984785910808-0.4737743407307240.054460628348870
-0.9832104451800840.4569847859108080.054460628348870
Gaussquadraturepointsandweightsonthereferencetriangleorderp=8
能不能把计算的程序发一下。楼主好人!!! 请问你能不能发一个用面积坐标表示的二维高斯积分点的结果。多谢啦。{:{03}:} 现在也在做一个有限元的作业,需要二维的高斯积分点 高斯积分点及其权重的计算程序,大家自己算去吧function = md_gauss(n,dimension,symbolic,type)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Program: Multi-dimensional gauss points calculator with weight
% functions
% Author: Brent Lewis
% rocketlion@gmail.com
% History: Originally written: 10/30/2006
% Revision for symbolic logic:1/2/2007
% Purpose: Program calculates the gauss points for 1-D,2-D,3-D along
% with their weights for use in numerical integration.
% Originally written for a Finite Element Program so has the
% capability to give integration points for a 6-node Triangle
% element
% Input: n: Number of gauss points(Must be integer 0<n<22
% dimension:Dimension of space for gauss points(optional)
% symbolic: Logical statement for return values in symbolic
% form(optional)
% type: Type of finite element(optional)
% Output: point: Gauss points in either vector or matrix form
% depeding on dimensions
% c: Weighting values for Gaussian integration
% Example: = md_gauss(2)
% Returns the point = +/-sqrt(1/3) and c = 1 1 which are the
% gauss points and integration weights for 2 Gauss point rule
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Multiple Levels of Input with default values
if nargin == 1
dimension = 1;
type = 'QUAD4';
symbolic = 0;
elseif nargin == 2
type = 'QUAD4';
symbolic = 0;
elseif nargin == 3
type = 'QUAD4';
end
if strcmp(upper(symbolic),'TRUE')
symbolic = 1;
else
symbolic = 0;
end
% Error determination
if n < 1 || n > 21
error('Number of gauss points must be 0<n<21.') % Factorial only accurate to n = 21
elseif mod(n,1) ~= 0
error('Points must be integer value') % Check for non-integer points
elseif dimension < 1 || dimension > 3
error('Dimension error:0<Dimension<4') % Dimension check
end
if strcmp(upper(type), 'QUAD4') || strcmp(upper(type), 'QUAD8') || strcmp(upper(type), 'QUAD9')
syms x
if n == 1
point_1D = 0;
c_1D = 2;
else
P = 1/(2^n*factorial(n))*diff((x^2-1)^n,n);% Rodrigues' Formula
point_1D = double(solve(P));
% Weight Function described in Numerical Analysis book 8th edition-
% Richard Burden page 223
for i = 1 : length(point_1D)
prod = 1;
for j = 1 : length(point_1D)
if i == j
continue
else
prod = prod*(x-point_1D(j))/(point_1D(i)-point_1D(j));
end
end
c_1D(i,1) = double(int(sym(prod),-1,1));
end
end
if dimension == 1
point = point_1D;
c = c_1D;
elseif dimension == 2
k = 1;
for i = 1:n
for j = 1:n
point(k,:) = ;
c(k,1) = c_1D(i)*c_1D(j);
k = k+1;
end
end
elseif dimension == 3
m = 1;
for i = 1 : n
for j = 1 : n
for k = 1 : n
point(m,:) = ;
c(m,1) = c_1D(i)*c_1D(j)*c_1D(k);
m = m+1;
end
end
end
end
elseif strcmp(upper(type), 'TRI6')
if n == 1
point = ones(3,1)/3;
c = 1;
elseif n == 3
point = ones(3)/3+eye(3)/3;
c = ones(3,1)/3;
elseif n == -3
point = ones(3)/2-eye(3)/2;
c = ones(3,1)/3;
elseif n == 6
g1 = (8-sqrt(10)+sqrt(38-44*sqrt(2/5)))/18;
g2 = (8-sqrt(10)-sqrt(38-44*sqrt(2/5)))/18;
point = ;
c = ones(6,1)*(213125-53320*sqrt(10))/3720;
elseif n == -6
point = ;
c = ;
elseif n == 7
g1 = (6-sqrt(15))/21;
g2 = (6+sqrt(15))/21;
point = ;
c = ;
end
elseif strcmp(upper(type), 'TRI3')
point =[];
c = [];
end
if symbolic == 1
point = sym(point);
c = sym(c);
end
刚好要用到,找了半天终于找到了,感谢分享! 非常有用,感谢 meifan2015 发表于 2015-11-2 19:24
刚好要用到,找了半天终于找到了,感谢分享!
这个程序四边形可以用吗? renren 发表于 2015-12-10 13:21
这个程序四边形可以用吗?
应该是可以的,程序中的type就是控制单元类型的,从程序上看有QUAD4等四边形单元 {:{40}:}
页:
[1]