Internal boundary conditions in subdomains

10 次查看(过去 30 天)
N=1;
modello=createpde(1);
thicness_e=0.05; %%mm
thicness_d=1.95; %%mm
thicness_s=10; %%mm
L=10; %mm
H1=thicness_s;
H2=thicness_s+thicness_d;
H3=thicness_s+thicness_d+thicness_e;
R1=[3 4 0 L L 0 0 0 H1 H1];
R2=[3 4 0 L L 0 H1 H1 H2 H2];
R3=[3 4 0 L L 0 H2 H2 H3 H3];
gdm=[R1; R2; R3]';
g=decsg(gdm,'R1+R2+R3',['R1';'R2';'R3']');
geometryFromEdges(modello,g);
figure (1)
pdegplot(modello,'EdgeLabels','on','FaceLabels','on')
xlabel('x, millimeters')
ylabel('y, millimeters')
How do i include in the Edge E3 the following internal boundary conditions :
where and are the temperature of Face 1 and Face 2 ?

回答(1 个)

Sameer
Sameer 2025-5-14
If you want to apply an internal boundary condition on edge E3 (the interface between Face 1 and Face 2) in MATLAB’s "PDE Toolbox", specifically a condition that involves the temperature on both sides of the edge (let’s say ( T_1 ) on Face 1 and ( T_2 ) on Face 2)—here’s what you need to know:
1. For most internal boundary conditions (like thermal contact or interface conditions), you need to model each region with its own PDE.
So, set N=2 when you create your model:
N = 2;
modello = createpde(N);
2. After defining your geometry and identifying the edge number of E3 (use pdegplot to check), you can apply a mixed (Robin-type) boundary condition that couples the two regions.
For example, if you want the flux across E3 to be proportional to the temperature difference (( q = h(T_1 - T_2) )), use:
h = 100; % Example heat transfer coefficient
applyBoundaryCondition(modello, ...
'mixed', ...
'Edge', E3, ...
'EquationIndex', [1 2], ...
'q', [h -h; -h h], ...
'g', [0; 0]);
This enforces the relationship between the temperatures on both sides of the edge.
3. If you only have a single PDE (N=1), you can only set standard boundary conditions (Dirichlet, Neumann, Robin) on edges, not interface conditions involving both sides.
In summary:
  • For interface conditions between regions, use a system with N=2 and a 'mixed' boundary condition with 'EquationIndex'.
  • For simple flux or temperature conditions, use 'neumann' or 'dirichlet' as usual.
For more information, Please refer the following MathWorks documentation link:
Hope this helps!
  2 个评论
marc
marc 2025-7-21
Hello Sameer
Do you have a full working code for this example? It seems that Matlab will ignore the boundary conditions at internal boundaries except if you specify InternaBC=true. But then how do you assign a PDE to a specific region? Or else: how do you specify the coefficients?
Thank you for your input.
Torsten
Torsten 2025-7-21
If you only want to prescribe the condition from the question: this condition is automatically fulfilled. The finite element method satisfies continuity of temperature and heat flux at internal interfaces.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by