How can I correct the heat flux boundary condition errors for 3D model?

2 次查看(过去 30 天)
I completed sawing simulations using ANSYS transient thermal workbench, and I need to validate that using the PDE toolbox in MATLAB. In ANSYS, heat flux and convective boundary conditions are used, and I could not get the result when assigning the boundary conditions in the PDE toolbox due to some errors. Does anyone know how to assign heat flux boundary conditions for a 3D model?
Here I attached Ansys result
%% Model Setup for Glass
thermalmodel = createpde('thermal','transient');
gm = importGeometry(thermalmodel,'Glass.stl');
pdegplot(thermalmodel,'FaceLabel','on','FaceAlpha',0.5);
axis equal
%% Mesh
generateMesh(thermalmodel);
figure;
pdeplot3D(thermalmodel);
%% Boundary Condition, Material Properties, and Initial Conditions
MD = 2330; % Mass Density kg/m^3
SH = 700; % Specific Heat (J/kg/°C)
TC = 146; % Thermal Conductivity (W/m/°C)
HF = 1.8e-06; % Heat Flux (W/m^2)
CB = 1.07e-04; % Convective Boundary Condition (W/m-°C)
WR = 0.000075; % Wire Radius
CL = 0.076; % Contact length
P = 3.22825e-08; % Power
Pi = 3.141592654; % Mathematical constant
AT = 22; % Ambient Temperature (°C)
faces = [17,23,29,35,41,47];
thermalProperties(thermalmodel,'ThermalConductivity',TC,'MassDensity',MD,'SpecificHeat',SH);
thermalBC(thermalmodel,'Face',faces,'ConvectionCoefficient',@(allregion,state)BC,'HeatFlux',@(sawingregion,state)HF,'AmbientTemperature',ATval);
thermalBC(thermalmodel,'Face',17,23,29,35,41,47,'Power', 3.22825e-08,'Pi', 3.141592654, 'WR', 0.000075, 'CL', 0.076);
%% solve
tlist= [0:10]; %time from 0 to 10seconds
thermalTransientResults = solve(thermalmodel,tlist);
pdeplot3D(thermalmodel,'ColorMapData',thermalTransientResults.Temperature(:,10)-273.15)
  2 个评论
Sergio E. Obando
Sergio E. Obando 2022-2-25
Steven,
The reason the code errors is due to syntax errors in your problem definition. To define heat flux (at the boundary) and convection, you have the correct function "thermalBC." However, the syntax @(allregion,state) BC is not needed if your flux and convection coefficients are constant.
thermalBC(thermalmodel,'Face',faces,'ConvectionCoefficient',BC,'HeatFlux',HF,'AmbientTemperature',AT);
If those properties are nonconstant, please use a function to define how those properties change (I noticed you did not define what "sawing region" is, so you would have to do that within the function and your second call to thermalBC is not valid syntax as "Power", "PI", etc are not valid input arguments. The documentation shows how to construct those (and there are several examples for thermal and structural problems) with the syntax myfun(location,state) : Nonconstant Parameters - Thermal
Lastly, please provide your initial conditions with the function thermalIC. Hope this helps.
Steven Walton
Steven Walton 2022-2-26
编辑:Steven Walton 2022-2-26
Greetings,
Thank you so much for your kind and valuable comments.
The heat flux is not constant; it starts from 1.16421E-06 to 6.72445E-03. It differs from each contact length of the wire and the glass during the sawing process. So, which type of script can I use for assigning a nonuniform heat flux? In the second thermalBC I used that syntax for defining the below empirical formula of the heat flux. Here I attached the sawing region and contact length figures. .
Sawing Face: F7, F13, F19, F25, F31, F37

请先登录,再进行评论。

回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by