XIAN-FEM-2026June/三维matlab代码/2022-11 PML&&ABC/2022-11 PML/matlab代码及对应COMSOL模型/FemCirclePML2.m

36 lines
687 B
Matlab

clc
clear all
%背景场
%网格获取
model=mphload('demo4.mph');
[~, m2]=mphmeshstats(model);
Nodes=m2.vertex';%节点坐标
Elements=m2.elem{2}+1;
Elements = sort(Elements);%网格索引
edgeflag=m2.elementity{1};%边界
edge=m2.elem{1}+1;%边界边
% temp=edge(1,:);edge(1,:)=edge(2,:);edge(2,:)=temp;%处理边方向
domain=m2.elementity{2};%区域
%物理参数
lam0=1;
epsilonr=1;
mur=1;
%矩阵组装
[A,b,EdgesOfElements]=FemAssemble2(Nodes,Elements,edge,edgeflag,domain,lam0,epsilonr,mur);
%求解
Et=linsolve(A,b);
%计算Ex Ey
[Ex,Ey]=GetExEy(Nodes,Elements,EdgesOfElements,Et);
%绘制 网格及场图
% plotTri(Nodes,Elements');
plotEt(Nodes,Elements',Ex,Ey,0.1);