How can I refine a subdomain in the PDE Toolbox mesh generation tool?

11 ビュー (過去 30 日間)
Zoi T.
Zoi T. 2016 年 9 月 7 日
編集済み: Sean Littleton 2021 年 1 月 15 日
Hello,
I would like to refine a part of my domain without refining the whole mesh. Say for example that I have a unit square domain R1, which contains a circular sub-domain E1. Can I refine only E1 up to a desired element size, without imposing the same mesh size in the rest of the domain?

採用された回答

michio
michio 2016 年 9 月 7 日
I assume your problem is in 2D, then refinemesh function accepts an extra input argument "it", that is interpreted as a list of subdomains to refine, if it is a row vector.
  6 件のコメント
MarionJ
MarionJ 2017 年 6 月 30 日
It is not possible. I had the same problem. You have to use assempde, parabolic etc. if you want to refine mesh in certain Domains.
Ali Hammouche
Ali Hammouche 2020 年 7 月 23 日
How to generate a triangular mesh by MATLAB with the line joining the cell centre is orthogonal to the edges of the triangle?

サインインしてコメントする。

その他の回答 (2 件)

Devosmita Chatterjee
Devosmita Chatterjee 2017 年 10 月 29 日
How to refine a mesh for the poisson equation problem in a unitsquare domain by placing many triangles around the point (0.5,0.5) using Adaptive Finite Element Method and a posteriori error estimation? We need to find adaptive meshes for the problem with solution u=a*exp(-a*(r^2)), a =400 using two refinements, four refinements, six refinements, ten refinements. Can anyone provide me the Matlab code for this problem?

Ian Jentz
Ian Jentz 2020 年 10 月 2 日
編集済み: Ian Jentz 2020 年 10 月 2 日
There is now a port of refinemesh() available for PDEModel. Like refinemesh(), it works for 2D linear triangular geometries only.
The new PDEModel compatible function is refinePDEMmesh().
This is likely how would run your problem:
create your model as a pde model
model=createpde;
proceed with your geometry definitions.
When you get to meshing, you instantiate your mesh as usuall, but then can refine the mesh on a particular face using refinePDEMmesh().
generateMesh(model);
FaceID = 1; % the face ID of your E1 face?
model = refinePDEMmesh(model,FaceID);
  1 件のコメント
Sean Littleton
Sean Littleton 2021 年 1 月 15 日
編集済み: Sean Littleton 2021 年 1 月 15 日
Hello,
Thank you for sharing this function. It is almost exactly what I need, except for the fact that it does not work with quadratic triangular elements -- the very elements that I need to use for my problem. Are there any plans to add this functionality in the future? If not, is there an approach you would recommend?
Note: The triangular elements I am using are still geometrically linear. The extra nodes are only used for the quadratic shape functions, since I need the derivatives of the solution to be continuous.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGeometry and Mesh についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by