Problem simulating simple geometries (negative pressures)
Posted: Tue Apr 16, 2024 7:59 am
I encounter a problem simulating some very simple geometries.
Specifically, I try to simulate a tube of length 5cm that expands linearly from radius r1 = 1cm at the one end to a slightly larger radius r2 = 1.2 cm at the other end (see picture).
To simulate this expanding tube, I simply create a path consisting of two points, x1=(0,0,0) and x2= (0,0,5). For the segmentation I manually create two circular contours with radii r1=1 around x1 and r2=1.2 around x2 (I didn't load any image for this). I mesh the model with "Global Max Edge Size" set to 0.2 (but I also tried smaller values like 0.1 without success). I choose the wall to be rigid and the following constant flow data saved in a separate .txt file to define the (parabolic) inflow at the r1 end of the tube:
0.0 -125
5.0 -125
At the r2 end, I choose resistance boundary conditions with resistance 0.
I tried various different parameter settings for the Solver, among these also the settings used in the online tutorials on youtube (Time Step Size= 0.001, Step Construction=4, svLS type = NS, Tolerance Momentum Eq = 0.001, Tolerance Continuity Eq = 0.01, Tolerance NS Solver=0.01, Max Num of Iterations Momentum loop/NS solver = 10). But whatever I do, I always get negative pressure values at the r1 end (and pressure values close to 0 at the r2 end), which doesn't make any sense as the flow goes from r1 to r2, so there should be a positive pressure difference.
The velocity profile and its values, however, appear quite reasonable. Here is an example of what my pressure output file looks like:
and this is the corresponding flow data:
Interestingly, I get similar behavior both with Simvascular 2023.03 on Windows 10 (both with and without using MPI) and with SimVascular 2021.09 on macOS 10.14 (where I couldn't use MPI so far due to problems with the installation).
Can anybody reproduce this behavior? Why does this simple geometry with rigid walls and constant flow make such problems and what can be done to obtain correct pressure results? Any help is highly appreciated! Thank you!
Specifically, I try to simulate a tube of length 5cm that expands linearly from radius r1 = 1cm at the one end to a slightly larger radius r2 = 1.2 cm at the other end (see picture).
To simulate this expanding tube, I simply create a path consisting of two points, x1=(0,0,0) and x2= (0,0,5). For the segmentation I manually create two circular contours with radii r1=1 around x1 and r2=1.2 around x2 (I didn't load any image for this). I mesh the model with "Global Max Edge Size" set to 0.2 (but I also tried smaller values like 0.1 without success). I choose the wall to be rigid and the following constant flow data saved in a separate .txt file to define the (parabolic) inflow at the r1 end of the tube:
0.0 -125
5.0 -125
At the r2 end, I choose resistance boundary conditions with resistance 0.
I tried various different parameter settings for the Solver, among these also the settings used in the online tutorials on youtube (Time Step Size= 0.001, Step Construction=4, svLS type = NS, Tolerance Momentum Eq = 0.001, Tolerance Continuity Eq = 0.01, Tolerance NS Solver=0.01, Max Num of Iterations Momentum loop/NS solver = 10). But whatever I do, I always get negative pressure values at the r1 end (and pressure values close to 0 at the r2 end), which doesn't make any sense as the flow goes from r1 to r2, so there should be a positive pressure difference.
The velocity profile and its values, however, appear quite reasonable. Here is an example of what my pressure output file looks like:
and this is the corresponding flow data:
Interestingly, I get similar behavior both with Simvascular 2023.03 on Windows 10 (both with and without using MPI) and with SimVascular 2021.09 on macOS 10.14 (where I couldn't use MPI so far due to problems with the installation).
Can anybody reproduce this behavior? Why does this simple geometry with rigid walls and constant flow make such problems and what can be done to obtain correct pressure results? Any help is highly appreciated! Thank you!