Skip to content

Meshes for large geometries too dense #34

@natalia-rubio

Description

@natalia-rubio

Description

When trying to generate a larger mesh (inlet diameter ~3 cm), the mesh element size did not increase accordingly, resulting in a very dense mesh with too many elements (even when I passed in an mesh size parameter (hsize) to use to set hmin and hmax for MMGS). I resolved the issue by increasing the hausd setting,
tube = remesh_surface(tube, hmin=hsize, hmax=hsize*2, noinsert = False, nomove = False, nosurf = False, hausd = 0.1, hgrad = -1.0,verbosity = 3)

but it would be nice to adjust this automatically based on vessel size.

Reproduction

Example of code that generates a too-dense mesh. Don't include hsize for standard, unmodified svVascularize.

import os
import pyvista as pv
from svv.domain.domain import Domain
from svv.tree.tree import Tree
from svv.simulation.simulation import Simulation
from svv.simulation.fluid.rom.zero_d.zerod_tree import export_0d_simulation
cube = Domain(pv.Cube(center=(0.0, 0.0, 0.0), x_length=45.0, y_length=45.0, z_length=45.0,))
cube.create()
cube.solve()
cube.build()

set_name = 'test_set'
geo_name = 't_1'
# Creating the Vascular Tree Object
tree = Tree()
tree.set_domain(cube)

tree.parameters.set("root_pressure", 2*1333.22)  # in dyn/cm^2
tree.parameters.set("terminal_pressure", 1*1333.22)  # in dyn/cm^2
tree.parameters.set("terminal_flow", 300)  # in cm^3/s
tree.set_root()
tree.n_add(5)
# Wrap a generated tree in a Simulation container
sim = Simulation(tree, name=geo_name)

# Build CFD-ready meshes and identify boundary faces
sim.build_meshes(fluid=True, tissue=False, boundary_layer=True, hsize=0.3)
sim.extract_faces(crease_angle=60.0)

# Construct and write an svFSI configuration
sim.construct_3d_fluid_simulation()
sim.write_3d_fluid_simulation()

# Export a matching 0D model for fast hemodynamic studies
sim.write_0d_fluid_simulation()

Expected behavior

Element size would ideally scale proportionally to the geometry.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions