Mesh
Thunderbolt.SimpleMesh — Type
SimpleMesh{sdim, C <: AbstractCell, T <: Real} <: AbstractGrid{sdim}
A grid which also has information abouts its vertices, facets 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 — Type
CartesianCoordinateSystem(mesh)Standard cartesian coordinate system.
Thunderbolt.LVCoordinateSystem — Type
LVCoordinateSystem(dh, u_transmural, u_apicobasal)Simplified universal ventricular coordinate on LV only, containing the transmural, apicobasal and rotational coordinates. See compute_lv_coordinate_system to construct it.
Thunderbolt.LVCoordinate — Type
LVCoordinate{T}LV only part of the universal ventricular coordinate, containing * transmural * apicobasal * rotational
Thunderbolt.BiVCoordinateSystem — Type
BiVCoordinateSystem(dh, u_transmural, u_apicobasal, u_rotational, u_transventricular)Universal ventricular coordinate, containing the transmural, apicobasal, rotational and transventricular coordinates.
Thunderbolt.BiVCoordinate — Type
BiVCoordinate{T}
Biventricular universal coordinate, containing * transmural * apicobasal * rotational * transventricular
Mesh Generators
Thunderbolt.generate_ring_mesh — Function
generate_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 — Function
generate_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 — Function
generate_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 — Function
generate_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 — Function
generate_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.