How to mesh geometries with multiple regions for svFSI simulations

Provides a system for patient-specific cardiovascular modeling and simulation.
POST REPLY
User avatar
Jijo Derick Abraham
Posts: 13
Joined: Thu Aug 05, 2021 6:29 am

How to mesh geometries with multiple regions for svFSI simulations

Post by Jijo Derick Abraham » Wed May 04, 2022 11:27 pm

Hi
I would like to simulate the FSI case having predefined solid and fluid geometry.
I am aware, that there is a provision to "convert the boundary layer mesh to a new region/domain" to generate multidomain mesh using simvascular.
And in the recent version of the simvascular windows version (updated on FEB 15, 2022) this utility works without any face node issues.
However, it is difficult to mesh geometry with a predefined non-uniform solid domain with this feature.

When I tried meshing the two domains separately then the face ids are not matching at the interface and I cannot proceed further.
Also, svFSI seems to accept only the mesh files and surface files generated from simvascular.
Even though there is a code called svFSI-tool for carrying out mesh conversion, it looks compatible for only Gambit and Gmsh mesh files with a single region.

If there is any other way to do meshing in these cases, please let me know .

If this issue can be resolved then it will facilitate svFSI, in solving problems with complex geometries.

Thanks in advance
Cheers,
Jijo

User avatar
David Parker
Posts: 1742
Joined: Tue Aug 23, 2005 2:43 pm

Re: How to mesh geometries with multiple regions for svFSI simulations

Post by David Parker » Fri May 06, 2022 11:22 am

Hi Jijo,

Creating the fluid and solid meshes needed for svFSI can indeed be challenging. In the past people have used MeshMixer and other software to do this.

One way to create FSI meshes is to use SV to create a boundary layer mesh. You must be careful though, SV boundary layer meshing sometimes has problems at vessel junctions where it creates overlapping elements.

I've written a Python script used to create the fluid and solid meshes needed for an svFSI simulation from an SV boundary layer mesh. See https://github.com/ktbolt/cardiovascula ... ete/python. I've tested on a couple of models and it seems to work. Give it a try!

Cheers,
Dave

User avatar
Jijo Derick Abraham
Posts: 13
Joined: Thu Aug 05, 2021 6:29 am

Re: How to mesh geometries with multiple regions for svFSI simulations

Post by Jijo Derick Abraham » Mon May 09, 2022 5:16 pm

Dear Dave,
As mentioned earlier, I am aware of the boundary layer meshing option.
However this option is applicable when we have the solid domain uniformly wrapping around the fluid domain (as in the case of the blood vessel with uniform wall thickness).
However in situations where the solid wall have non-uniform geometry/thickness, the boundary layer meshing option is incompatible to generate a conformal mesh.
So what it is the way to generate the conformal mesh compatible for svFSI in such cases?

Thanks in advance
Cheers,
Jijo

User avatar
David Parker
Posts: 1742
Joined: Tue Aug 23, 2005 2:43 pm

Re: How to mesh geometries with multiple regions for svFSI simulations

Post by David Parker » Tue May 10, 2022 11:44 am

Hi Jijo,

Now I understand what you want to do. There is no way to create a mesh with a non-uniform geometry/thickness within SV. I don't have any experience with this sort of thing but I think you could write a VTK Python script to create a non-uniform mesh.

The first thing to do would be to create a VTK Data Array that defines wall thickness values for each node of the solid mesh, just need to have values for the fluid/solid interface surface nodes.

For an SV boundary layer mesh all the nodes will be aligned with a normal at each surface node. You can therefor modify the boundary layer mesh non-surface nodes to match a given thickness value like so:

For each surface node

1) Find the normal at the surface node
2) Find all the non-surface nodes that lie on that normal
3) Uniformly translate the non-surface nodes to match the thickness at the surface node

From the attached image, the green Nodes 1 and 2 would be translated along the normal defined at Node 1.

This is a bit involved I guess but it only requires defining the thickness values at the fluid/solid interface surface nodes. You might could do the same thing manually using MeshMixer.

Cheers,
Dave
Attachments
Screen Shot 2022-05-10 at 11.38.06 AM.png
Screen Shot 2022-05-10 at 11.38.06 AM.png (176.33 KiB) Viewed 868 times

POST REPLY