XIAN-FEM-2026June/三维matlab代码/matlab 3D二阶矢量本征问题/Integrals.m

40 lines
1.5 KiB
Matlab

clc
clear all
IntegralOrder=15;
xt = [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];
yt = [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];
zt = [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];
pt = [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];
x=zeros(4,1);y=zeros(4,1);z=zeros(4,1);
x(1)=2;y(1)=0;z(1)=0;
x(2)=0;y(2)=1;z(2)=0;
x(3)=0;y(3)=0;z(3)=1;
x(4)=0;y(4)=0;z(4)=0;
Jac=zeros(3,3);
Jac(1,1)=x(1)-x(4);Jac(1,2)=y(1)-y(4);Jac(1,3)=z(1)-z(4);
Jac(2,1)=x(2)-x(4);Jac(2,2)=y(2)-y(4);Jac(2,3)=z(2)-z(4);
Jac(3,1)=x(3)-x(4);Jac(3,2)=y(3)-y(4);Jac(3,3)=z(3)-z(4);
DetJac=det(Jac);
out=0;
for i=1:IntegralOrder
out=out+pt(i)*DetJac*xt(i)*2;
end