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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions