文件
em3d-mt/bin/RMT3d/Set_material_3Ani.m
刘明宏 1e31390ba6 code
Signed-off-by: 刘明宏 <liuminghong@mail.sdu.edu.cn>
2025-04-29 07:11:41 +00:00

36 行
1.4 KiB
Matlab

function [parameter] = Set_material_3Ani(entity,anoID,airID,ano_xx,ano_yy,ano_zz,air,parameter_residual)
% entity: nelm*1, the domain index of a tetrahedral unit
% anoID: the domain index of anomalous body
% airID: the domain index of air
% ano_xx,ano_yy,ano_zz: the anisotropy parameter of anomalous body
% air: parameter of air domain
% parameter_residual: parameter of residual domain
nelems = size(entity,1);
parameter_xx = zeros(nelems,1);
parameter_yy = zeros(nelems,1);
parameter_zz = zeros(nelems,1);
na = length(anoID); %Number of anomalous domain
n_airentity=length(airID);
for i=1:n_airentity
%设置空气物性参数 Set the physical property parameters of air
parameter_xx(entity == airID(i))= air;
parameter_yy(entity == airID(i))= air;
parameter_zz(entity == airID(i))= air;
end
% 设置anoID区域物性参数 Set the physical property parameters of anoID
for ia = 1:na
parameter_xx(entity==anoID(ia))=ano_xx(ia);
parameter_yy(entity==anoID(ia))=ano_yy(ia);
parameter_zz(entity==anoID(ia))=ano_zz(ia);
end
%设置剩余区域物性参数 Set the physical property parameters of residual domain
parameter_xx(~ismember(entity, [anoID airID]))= parameter_residual;
parameter_yy(~ismember(entity, [anoID airID]))= parameter_residual;
parameter_zz(~ismember(entity, [anoID airID]))= parameter_residual;
parameter = [parameter_xx,parameter_yy,parameter_zz];
end