Element Interface
Entry Points
Thunderbolt.AbstractVolumetricElementCache — Type
Supertype for all caches to integrate over volumes.
Interface:
setup_element_cache(model, qr, sdh)Thunderbolt.AbstractSurfaceElementCache — Type
Supertype for all caches to integrate over surfaces.
Interface:
setup_boundary_cache(model, qr, sdh)Thunderbolt.AbstractInterfaceElementCache — Type
Supertype for all caches to integrate over interfaces.
Interface:
setup_interface_cache(model, qr, ip, sdh)Thunderbolt.assemble_element! — Function
assemble_element!(Kₑ::AbstractMatrix, cell::CellCache, element_cache::AbstractVolumetricElementCache, time)Main entry point for bilinear operators
assemble_element!(Kₑ::AbstractMatrix, uₑ::AbstractVector, cell::CellCache, element_cache::AbstractVolumetricElementCache, time)Update element matrix in nonlinear operators
assemble_element!(Kₑ::AbstractMatrix, residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, element_cache::AbstractVolumetricElementCache, time)Update element matrix and residual in nonlinear operators
assemble_element!(residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, element_cache::AbstractVolumetricElementCache, time)Update residual in nonlinear operators
The notation is as follows.
\[K_e\]
the element stiffness matrix\[u_e\]
the element unknowns\[residual_e\]
the element residual
Thunderbolt.assemble_facet! — Function
assemble_facet!(Kₑ::AbstractMatrix, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Main entry point for bilinear operators
assemble_facet!(Kₑ::AbstractMatrix, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update facet matrix in nonlinear operators
assemble_facet!(Kₑ::AbstractMatrix, residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update facet matrix and residual in nonlinear operators
assemble_facet!(residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update residual in nonlinear operators
The notation is as follows.
\[K_e\]
the element stiffness matrix\[u_e\]
the element unknowns\[residual_e\]
the element residual
Thunderbolt.assemble_interface! — Function
assemble_interface!(Kₑ::AbstractMatrix, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Main entry point for bilinear operators
assemble_interface!(Kₑ::AbstractMatrix, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update facet matrix in nonlinear operators
assemble_interface!(Kₑ::AbstractMatrix, residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update facet matrix and residual in nonlinear operators
assemble_interface!(residualₑ::AbstractVector, uₑ::AbstractVector, cell::CellCache, facet_cache::AbstractSurfaceElementCache, time)Update residual in nonlinear operators
The notation is as follows.
\[K_e\]
the element pair stiffness matrix\[u_e\]
the element pair unknowns\[residual_e\]
the element pair residual
Common
Thunderbolt.AnalyticalCoefficientElementCache — Type
AnalyticalCoefficientElementCache(f(x,t)->..., nonzero_in_time_intervals, cellvalues)Analytical coefficient described by a function in space and time. Can be sparse in time.
Thunderbolt.SimpleFacetCache — Type
Standard cache for surface integrals.
Composite
Thunderbolt.CompositeVolumetricElementCache — Type
This cache allows to combine multiple elements over the same volume. If surface caches are passed they are handled properly. This requred dispatching isfacetincache(facet::FacetIndex, geometrycache, my_cache::MyCacheType)
Thunderbolt.CompositeSurfaceElementCache — Type
This cache allows to combine multiple elements over the same surface.
Thunderbolt.CompositeInterfaceElementCache — Type
This cache allows to combine multiple elements over the same interface.
Bilinear
Thunderbolt.BilinearMassIntegrator — Type
BilinearMassIntegrator{MT, CV}Represents the integrand of the bilinearform $a(u,v) = \int \rho(x) v(x) u(x) dx$ for $u,v$ from the same function space with some given density field $\rho(x)$.
Thunderbolt.BilinearMassElementCache — Type
The cache associated with BilinearMassIntegrator to assemble element mass matrices.
Thunderbolt.BilinearDiffusionIntegrator — Type
BilinearDiffusionIntegrator{CoefficientType}Represents the integrand of the bilinear form $a(u,v) = -\int \nabla v(x) \cdot D(x) \nabla u(x) dx$ for a given diffusion tensor $D(x)$ and $u,v$ from the same function space.
Thunderbolt.BilinearDiffusionElementCache — Type
The cache associated with BilinearDiffusionIntegrator to assemble element diffusion matrices.
Solid Mechanics
Elements
Thunderbolt.QuasiStaticElementCache — Type
QuasiStaticElementCacheA generic cache to assemble elements coming from a StructuralModel.
Right now the model has to be formulated in the first Piola Kirchhoff stress tensor and F.