Geometry function - domain sketch
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sarinthree Udchachone
am 21 Mär. 2020
Kommentiert: darova
am 22 Mär. 2020
Hi, I am trying to sketch the domain for PDE solver. It is similar to the example function CIRCLEFUNCTION.m.
My domain has four edges. Left and right edges are parallel to the y-axis. Top and bottom edges are curves:
I have following so far:
________________________
function [x,y]= dom(bs,s)
if nargin = = 0
x=4;
end
if nargin = = 1
A=[ 0, 1, 1, 0 ;
1, 1, 0 , 0 ;
1, 1, 1, 1 ;
0, 0, 0, 0]
I don't know where to go from there. I read examples online, but they are complicated.
You could choose curves connecting top vertices and bottom vertices to be simple quadratic curves, vertices are (0,0), (1,0), (1,1), (0,1).
Thank you!
Sandy
2 Kommentare
Akzeptierte Antwort
darova
am 21 Mär. 2020
Try pdepoly
x = 0:0.1:1;
y = x.^2-x+1;
x = [0 x 1];
y = [0 y 0];
pdepoly(x,y)
9 Kommentare
darova
am 22 Mär. 2020
What about this?
x= 0:0.1:1;
y= x.^2-x+1;
x=[0 x 1];
y=[0 y 0];
pdepoly(x,y);
pdetool('initmesh')
% pdetool('refine')
darova
am 22 Mär. 2020
Maybe it would be helpful
x= 0:0.1:1;
y= x.^2-x+1;
x=[0 x 1];
y=[0 y 0];
gd = [2;length(x);x(:);y(:)]; % geometry description matrix
dl = decsg(gd); % decompose matrix
[p,e,t] = initmesh(dl); % create mesh
subplot(121)
pdemesh(p,e,t)
axis equal
subplot(122)
[p1,e1,t1] = refinemesh(dl,p,e,t);
pdemesh(p1,e1,t1)
axis equal
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Geometry and Mesh finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!