SimVascular / svSolver

Separate repository for svSolver
14 stars 23 forks source link

svpre inflation for deformable walls can be erroneous when used with boundary layers #51

Open vvedula22 opened 4 years ago

vvedula22 commented 4 years ago

I used the demo cylinder model to setup a deformable wall simulation with unsteady inflow and RCR outflow BCs. When used with boundary layer meshes, the initial inflation has zero displacement on some nodes of the wall which is wrong. The displacement field is also asymmetric. However, when the same simulation is done without boundary layer meshes, the solution is correct (in agreement with the inflation result from svFSI) and is also axisymmetric. I have also attached screen output from svpre for each case.

Inflated model without boundary layers

case_woBL

Inflated model with a 2-layered boundary mesh case_wBL2

Inflated model with a 4-layered boundary mesh case_wBL4

Screen outputs svpre_case_woBL.log svpre_case_wBL2.log svpre_case_wBL4.log

melodydong commented 4 years ago

svSolverCMM_Displacement_Dents

This also happens on my models using deformable wall simulations with CMM (with and without tissue support) on a boundary layer mesh. The random nodes that have 0-displacements changes with the number of processors used for the simulation. Weiguang helped me find where this issue occurs.

Comment out the if statement in line 292 of the write_restart_files.c file. This if-statement sets all interior node displacements to 0 when writing out restart files and was incorrectly identifying some exterior, surface nodes and setting to 0. The restart files will then have non-0 displacements everywhere in the model instead of just the surface, so when post-processing, you need to add a wall filter (-wfilter) to identify just the walls for outputting displacements.