Automating Batch Simulations

Provides a system for patient-specific cardiovascular modeling and simulation.
User avatar
Daniel Emerson
Posts: 12
Joined: Fri Jul 17, 2020 4:33 pm

Re: Automating Batch Simulations

Post by Daniel Emerson » Wed Oct 28, 2020 2:11 pm

davep wrote:
Wed Oct 28, 2020 10:48 am
Hi Dan,

Having both OpenMPI and MPICH installed does indeed cause problems. Thanks for posting the solution!

I've created a program to compute the average flow files here https://github.com/ktbolt/cardiovascula ... flow-files. Let me know if this works for you.

Cheers,
Dave
Dave,

I just took a quick look and this looks great. I'll work on implementing it into my code later this week and let you know how everything goes!

Thanks,
Dan

User avatar
Daniel Emerson
Posts: 12
Joined: Fri Jul 17, 2020 4:33 pm

Re: Automating Batch Simulations

Post by Daniel Emerson » Fri Dec 04, 2020 9:57 am

Hi,

I've got the pipeline all set up and am able to run large batches of simulations! It takes me roughly 1 day to run 1000 simulations on our linux server.

Currently I am using the coronary model from the SimVascular website. I am modeling the system in the simplest way possible - steady inlet flow, simple resistance boundary conditions on the outlets, rigid walls. I have been reading into the SV documentation http://simvascular.github.io/docsFlowSo ... #bcphysics about how the outlets have a "weakly prescribed pressure" boundary condition of the form

Code: Select all

p=R*Q
I was a little curious about how this is enforced. In my simple modeling case I was expecting the system to be analogous to a simple linear circuit (see image below), but if this is the case - where is the computational cost? Why does each simulation still take a non-trivial amount of time. In some simulations my system even exhibits backflow with negative flows and pressures at some of the coronary artery outlets. Any insight would be appreciated!
Screen Shot 2020-12-04 at 11.50.42 AM.jpg
Screen Shot 2020-12-04 at 11.50.42 AM.jpg (150.11 KiB) Viewed 1442 times
Regards,
Dan

User avatar
David Parker
Posts: 1696
Joined: Tue Aug 23, 2005 2:43 pm

Re: Automating Batch Simulations

Post by David Parker » Mon Dec 07, 2020 2:50 pm

Hi Dan,

A weakly prescribed pressure boundary condition means that the pressure is not proscribed at the nodes but constrained to equal the integral of pressure over the outlet face is referred to as the weak form.

The boundary conditions are given using a lumped parameter model but the non-linear Navier-Stokes equations for the fluid flow in a 3D domain must still be solver for each time step and this is what dominates the simulation time.

Cheers,
Dave

User avatar
Daniel Emerson
Posts: 12
Joined: Fri Jul 17, 2020 4:33 pm

Re: Automating Batch Simulations

Post by Daniel Emerson » Mon Dec 07, 2020 9:01 pm

davep wrote:
Mon Dec 07, 2020 2:50 pm
Hi Dan,

A weakly prescribed pressure boundary condition means that the pressure is not proscribed at the nodes but constrained to equal the integral of pressure over the outlet face is referred to as the weak form.

The boundary conditions are given using a lumped parameter model but the non-linear Navier-Stokes equations for the fluid flow in a 3D domain must still be solver for each time step and this is what dominates the simulation time.

Cheers,
Dave
Hi Dave,

Great - thanks for the explanation.

I've found that I am able to predict the P_avg and Q_avg at all outlets quite well by simply approximating the system as a a linear circuit in a well scaled problem. My difficulty has been when I randomize the input parameters (outlet resistances, steady inlet flow, etc.) some of the simulations end up exhibiting backflow. I was reading into the documentation about the Neumann BCs and the safeguards from this paper https://link.springer.com/article/10.10 ... 011-0599-0, but I suppose I might need to be smarter about how I randomly generate my inputs to avoid these cases.

-Dan

User avatar
shubharora shubharora
Posts: 1
Joined: Wed Jan 13, 2021 8:55 am

Re: Automating Batch Simulations

Post by shubharora shubharora » Wed Jan 13, 2021 9:16 am

I guess I have a lot of the same questions for the post solver. Does the svPost executable perform the same function as the "convert results" button in the simulation GUI? And again, how would I call from terminal? Point the directory where the restart files are contained and then call the svPost exectuable?

User avatar
David Parker
Posts: 1696
Joined: Tue Aug 23, 2005 2:43 pm

Re: Automating Batch Simulations

Post by David Parker » Wed Jan 13, 2021 11:21 am

Hi Shubharora,

The svpost program performs all of the simulation results conversion except computation of inlet/outlet averages written to the following files

Code: Select all

all_results-averages-from_cm-to-mmHg-L_per_min.txt	
all_results-averages.txt				
all_results-flows.txt					
all_results-pressures.txt				
The computation of inlet/outlet averages are computed in SV. There is an Issue https://github.com/SimVascular/svSolver/issues/43 open to move that computation to svpost.

You can execute svpost -h to see how to use it from the command line. A typical usage is

Code: Select all


indir=4-procs_case
outdir=export_dir
start=100
stop=500
inc=20

svpost -all  
    -indir ${indir}   \
    -outdir ${outdir}  \
    -start ${start}  \
    -stop ${stop}  \
    -incr ${inc}  \
    -vtp all_results  \
    -vtu all_results
Cheers,
Dave

User avatar
cartlon flores
Posts: 1
Joined: Tue Dec 07, 2021 12:39 pm

Re: Automating Batch Simulations

Post by cartlon flores » Tue Dec 07, 2021 12:40 pm

I was looking into generating the solver.inp and sim.svpre files. It looks like the only input to the svPre is the sim.svpre file, and the outputs are (bct.dat, geombc.dat.1, restart.0.1, numstart.dat)? I am assuming I would then generate the solver.inp file and copy over the files describing the mesh (my mesh is constant across all simulations). shareit app vidmate apk

User avatar
Sara Zambon
Posts: 14
Joined: Fri Nov 08, 2019 2:08 am

Re: Automating Batch Simulations

Post by Sara Zambon » Thu Apr 14, 2022 4:01 am

Is there a way to "gently" interrupt a rigid wall simulation launched from terminal (svSolver)?

as the command "touch n-proc/STOP_SIM" for svFSI does.

Because sometimes my simulation get stuck due to failed connection between processors I think (see figure) and I usually press "Ctrl+C" to end the process. Then I re-start the simulation by simply entering the same exact command "mpiexec .../svsolver solver.inp" used in the first place.
I don't know if this could cause problems with the older "geombc", "numstart" and restart files.


Thank you very much!
Sara
Attachments
Immagine 2022-04-14 125112.png
Immagine 2022-04-14 125112.png (72.77 KiB) Viewed 1195 times

User avatar
David Parker
Posts: 1696
Joined: Tue Aug 23, 2005 2:43 pm

Re: Automating Batch Simulations

Post by David Parker » Thu Apr 14, 2022 11:17 am

Hi Sara,

The svSolver should start where it left off when it stops. You may want to remove the restart files where the solver failed just in case those files were corrupted.

Cheers,
Dave

User avatar
luke martin
Posts: 1
Joined: Sat Dec 17, 2022 12:57 am

Re: Automating Batch Simulations

Post by luke martin » Mon Dec 19, 2022 12:37 am

I'm encountering with svpost is that it often encounters a seg fault at some point if I try to convert anything other than just -sol. get-vidmate.com instasave.onl

POST REPLY