@@ -27,7 +27,6 @@ def test_CardiacModel_HolzapfelOgden(comp_model_cls, isotropy, mesh, u):
2727 b_f = 0.0 ,
2828 a_fs = 0.0 ,
2929 b_fs = 0.0 ,
30- deviatoric = False ,
3130 )
3231 comp_model = comp_model_cls ()
3332 active_model = pulse .ActiveStress (f0 , isotropy = isotropy )
@@ -52,18 +51,22 @@ def test_CardiacModel_HolzapfelOgden(comp_model_cls, isotropy, mesh, u):
5251 # )
5352
5453 # F = I + 0.1 I, C = 1.21 I, I4f = 1.21
55- # J = det(F) = 1.1 ** 3
54+ # J = det(F) = 1.1 ** 3, J^{-2/3} = 1.1 ** -2
5655
5756 if isinstance (comp_model , pulse .compressibility .Incompressible ):
5857 # psi = 0.5 * a * (I1 - 3) + 0.5 * a_f * (I4f - 1)**2 + p (J - 1)
5958 # psi = 0.5 * 1000*1 * (3 * 1.21 - 3) + 0.5 * 1000.0 * 1.0 * (1.21 - 1)**2 +
6059 # 1000.0 * (1.1 ** 3 - 1) = 668.05
6160 assert math .isclose (value , 668.05 )
6261 else :
63- # psi = 0.5 * a * (I1 - 3) + 0.5 * a_f * (I4f - 1)**2 + kappa * (J * ln(J) - J + 1)
64- # psi = 0.5 * 1000*1 * (3 * 1.21 - 3) + 0.5 * 1000.0 * 1.0 * (1.21 - 1)**2 +
65- # 1e6 * (1.1 ** 3 * math.log(1.1 ** 3) - 1.1 ** 3 + 1) = 49910.5979586692
66- assert math .isclose (value , 49910.5979586692 )
62+ # J^{-2/3} = 1.1 ** -2
63+ # psi = 0.5 * a * (J^{-2/3} * I1 - 3) + 0.5 * a_f * (^{-2/3} * I4f - 1)**2
64+ # + kappa * (J * ln(J) - J + 1)
65+
66+ # psi = 0.5 * 1000*1 * (1.1 ** -2 * 3 * 1.21 - 3)
67+ # + 0.5 * 1000.0 * 1.0 * (1.1 ** -2 * 1.21 - 1)**2
68+ # + 1e6 * (1.1 ** 3 * math.log(1.1 ** 3) - 1.1 ** 3 + 1) = 49573.547958669194
69+ assert math .isclose (value , 49573.547958669194 )
6770
6871
6972@pytest .mark .parametrize ("isotropy" , (pulse .active_stress .ActiveStressModels .transversely ,))
@@ -74,7 +77,6 @@ def test_CardiacModel_HolzapfelOgden(comp_model_cls, isotropy, mesh, u):
7477def test_CardiacModel_NeoHookean (comp_model_cls , isotropy , mesh , u ):
7578 material = pulse .NeoHookean (
7679 mu = dolfinx .fem .Constant (mesh , dolfinx .default_scalar_type (15.0 )),
77- deviatoric = False ,
7880 )
7981 f0 = dolfinx .fem .Constant (mesh , (1.0 , 0.0 , 0.0 ))
8082 comp_model = comp_model_cls ()
@@ -95,7 +97,7 @@ def test_CardiacModel_NeoHookean(comp_model_cls, isotropy, mesh, u):
9597 if isinstance (comp_model , pulse .compressibility .Incompressible ):
9698 assert math .isclose (value , 4725.331000000082 )
9799 else :
98- assert math .isclose (value , 54298.54795867078 )
100+ assert math .isclose (value , 49573.54795867355 )
99101
100102
101103@pytest .mark .parametrize ("isotropy" , (pulse .active_stress .ActiveStressModels .transversely ,))
@@ -108,7 +110,7 @@ def test_CardiacModel_Guccione(comp_model_cls, isotropy, mesh, u):
108110 s0 = dolfinx .fem .Constant (mesh , (0.0 , 1.0 , 0.0 ))
109111 n0 = dolfinx .fem .Constant (mesh , (0.0 , 0.0 , 1.0 ))
110112 material_params = pulse .Guccione .default_parameters ()
111- material = pulse .Guccione (f0 = f0 , s0 = s0 , n0 = n0 , ** material_params , deviatoric = False )
113+ material = pulse .Guccione (f0 = f0 , s0 = s0 , n0 = n0 , ** material_params )
112114 active_model = pulse .ActiveStress (f0 , isotropy = isotropy )
113115 comp_model = comp_model_cls ()
114116 model = pulse .CardiacModel (
@@ -126,4 +128,4 @@ def test_CardiacModel_Guccione(comp_model_cls, isotropy, mesh, u):
126128 if isinstance (comp_model , pulse .compressibility .Incompressible ):
127129 assert math .isclose (value , 141.78170311802802 )
128130 else :
129- assert math .isclose (value , 49714.998661786354 )
131+ assert math .isclose (value , 49573.54795866912 )
0 commit comments