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

44 lines
1.2 KiB
Matlab

function out=BF_E(u,v,w,n)
if n==1
out=[v-3*u*v,-u+3*u*u,0];
elseif n==2
out=[v-3*v*v,-u+3*u*v,0];
elseif n==3
out=[w-3*u*w,0,-u+3*u*u];
elseif n==4
out=[w-3*w*w,0,-u+3*u*w];
elseif n==5
out=[1-3*u-v+3*u*v-w+3*u*w,u-3*u*u,u-3*u*u];
elseif n==6
out=[-2+3*u+5*v-3*u*v-3*v*v+5*w-3*u*w-6*v*w-3*w*w,-2*u+3*u*u+3*u*v+3*u*w,-2*u+3*u*u+3*u*v+3*u*w];
elseif n==7
out=[0,w-3*v*w,-v+3*v*v];
elseif n==8
out=[0,w-3*w*w,-v+3*v*w];
elseif n==9
out=[v-3*v*v,1-u-3*v+3*u*v-w+3*v*w,v-3*v*v];
elseif n==10
out=[-2*v+3*u*v+3*v*v+3*v*w,-2+5*u-3*u*u+3*v-3*u*v+5*w-6*u*w-3*v*w-3*w*w,-2*v+3*u*v+3*v*v+3*v*w];
elseif n==11
out=[w-3*w*w,w-3*w*w,1-u-v-3*w+3*u*w+3*v*w];
elseif n==12
out=[-2*w+3*u*w+3*v*w+3*w*w,-2*w+3*u*w+3*v*w+3*w*w,-2+5*u-3*u*u+5*v-6*u*v-3*v*v+3*w-3*u*w-3*v*w];
elseif n==13
out=[-3*v*w,3*u*w,0];
elseif n==14
out=[-3*v*w,0,3*u*v];
elseif n==15
out=[-3*v+3*u*v+3*v*v+3*v*w,3*u-3*u*u-3*u*v-3*u*w,0];
elseif n==16
out=[-3*v+3*v*v+3*v*w,-3*u*v,-3*u*v];
elseif n==17
out=[-3*w+3*u*w+3*v*w+3*w*w,0,3*u-3*u*u-3*u*v-3*u*w];
elseif n==18
out=[-3*w+3*v*w+3*w*w,-3*u*w,-3*u*w];
elseif n==19
out=[0,-3*w+3*u*w+3*v*w+3*w*w,3*v-3*u*v-3*v*v-3*v*w];
elseif n==20
out=[-3*v*w,-3*w+3*u*w+3*w*w,-3*v*w];
end
end