Skip to content

Input local vessel area #123

@mrp089

Description

@mrp089

Problem

We currently provide the area of the blood vessel at the inlet and outlet and linearly interpolate in between. Yet, we have a much more detailed variation of local vessel area from the centerline. Refining the local area yields a pressure variation along the vessel that's much closer to 3D (see Figure 11). Currently, the only way to refine the area is by dividing each vessel into sub-vessels. However, this greatly increases the number of DOFs and (in my experience) worsens the numerical stability of the system by introducing a large number of Lagrange multipliers to couple these vessel segments.

Solution

I think "all we need to do" is to provide the solver with the local area from the centerline. We already discretize each vessel segment with many finite elements that would be reasonably fine to represent local variations in area. We currently ignore that opportunity and instead linearly interpolate between the inlet and outlet areas. Thus, this should only be an input file problem. With the new JSON input file format (#114), we could provide a z coordinate vector with a corresponding area vector and then linearly interpolate the area of each finite element node from those vectors. This way, a user could choose how to resolve the area and retain the legacy behavior of just two input values.

Additional context

Figure 11
Image
Pressure along vessel branches in an aortic coarctation model at peak systole. Compare blue (3D) and orange (1D) lines for one segment per vessel branch (top) and 10 segments per vessel branch (bottom). The pressure variation along each branches in 1D is remarkably close to 3D when discretizing with 10 segments.

Code of Conduct

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions