Internal boundary conditions in subdomains

13 visualizaciones (últimos 30 días)
Carmelo Filippo
Carmelo Filippo el 6 de Jun. de 2021
Comentada: Torsten el 21 de Jul. de 2025
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 ?

Respuestas (1)

Sameer
Sameer el 14 de Mayo de 2025
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 comentarios
marc
marc el 21 de Jul. de 2025
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 el 21 de Jul. de 2025
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.

Iniciar sesión para comentar.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by