Internal boundary conditions in subdomains

조회 수: 14 (최근 30일)
Carmelo Filippo
Carmelo Filippo 2021년 6월 6일
댓글: Torsten 2025년 7월 21일
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.

댓글을 달려면 로그인하십시오.

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by