How do I refine a subdomain mesh?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Fergus McIlwaine
am 28 Aug. 2017
Beantwortet: Ian Jentz
am 2 Okt. 2020
I'm having issues with refining the Mesh of a Subdomain using R2016a. I'm aware of this question but it does not help with my situation.
I have two subdomains, R1 and E1. I need the R1 mesh to be more refined that E1.
Relevant Model Information:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166910/image.png)
With 2D geometry (x,y).
The previous answers given to solve this say to return to legacy flow. I'm unable to do this with a parabolic PDE because the legacy solver 'parabolic' does not allow solving on multiple domains.
I can see two possible ways from here:
1) If there was anyway to directly attach [p,e,t] data to a PDEmodel it would make it easy.
2) If there was some way to convert [p,e,t] data to FEMesh object data then the problem would become much simpler. I would take the following steps:
- Create mesh with initMesh to obtain [p,e,t]
- Use the legacy function refinemesh to obtain [p1,e1,t1]
- Convert the newly refined mesh to FEMesh object
- Solve using pdesolve
A function exists that converts FEMesh object to [p,e,t]: meshToPet. I can't access this function to see how it works; it's just comments.
I've attached a screenshot of the meshToPet function file, can anyone find any other info on how this works? I can't even 'step in' to the file during running.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166911/image.png)
Thank you for reading!
0 Kommentare
Akzeptierte Antwort
Svetlana Pease
am 30 Aug. 2017
Bearbeitet: Svetlana Pease
am 30 Aug. 2017
Both attaching [p,e,t] data to PDEModel and converting a [p,e,t] mesh to FEMesh are not supported. I recommend creating a finer mesh for both R1 and E1 by using the appropriate value of Hmax, if possible.
Also, parabolic works with subdomains:
Regards,
Svetlana Pease
Technical Writer, MathWorks Documentation Group
0 Kommentare
Weitere Antworten (1)
Ian Jentz
am 2 Okt. 2020
There is now a port of refinemesh() available for PDEModel. Like refinemesh(), it works for 2D linear triangular geometries only.
This is how you would run your problem:
model=createpde;
msh=generateMesh(model);
model = refinePDEMmesh(model);
0 Kommentare
Siehe auch
Kategorien
Mehr zu General PDEs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!