Poissons Equation with Point source
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello everyone :)
in matlab´s Example "Poisson's Equation with Point Source and Adaptive Mesh Refinement" ist a function "circlef" mentioned, that create the point source by returning 1/area for the triangle that contains the origin and zero elsewhere. How do I create such a funtion? Meaning how can I define f differently on specific traingles in the mesh?
Thanks in advance
Hannah
2 commentaires
Dyuman Joshi
le 7 Fév 2024
"How do I create such a funtion?"
Use the description given as its definition.
"Meaning how can I define f differently on specific traingles in the mesh?"
Réponses (1)
Dyuman Joshi
le 7 Fév 2024
You can use inpolygon to see if the origin is inside the triangle or not and polyarea to calculate the area of the triangle -
Note - inpolygon() also considers the points that lie ON the edges of the polygon (see the case below).
x = [-2 -1 1];
y = [-2 1 -1];
plot(polyshape(x,y))
hold on
plot(0, 0, '.r', 'MarkerSize', 10)
if inpolygon(0, 0, x, y)
f = 1./polyarea(x,y);
else
f = 0;
end
f
This can be condensed to -
F = inpolygon(0, 0, x, y)./polyarea(x,y)
5 commentaires
Dyuman Joshi
le 12 Fév 2024
Modifié(e) : Dyuman Joshi
le 17 Fév 2024
From a cursory glance, I'd say my solution is simpler than whatever is being done here -
type circlef.m
Voir également
Catégories
En savoir plus sur Geometry and Mesh dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!