Internal boundary conditions in subdomains

8 vues (au cours des 30 derniers jours)
Carmelo Filippo
Carmelo Filippo le 6 Juin 2021
Commenté : Torsten le 21 Juil 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 ?

Réponses (1)

Sameer
Sameer le 14 Mai 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 commentaires
marc
marc le 21 Juil 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 le 21 Juil 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.

Connectez-vous pour commenter.

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by