XIAN-FEM-2026June/三维matlab代码/matlab 3D二阶基+散射边界条件+单周期边界/getGaussPoints.m

39 lines
2.1 KiB
Matlab

function [u,v,w,weight,nbrGP]=getGaussPoints(type)
if type==1 %四面体
u = [ 0.25,...
0.0919710780526,0.0919710780526,0.0919710780526,0.724086765841,...
0.319793627829,0.319793627829,0.319793627829,0.0406191165118,...
0.0563508326895,0.0563508326895,0.44364916731,0.0563508326895,...
0.44364916731,0.44364916731 ];
v = [ 0.25,...
0.0919710780526,0.0919710780526,0.724086765841,0.0919710780526,...
0.319793627829,0.319793627829,0.0406191165118,0.319793627829,...
0.0563508326895,0.44364916731,0.0563508326895,0.44364916731,...
0.0563508326895,0.44364916731 ];
w = [ 0.25,...
0.0919710780526,0.724086765841,0.0919710780526,0.0919710780526,...
0.319793627829,0.0406191165118,0.319793627829,0.319793627829,...
0.44364916731,0.0563508326895,0.0563508326895,0.44364916731,...
0.44364916731,0.0563508326895 ];
weight = [0.0197530864198,...
0.0119895139632,0.0119895139632,0.0119895139632,0.0119895139632,...
0.011511367871,0.011511367871,0.011511367871,0.011511367871,...
0.00881834215168,0.00881834215168,0.00881834215168,0.00881834215168,...
0.00881834215168,0.00881834215168];
nbrGP = 15;
else %三角形
nbrGP=12;
u=[0.873821971016996, 0.063089014491502, 0.063089014491502, 0.501426509658179,...
0.249286745170910, 0.249286745170910, 0.636502499121399, 0.310352451033785,...
0.636502499121399, 0.310352451033785, 0.053145049844816, 0.053145049844816];
v=[0.063089014491502, 0.873821971016996, 0.063089014491502, 0.249286745170910,...
0.501426509658179, 0.249286745170910, 0.310352451033785, 0.636502499121399,...
0.053145049844816, 0.053145049844816, 0.310352451033785, 0.636502499121399];
w=[0,0,0,0,...
0,0,0,0,...
0,0,0,0];
weight=[0.025422453185104, 0.025422453185104, 0.025422453185104, 0.058393137863189,...
0.058393137863189, 0.058393137863189, 0.041425537809187, 0.041425537809187,...
0.041425537809187, 0.041425537809187, 0.041425537809187, 0.041425537809187];
end