Skip to content

Bug report: reference geometry inconsistency (area-based vs radius-based linear interpolation) #128

@Fra-Sala

Description

@Fra-Sala

Description

The reference geometry $A_0(z)$ used in the 1D solver is defined as a linear interpolation of the inlet and outlet areas (line 1341 in cvOneDBFSolver.cxx).
However, in the material model classes (e.g. cvOneDMaterialOlufsen.cxx), the reference radius $r_0(z)$ is computed as a linear interpolation of the inlet and outlet radii (line 158).

These two approaches are clearly mathematically inconsistent, since interpolating areas and then taking a square root $\quad r_0(z) = \sqrt{A_0(z) / \pi}$ is not equivalent to interpolating radii.

This inconsistency leads to a mismatch in the initial geometry and becomes visible when looking at the pressure at $t = 0$. The attached plot ( $p(z,0)$ along the centerline of a coronary artery) highlights the problem.

Proposed fix:

  • Either update line 1341 in cvOneDBFSolver.cxx to interpolate radii instead of areas (and compute $A_0$ from them),
  • or update the material classes to interpolate areas instead of radii.

bug_RCA-A18-B17_pressure_along_centerline.pdf

Reproduction

Run a 1D simulation over any vessel geometry, selecting for the material model $p_0 = 0$ and look at the pressure at time $t=0$ along the geometry itself. This will not be zero, but rather follow a parabolic profile over each segment.

Environment info

OS: Ubuntu 22.04
Skyline solver
commit: 66b31b4

Expected behavior

The pressure at the initial time, when imposing e.g. $p_0 = 0$, must be equal to $p_0$ (0 in this example).

Additional context

When the parameters of the material model are changed to make the vessel quasi-rigid, the effect of this bug becomes more evident.

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