Mesh
Thunderbolt.SimpleMesh
— TypeSimpleMesh{sdim, C <: AbstractCell, T <: Real} <: AbstractGrid{sdim}
A grid which also has information abouts its vertices, faces and edges.
It is also a glorified domain manager for mixed grids and actual subdomains. TODO investigate whetehr we can remove the subdomains without a significant performance hit.
Missing docstring for Thunderbolt.to_mesh
. Check Documenter's build log for details.
Missing docstring for Thunderbolt.elementtypes
. Check Documenter's build log for details.
Coordinate Systems
Thunderbolt.CartesianCoordinateSystem
— TypeCartesianCoordinateSystem(mesh)
Standard cartesian coordinate system.
Thunderbolt.LVCoordinateSystem
— TypeLVCoordinateSystem(dh, u_transmural, u_apicobasal)
Simplified universal ventricular coordinate on LV only, containing the transmural, apicobasal and circumferential coordinates. See compute_lv_coordinate_system
to construct it.
Mesh Generators
Missing docstring for generate_mesh
. Check Documenter's build log for details.
Thunderbolt.generate_ring_mesh
— Functiongenerate_ring_mesh(num_elements_circumferential::Int, num_elements_radial::Int, num_elements_logintudinal::Int; inner_radius::T = Float64(0.75), outer_radius::T = Float64(1.0), longitudinal_lower::T = Float64(-0.2), longitudinal_upper::T = Float64(0.2), apicobasal_tilt::T=Float64(0.0)) where {T}
Generates an idealized full-hexahedral ring with linear ansatz. Geometrically it is the substraction of a small cylinder $C_i$ of a large cylinder $C_o$. The number of elements for the cylindrical system can be controlled by the first three input parameters. The remaining parameters control the spatial dimensions and the ring shape.
Thunderbolt.generate_open_ring_mesh
— Functiongenerate_open_ring_mesh(num_elements_circumferential::Int, num_elements_radial::Int, num_elements_logintudinal::Int, opening_angle::Float64; inner_radius::T = Float64(0.75), outer_radius::T = Float64(1.0), longitudinal_lower::T = Float64(-0.2), longitudinal_upper::T = Float64(0.2), apicobasal_tilt::T=Float64(0.0)) where {T}
Generates an idealized full-hexahedral ring with given opening angle and linear ansatz. Geometrically it is the substraction of a small cylinder $C_i$ of a large cylinder $C_o$. The number of elements for the cylindrical system can be controlled by the first three input parameters. The remaining parameters control the spatial dimensions and the ring shape. The ring is opened along the Cartesian x-z plane.
Thunderbolt.generate_quadratic_ring_mesh
— Functiongenerate_quadratic_ring_mesh(num_elements_circumferential::Int, num_elements_radial::Int, num_elements_logintudinal::Int; inner_radius::T = Float64(0.75), outer_radius::T = Float64(1.0), longitudinal_lower::T = Float64(-0.2), longitudinal_upper::T = Float64(0.2), apicobasal_tilt::T=Float64(0.0)) where {T}
Generates an idealized full-hexahedral ring with quadratic ansatz. Geometrically it is the substraction of a small cylinder $C_i$ of a large cylinder $C_o$. The number of elements for the cylindrical system can be controlled by the first three input parameters. The remaining parameters control the spatial dimensions and the ring shape.
Thunderbolt.generate_quadratic_open_ring_mesh
— Functiongenerate_quadratic_open_ring_mesh(num_elements_circumferential::Int, num_elements_radial::Int, num_elements_logintudinal::Int, opening_angle::Float64; inner_radius::T = Float64(0.75), outer_radius::T = Float64(1.0), longitudinal_lower::T = Float64(-0.2), longitudinal_upper::T = Float64(0.2), apicobasal_tilt::T=Float64(0.0)) where {T}
Generates an idealized full-hexahedral ring with given opening angle and quadratic ansatz. Geometrically it is the substraction of a small cylinder $C_i$ of a large cylinder $C_o$. The number of elements for the cylindrical system can be controlled by the first three input parameters. The remaining parameters control the spatial dimensions and the ring shape. The ring is opened along the Cartesian x-z plane.
Thunderbolt.generate_ideal_lv_mesh
— Functiongenerate_ideal_lv_mesh(num_elements_circumferential::Int, num_elements_radial::Int, num_elements_logintudinally::Int; inner_radius::T = Float64(0.7), outer_radius::T = Float64(1.0), longitudinal_upper::T = Float64(0.2), apex_inner::T = Float64(1.3), apex_outer::T = Float64(1.5))
Generate an idealized left ventricle as a truncated ellipsoid. The number of elements per axis are controlled by the first three parameters.
Utility
Missing docstring for Thunderbolt.hexahedralize
. Check Documenter's build log for details.
Missing docstring for Thunderbolt.uniform_refinement
. Check Documenter's build log for details.
Missing docstring for load_carp_mesh
. Check Documenter's build log for details.
Missing docstring for load_voom2_mesh
. Check Documenter's build log for details.
Missing docstring for load_mfem_mesh
. Check Documenter's build log for details.