Skip to content

Commit

Permalink
Add code for generating mesh for land 2015 benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
finsberg committed Apr 2, 2024
1 parent 8394340 commit c2f911c
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/cardiac_geometries/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
create_lv_ellipsoid,
create_slab,
create_biv_ellipsoid_torso,
create_benchmark_geometry_land15,
)
else:
gmsh2dolfin = None # type: ignore
Expand All @@ -33,6 +34,7 @@
create_lv_ellipsoid = None # type: ignore
create_slab = None # type: ignore
create_biv_ellipsoid_torso = None # type: ignore
create_benchmark_geometry_land15 = None # type: ignore
lv_aha = None # type: ignore
biv_aha = None # type: ignore

Expand All @@ -55,4 +57,5 @@
"mesh",
"lv_aha",
"biv_aha",
"create_benchmark_geometry_land15",
]
35 changes: 35 additions & 0 deletions src/cardiac_geometries/_mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,41 @@ def create_lv_ellipsoid(
return geo


def create_benchmark_geometry_land15(
r_short_endo: float = 7.0,
r_short_epi: float = 10.0,
r_long_endo: float = 17.0,
r_long_epi: float = 20.0,
quota_base: float = -5.0,
psize: float = 3.0,
ndiv: float = 1.0,
axisymmetric: bool = False,
fiber_space: str = "Quadrature_4",
fiber_angle_endo: float = -90,
fiber_angle_epi: float = +90,
):
mu_base_endo = math.acos(quota_base / r_long_endo)
mu_base_epi = math.acos(quota_base / r_long_epi)
mu_apex_endo = mu_apex_epi = 0
psize_ref = psize / ndiv
return create_lv_ellipsoid(
r_short_endo=r_short_endo,
r_short_epi=r_short_epi,
r_long_endo=r_long_endo,
r_long_epi=r_long_epi,
mu_base_endo=mu_base_endo,
mu_base_epi=mu_base_epi,
mu_apex_endo=mu_apex_endo,
mu_apex_epi=mu_apex_epi,
psize_ref=psize_ref,
create_fibers=True,
fiber_angle_endo=fiber_angle_endo,
fiber_angle_epi=fiber_angle_epi,
fiber_space=fiber_space,
axisymmetric=axisymmetric,
)


def create_slab(
outdir: Optional[Union[Path, str]] = None,
lx: float = 20.0,
Expand Down

0 comments on commit c2f911c

Please sign in to comment.