Hi all,
I was wondering if there is any way to initialise the conditions in a new simulation form the results of a previous simulation that has a slightly different geometry?
I have been changing the geometry of some of the vessels in my model, but each simulation is taking around 12 cardiac cycles to stabilise pressure.
I'd like to save some time for each simulation as the majority of the domain doesn't change between simulations.
I have tried using an IC file as well as replacing the restart.0.1 file for the simulation, but both fail.
I read about a similar method in this paper:
http://link.springer.com/article/10.100 ... 9-3#page-1
"We used 4 Newton-Raphson linearization iterations per time step for all the models. We simulate flow in the first model geometry for 10 cardiac cycles to ensure convergence, and then perform subsequent simulations for other geometries using the first case as the initial condition. Only 3-4 cardiac cycles are subsequently needed for the results to stabalize."
This paper uses a LPN whereas I am using the standard BC options within SV.
Is this still possible to replicate?
Thanks,
Charlie
IC Files with Changing Geometries
- David Parker
- Posts: 1716
- Joined: Tue Aug 23, 2005 2:43 pm
Re: IC Files with Changing Geometries
Hi Charlie,
I don't see a way to do this within the current solver code, not really possible to map between geometries unless the changes are a simple parameterization like in the paper you referenced.
If the geometry doesn't change that much then you might could just interpolate the results to the new mesh: for every node in the new mesh determine the element it is in in the old mesh and use the element's shape functions to interpolate the results. You can use the VTK vtkCellLocator class to do this (see https://github.com/ktbolt/cardiovascula ... ceMesh.cpp).
The best way I think would be use the 1D solver. The paper here https://arxiv.org/abs/2102.00107 describes how to use a 1D simulation to speed up stabilization. This functionality will be in the next SV release in June.
Cheers,
Dave
I don't see a way to do this within the current solver code, not really possible to map between geometries unless the changes are a simple parameterization like in the paper you referenced.
If the geometry doesn't change that much then you might could just interpolate the results to the new mesh: for every node in the new mesh determine the element it is in in the old mesh and use the element's shape functions to interpolate the results. You can use the VTK vtkCellLocator class to do this (see https://github.com/ktbolt/cardiovascula ... ceMesh.cpp).
The best way I think would be use the 1D solver. The paper here https://arxiv.org/abs/2102.00107 describes how to use a 1D simulation to speed up stabilization. This functionality will be in the next SV release in June.
Cheers,
Dave
- Charlie Bright
- Posts: 30
- Joined: Mon Jan 27, 2020 3:49 am
Re: IC Files with Changing Geometries
Hi Dave,
Thanks for the clarity and the suggestions, I'll take a look into them.
Looking forward to the new release!
Best wishes,
Charlie
Edit: Just finished the paper, a very interesting read. Well done to Martin & co-authors!
Thanks for the clarity and the suggestions, I'll take a look into them.
Looking forward to the new release!
Best wishes,
Charlie
Edit: Just finished the paper, a very interesting read. Well done to Martin & co-authors!