Boundary condition for multidomain geometry

6 views (last 30 days)
I want to solve my PDE problem on multidomain geometry. I imported mesh definition to Matlab and I tried to specify multidomain geometry using geometryFromMesh(model,nodes,elements,ElementIDToRegionID) I get the geometry with appropriate number of cells, but several faces that I don't understand where from they comes. In particular, my geometry has three cells/materials and six material interfaces (material1/material2, material1/material3, material2/material3, material1/exterior, material2/exterior and material3/exterior). However, Matlab somehow defines 39 faces.
I would like to know:
  • How Matlab define those faces?
  • How I can get info which nodes are in any particular face?
  • How to force a Matlab to define faces reasonably for my problem (e.g. on different material interface), so that I can specify boundary conditions?

Answers (3)

Ravi Kumar
Ravi Kumar on 21 May 2019
Hi Urban,
Would you be able to share your code and data? Geometric faces are identified by analyzing how drastic the normal changes between adjacent element facets.
You can find nodes associated with a face using findNodes(model.Mesh,'region','Face',fID) function.
Regards,
Ravi

Urban Simoncic
Urban Simoncic on 21 May 2019
Thank you for the answer. Function findNodes solves my current problem, but does not guarantee that slightly different problem can be solved in this way. I have defined my surfaces as a list of triangles and each such surface will have different boundary condition. Matlab creates far more faces than is the number of my surface (39 vs. 6) and I can check which faces are contained in each of my surfaces with the function findNodes. However, it may happen in some other case that one particular face in partially contained in one of my surfaces and partially in another. For this reason I would generally like to have an option to redefine faces, because otherwise I may not be able to define boundary conditions as I want.
  1 Comment
Ravi Kumar
Ravi Kumar on 21 May 2019
Currenlty, finding the required faces might be the only option. An example data would help me figure out if there are any workaround.

Sign in to comment.


Urban Simoncic
Urban Simoncic on 24 May 2019
Some my example data is attached. Anyway, if Matlab is smart enough that each face is always on single interface between two materials (not split on multiple interfaces), than finding the required faces will work for me.
  1 Comment
Ravi Kumar
Ravi Kumar on 24 May 2019
You might want to refine the mesh that you used in geometryFromMesh call. When I plot the geometry, there seems to a bunch of spurious faces at the bottom as shown in the figure below. These can lead to problem during analysis.
gfmImport.png

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!