Dear Simvascular Team,
I have a principle question regarding deformable wall simulations:
Say I have an MRI image from which I extract a vessel's geometry and the image was taken during diastole. The geometry that we see on the image then corresponds to the geometry of the vessel when the vessel wall experiences a diastolic pressure of ~80mmHg.
Now if we do a deformable wall simulation, a resulting pressure of 80mmHg would nonetheless deform the vessel's geometry and further expand its diameter. This means the deformation in the simulation will always be larger than the actual deformation in the patient, wouldn't it?
Or is there some way to 'calibrate' the model to some fixed pressure value at which the image was taken?
I originally thought this might be done by the pressure parameter specified in the deformable wall parameters section, but it seems that this pressure value only serves for initialization purposes but not to 'calibrate' the model in the sense described here. Is there some other way such calibration can be achieved?
Thank you for your help!
Cheers, Flo
Deformable Wall Simulations
- Weiguang Yang
- Posts: 110
- Joined: Mon Apr 07, 2008 2:17 pm
Re: Deformable Wall Simulations
If you use svFSI, there is an example that "prestresses" the geometry to match the reference geometry based on medical images. Please see https://github.com/SimVascular/svFSI-Te ... _prestress
If you use svSolver's coupled momentum method, the presolver needs a pressure to solve a hydrostatic problem in which the model is "inflated" to get non-zero displacement. Yes, if you apply the resulting displacements to the model based on the medical image, it will be bigger that the geometry based on your MRI. After the CMM simulation is done, you can consider subtracting the displacements by the initial displacements (t=0). Thus the displacements are values relative to the initial geometry. I hope these help.
Best
If you use svSolver's coupled momentum method, the presolver needs a pressure to solve a hydrostatic problem in which the model is "inflated" to get non-zero displacement. Yes, if you apply the resulting displacements to the model based on the medical image, it will be bigger that the geometry based on your MRI. After the CMM simulation is done, you can consider subtracting the displacements by the initial displacements (t=0). Thus the displacements are values relative to the initial geometry. I hope these help.
Best
- Florian Gartner
- Posts: 13
- Joined: Tue Dec 12, 2023 7:13 am
Re: Deformable Wall Simulations
Hi Weiguang,
Thank you very much for your quick response and the link to the svFSI project!
Performing the simulation with svSolver's CMM and then subtracting the initial displacements in the post-processing step is also a good idea, but I think the expanded geometry would also impact the fluid dynamics during the simulation. I think that in critical situations, e.g. in the case of a severe stenosis, this could have a significant effect on the simulated pressure differences and the flow properties, which one would like to assess with the simulation?
I still had another idea: Would it also be possible to calibrate the pressure by setting the distal pressure in the resistance- or RCR boundary conditions of all the outlets to the negative pressure value at which the image was taken? For example, if the image was taken during diastole at a pressure of 80mmHg, can I just set the distal pressure to -80mmHg and then, during post-processing, add 80mmHg to the obtained pressure results? Changing the distal pressure should just shift the pressure values by a constant but otherwise not affect the hemodynamics, right? In this way, one could ensure that, during diastole, the simulation should have a pressure around zero and thus the wall should not deform considerably. Only during systole, when the pressure is higher, the wall would deform. Do you think this works in the intended way or is there a flaw in this consideration?
Thank you very much for your quick response and the link to the svFSI project!
Performing the simulation with svSolver's CMM and then subtracting the initial displacements in the post-processing step is also a good idea, but I think the expanded geometry would also impact the fluid dynamics during the simulation. I think that in critical situations, e.g. in the case of a severe stenosis, this could have a significant effect on the simulated pressure differences and the flow properties, which one would like to assess with the simulation?
I still had another idea: Would it also be possible to calibrate the pressure by setting the distal pressure in the resistance- or RCR boundary conditions of all the outlets to the negative pressure value at which the image was taken? For example, if the image was taken during diastole at a pressure of 80mmHg, can I just set the distal pressure to -80mmHg and then, during post-processing, add 80mmHg to the obtained pressure results? Changing the distal pressure should just shift the pressure values by a constant but otherwise not affect the hemodynamics, right? In this way, one could ensure that, during diastole, the simulation should have a pressure around zero and thus the wall should not deform considerably. Only during systole, when the pressure is higher, the wall would deform. Do you think this works in the intended way or is there a flaw in this consideration?
- Weiguang Yang
- Posts: 110
- Joined: Mon Apr 07, 2008 2:17 pm
Re: Deformable Wall Simulations
For CMM, the assumption is that because of a small deformation, say <10% change relative to the diameter during the cycle, the mesh is stationary. i.e. the coordinates of the mesh nodes remain unchanged but the traction forces on the wall nodes change. In a severe stenosis, allowing a deformable wall will reduce the pressure gradient significantly compared to the rigid wall result.
Adding a constant pressure to your pressure field won't change the velocity for Navier-Stokes. It is true for a rigid wall case. When the boundary is not rigid, this additional pressure theoretically will deform the wall resulting in differences.
Ideally, if you can estimate a stress free configuration from the diastolic image and inflate it to the diastolic pressure using other methods/codes, then the resulting displacement could be a "real" displacement written into the restart file at t=0 for starting CMM.
In addition, svFSIplus has a CMM implementation as well. It has a prestress case. You can test it and see if it works better. To be honest, I don't have much experience using it.
https://github.com/SimVascular/svFSIplu ... mm/pipe_3d
Adding a constant pressure to your pressure field won't change the velocity for Navier-Stokes. It is true for a rigid wall case. When the boundary is not rigid, this additional pressure theoretically will deform the wall resulting in differences.
Ideally, if you can estimate a stress free configuration from the diastolic image and inflate it to the diastolic pressure using other methods/codes, then the resulting displacement could be a "real" displacement written into the restart file at t=0 for starting CMM.
In addition, svFSIplus has a CMM implementation as well. It has a prestress case. You can test it and see if it works better. To be honest, I don't have much experience using it.
https://github.com/SimVascular/svFSIplu ... mm/pipe_3d
- Florian Gartner
- Posts: 13
- Joined: Tue Dec 12, 2023 7:13 am
Re: Deformable Wall Simulations
Hi Weiguang,
although it's some time ago, I still want to thank you for hinting me at svFSI, which allows to prestress a geometry and supports CMM as well. I'm doing these simulations with svFSI now and it works great!
However, in order to automatize the entire process, I now tried to run the rigid wall simulations, which are needed as initial data for the deformable wall simulation and to calculate the prestress, with svFSI instead of svSolver as well. Thereby I found that svFSI (specifying the equation as "fluid" and using "NS" as the linear solver) is roughly 6 to 7 times slower than the same simulation performed with svSolver and a factor of 6 slower than the deformable wall simulation performed with svFSI (specifying the equation as "CMM" and the linear solver as "GMRES"). Is there any idea of why svFSI is so much slower in this case? I work on Windows 11 and use WSL to perform svFSI simulations and Open MPI for parallelization into 10 threads. Precisely, to start the Job I run the following comand in the command line tool:
wsl mpiexec --use-hwthread-cpus -np 10 /usr/local/sv/svFSI/2023-05-25/bin/svFSI svFSI.inp
Below are the Input files both for the rigid wall and deformable wall simulations as well as the corresponding histor.dat files. In particular, one can see that the first 100 time steps in the deformable wall simulation require only 109 seconds but in the rigid wall simulation 633 seconds (rigid wall with svSolver was 97 seconds with 10 threads).
although it's some time ago, I still want to thank you for hinting me at svFSI, which allows to prestress a geometry and supports CMM as well. I'm doing these simulations with svFSI now and it works great!
However, in order to automatize the entire process, I now tried to run the rigid wall simulations, which are needed as initial data for the deformable wall simulation and to calculate the prestress, with svFSI instead of svSolver as well. Thereby I found that svFSI (specifying the equation as "fluid" and using "NS" as the linear solver) is roughly 6 to 7 times slower than the same simulation performed with svSolver and a factor of 6 slower than the deformable wall simulation performed with svFSI (specifying the equation as "CMM" and the linear solver as "GMRES"). Is there any idea of why svFSI is so much slower in this case? I work on Windows 11 and use WSL to perform svFSI simulations and Open MPI for parallelization into 10 threads. Precisely, to start the Job I run the following comand in the command line tool:
wsl mpiexec --use-hwthread-cpus -np 10 /usr/local/sv/svFSI/2023-05-25/bin/svFSI svFSI.inp
Below are the Input files both for the rigid wall and deformable wall simulations as well as the corresponding histor.dat files. In particular, one can see that the first 100 time steps in the deformable wall simulation require only 109 seconds but in the rigid wall simulation 633 seconds (rigid wall with svSolver was 97 seconds with 10 threads).
- Attachments
-
- histor_deformable.txt
- deformable wall simulation histor.dat
- (622.76 KiB) Downloaded 26 times
-
- histor_rigid.txt
- rigid wall simulation histor.dat
- (126.25 KiB) Downloaded 16 times
-
- svFSI_inp_deformable.txt
- deformable wall simulation input file
- (3.66 KiB) Downloaded 15 times
-
- svFSI_inp_rigid.txt
- rigid wall simulation input file
- (2.9 KiB) Downloaded 16 times