#![warn(missing_docs)]
pub mod atlas;
pub mod bc;
pub mod bundle;
pub mod closure;
pub mod constrained_section;
pub mod coordinate_dm;
pub mod coordinates;
pub mod discretization;
pub mod global_map;
pub mod hanging_node_constraints;
pub mod mixed_section;
pub mod multi_section;
pub mod section;
pub mod section_layout;
pub mod slice_storage;
pub mod storage;
#[cfg(feature = "wgpu")]
pub mod wgpu;
mod _debug_invariants;
pub mod refine;
#[allow(deprecated)]
pub use crate::debug_invariants::DebugInvariants;
pub use bc::{
CoastalBoundaryAssembly, CoastalBoundaryAssemblyError, CoastalBoundaryFaceSets,
FieldDofIndices, LabelQuery, apply_dirichlet_to_constrained_section,
apply_dirichlet_to_constrained_section_fields, apply_dirichlet_to_section,
apply_dirichlet_to_section_fields, coastal_boundary_face_sets, map_coastal_boundary_conditions,
resolve_coastal_boundary_assembly,
};
pub use closure::{
ClosureIndex, ClosureIndexCache, ClosureIndexKey, ClosureOrder, ClosurePointIndex,
FnSectionSym, IdentitySectionSym, SectionSym, TableSectionSym, TopologyVersion, add_closure,
build_closure_index, build_closure_index_unoriented, get_closure, get_closure_oriented,
set_closure,
};
pub use constrained_section::{
ConstrainedSection, ConstraintSet, DofConstraint, LabelConstraintSpec,
apply_constraints_to_section,
};
pub use coordinate_dm::{CoordinateDM, CoordinateNumbering};
pub use discretization::{Discretization, DiscretizationMetadata, FieldDiscretization, RegionKey};
pub use global_map::{LocalToGlobalMap, global_vector_for_map};
pub use hanging_node_constraints::{
HangingDofConstraint, HangingNodeConstraints, LinearConstraintTerm,
apply_hanging_constraints_to_section, constraints_from_topological_anchors,
};
pub use mixed_section::{
MixedScalar, MixedSectionStore, ScalarType, TaggedSection, TaggedSectionBuffer,
};
pub use multi_section::{FieldSection, MultiSection, constrained_section_from_label_specs};
pub use section::Section;
pub use section_layout::{
DofLayout, build_layout_with, constrained_dof_len, layout_for_multi_section_with_periodic,
layout_for_section_with_constraints_and_periodic, local_vector_for_layout,
local_vector_for_section, multi_section_dof_len_with_constraints,
};
pub use slice_storage::SliceStorage;
pub use storage::{Storage, VecStorage};
#[cfg(feature = "wgpu")]
pub use wgpu::WgpuStorage;
pub type CpuSection<V> = section::Section<V, VecStorage<V>>;
pub use coordinates::Coordinates;
pub use coordinates::HighOrderCoordinates;
pub use coordinates::MeshVelocity;
pub type CpuCoordinates<V> = coordinates::Coordinates<V, VecStorage<V>>;
pub type CpuMeshVelocity<V> = coordinates::MeshVelocity<V, VecStorage<V>>;
pub type CpuCoordinateDM<V> = coordinate_dm::CoordinateDM<V, VecStorage<V>>;
pub type CellTypeSection<S> = section::Section<crate::topology::cell_type::CellType, S>;