37 lines
1.5 KiB
Mathematica
37 lines
1.5 KiB
Mathematica
|
|
%%%%%%%%%%% һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥Ԫ<EFBFBD><EFBFBD>λ<EFBFBD>նȾ<EFBFBD><EFBFBD><EFBFBD> %%%%%%%%%%%
|
|||
|
|
% Ke<EFBFBD><EFBFBD>λ<EFBFBD>նȾ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% D<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>-Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% ElementNodeCoordinate<EFBFBD><EFBFBD>Ԫ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣨8*3<EFBFBD><EFBFBD>ÿһ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣩
|
|||
|
|
function [Ke,P_dT]=Ke(D, ElementNodeCoordinate,epsilon0)
|
|||
|
|
% <EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GaussCoordinate=[-0.57735026918963D0, 0.57735026918963D0];
|
|||
|
|
%<EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ȩ<EFBFBD><EFBFBD>
|
|||
|
|
GaussWeight=[1.00000000000000D0, 1.00000000000000D0];
|
|||
|
|
%<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ն<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Ke=zeros(24,24);
|
|||
|
|
P_dT=zeros(24,1);
|
|||
|
|
%ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD>
|
|||
|
|
for X=1:2
|
|||
|
|
for Y=1:2
|
|||
|
|
for Z=1:2
|
|||
|
|
GP1=GaussCoordinate(X); GP2=GaussCoordinate(Y); GP3=GaussCoordinate(Z); %<EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NDerivative<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſɱȾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>JacobiDET<EFBFBD><EFBFBD>
|
|||
|
|
[~,NDerivative, JacobiDET] = ShapeFunction([GP1 GP2 GP3], ElementNodeCoordinate);
|
|||
|
|
Coefficient=GaussWeight(X)*GaussWeight(Y)*GaussWeight(Z)*JacobiDET;
|
|||
|
|
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NDerivative<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
B=zeros(6,24);
|
|||
|
|
for I=1:8
|
|||
|
|
COL=(I-1)*3+1:(I-1)*3+3;
|
|||
|
|
B(:,COL)=[NDerivative(1,I) 0 0;
|
|||
|
|
0 NDerivative(2,I) 0;
|
|||
|
|
0 0 NDerivative(3,I);
|
|||
|
|
NDerivative(2,I) NDerivative(1,I) 0;
|
|||
|
|
0 NDerivative(3,I) NDerivative(2,I);
|
|||
|
|
NDerivative(3,I) 0 NDerivative(1,I)];
|
|||
|
|
end
|
|||
|
|
Ke=Ke+Coefficient*B'*D*B; %<EFBFBD><EFBFBD><EFBFBD>Ӹն<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
P_dT=P_dT+Coefficient*B'*D*epsilon0;%<EFBFBD><EFBFBD>Ч<EFBFBD>¶Ⱥ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|