Skip to content

Commit 6d38248

Browse files
Update test LV Guccione active (#337)
Reduce momentum and continuity stabilization coefficients, update reference solution, and add README.md and animations.
1 parent ca48618 commit 6d38248

File tree

6 files changed

+27
-8
lines changed

6 files changed

+27
-8
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
This test case simulates an idealized left ventricle (LV) with a Guccione material model
2+
contracting due to time-dependent active stress, and subject to a time-dependent
3+
pressure load on the endocardial surfaces. The problem set up can be found in
4+
Problem 3 of (Land et al., 2015)[1]. The simulation result is shown in the animation below.
5+
6+
![Simulation GIF](animation.gif)
7+
8+
[1]: Land, Sander, Viatcheslav Gurev, Sander Arens, Christoph M. Augustin, Lukas Baron, Robert Blake, Chris Bradley, et al. Verification of Cardiac Mechanics Software: Benchmark Problems and Solutions for Testing Active and Passive Material Behaviour. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 471, no. 2184 (December 2015): 20150641. https://doi.org/10.1098/rspa.2015.0641.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:e8a3ab10076ba2c347565319a8034900c1fb6aa7fb3661245e73dbdbc5a82ec9
3+
size 1681180
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:fe16ff23fdb103812f0f96f7e3c9c4eeb90d783c5994dc0a7017cada9128f23c
3-
size 72290
2+
oid sha256:48525854e6062b81e71906a804fe559202dcd692efd3c6debcb7ae4617e1a644
3+
size 73470

tests/cases/ustruct/LV_Guccione_active/solver.xml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Continue_previous_simulation> 0 </Continue_previous_simulation>
66
<Number_of_spatial_dimensions> 3 </Number_of_spatial_dimensions>
77
<Number_of_time_steps> 1 </Number_of_time_steps>
8-
<Time_step_size> 1e-4 </Time_step_size>
8+
<Time_step_size> 1e-3 </Time_step_size>
99
<Spectral_radius_of_infinite_time_step> 0.50 </Spectral_radius_of_infinite_time_step>
1010
<Searched_file_name_to_trigger_stop> STOP_SIM </Searched_file_name_to_trigger_stop>
1111
<Save_results_to_VTK_format> true </Save_results_to_VTK_format>
@@ -34,6 +34,8 @@
3434
<Fiber_direction_file_path> mesh/P1/fibersLong.vtu </Fiber_direction_file_path>
3535
<Fiber_direction_file_path> mesh/P1/fibersSheet.vtu </Fiber_direction_file_path>
3636

37+
<!-- Mesh is in mm -->
38+
3739
</Add_mesh>
3840

3941
<Add_equation type="ustruct" >
@@ -43,24 +45,25 @@
4345
<Tolerance> 1e-12 </Tolerance>
4446
<Use_taylor_hood_type_basis> false </Use_taylor_hood_type_basis>
4547

46-
<Density> 1e-3 </Density>
48+
<Density> 1e-3 </Density> <!-- g/mm^3 -->
4749
<Elasticity_modulus> 2.0e5 </Elasticity_modulus>
4850
<Poisson_ratio> 0.5 </Poisson_ratio>
4951

5052
<Constitutive_model type="Guccione" >
51-
<c> 2.0e3 </c>
52-
<bf> 8.0 </bf>
53+
<c> 2.0e3 </c> <!-- g/mm/s^2 or Pa -->
54+
<bf> 8.0 </bf> <!-- no units -->
5355
<bt> 2.0 </bt>
5456
<bfs> 4.0 </bfs>
5557
</Constitutive_model>
5658

59+
<!-- Fiber stress ramp from 0 to 60 kPa in 1s -->
5760
<Fiber_reinforcement_stress type="Unsteady" >
5861
<Temporal_values_file_path> fib_stress.dat </Temporal_values_file_path>
5962
<Ramp_function> true </Ramp_function>
6063
</Fiber_reinforcement_stress>
6164

62-
<Momentum_stabilization_coefficient> 1e-1 </Momentum_stabilization_coefficient>
63-
<Continuity_stabilization_coefficient> 1e-1 </Continuity_stabilization_coefficient>
65+
<Momentum_stabilization_coefficient> 1e-3 </Momentum_stabilization_coefficient>
66+
<Continuity_stabilization_coefficient> 1e-3 </Continuity_stabilization_coefficient>
6467

6568
<Output type="Spatial" >
6669
<Pressure> true </Pressure>
@@ -89,6 +92,7 @@
8992
<Impose_on_state_variable_integral> true </Impose_on_state_variable_integral>
9093
</Add_BC>
9194

95+
<!-- Endocardial pressure load ramp from 0 to 15 kPa in 1s-->
9296
<Add_BC name="endo" >
9397
<Type> Neu </Type>
9498
<Time_dependence> Unsteady </Time_dependence>

tests/unitTests/test.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
// --------------------------------------------------------------
3232
// To run the tests in test.cpp
33+
// 0. Make sure svMultiPhysics was built with unit tests enabled, using cmake -DENABLE_UNIT_TEST=ON ..
3334
// 1. Navigate to <svMultiPhysics_root_directory>/build/svMultiPhysics-build/Source/solver
3435
// 2. Run `make` to build the tests
3536
// 3. Run `ctest --verbose` to run the tests

0 commit comments

Comments
 (0)