1#![cfg_attr(docsrs, feature(doc_cfg))]
2pub mod adapt;
54pub mod algs;
55pub mod data;
56pub mod debug_invariants;
57pub mod discretization;
58pub mod forest;
59pub mod geometry;
60pub mod io;
61pub mod mesh_error;
62pub mod mesh_generation;
63pub mod mesh_graph;
64pub mod overlap;
65#[cfg(feature = "mpi-support")]
66pub mod partitioning;
67pub mod physics;
68pub mod section;
69pub mod topology;
70
71pub use debug_invariants::DebugInvariants;
72
73pub mod prelude {
75 pub use crate::algs::assembly::{
76 AssemblyCommTags, assemble_section_with_ownership, assemble_section_with_tags_and_ownership,
77 };
78 pub use crate::algs::communicator::Communicator;
79 #[cfg(feature = "mpi-support")]
80 pub use crate::algs::communicator::MpiComm;
81 #[cfg(feature = "rayon")]
82 pub use crate::algs::communicator::RayonComm;
83 pub use crate::algs::completion::{
84 complete_section, complete_section_with_ownership,
85 complete_section_with_tags_and_ownership, complete_sieve, complete_stack,
86 complete_stack_with_tags,
87 };
88 #[cfg(feature = "metis-support")]
89 pub use crate::algs::distribute::MetisPartitioner;
90 pub use crate::algs::distribute::{
91 CustomPartitioner, DistributionConfig, ProvidedPartition, distribute_with_overlap,
92 distribute_with_overlap_periodic,
93 };
94 pub use crate::algs::point_sf::PointSF;
95 pub use crate::algs::rcm::distributed_rcm;
96 pub use crate::algs::renumber::{
97 StratifiedOrdering, renumber_coordinate_dm, renumber_points, renumber_points_stratified,
98 stratified_permutation,
99 };
100 pub use crate::data::atlas::Atlas;
101 pub use crate::data::bc::{
102 FieldDofIndices, LabelQuery, apply_dirichlet_to_constrained_section,
103 apply_dirichlet_to_constrained_section_fields, apply_dirichlet_to_section,
104 apply_dirichlet_to_section_fields,
105 };
106 pub use crate::data::constrained_section::{
107 ConstrainedSection, ConstraintSet, DofConstraint, apply_constraints_to_section,
108 };
109 pub use crate::data::coordinate_dm::{CoordinateDM, CoordinateNumbering};
110 pub use crate::data::coordinates::{Coordinates, MeshVelocity};
111 pub use crate::data::discretization::{
112 Discretization, DiscretizationMetadata, FieldDiscretization, RegionKey,
113 };
114 pub use crate::data::global_map::LocalToGlobalMap;
115 pub use crate::data::hanging_node_constraints::{
116 HangingDofConstraint, HangingNodeConstraints, LinearConstraintTerm,
117 apply_hanging_constraints_to_section,
118 };
119 pub use crate::data::multi_section::{FieldSection, MultiSection};
120 #[cfg(feature = "map-adapter")]
121 pub use crate::data::section::Map;
122 pub use crate::data::section::Section;
123 pub use crate::debug_invariants::DebugInvariants;
124 pub use crate::discretization::runtime::{
125 Basis, DofMap, ElementRuntime, ElementTabulation, QuadratureRule, assemble_local_matrix,
126 assemble_local_vector, cell_vertices, local_load_vector, local_stiffness_matrix,
127 runtime_from_metadata, tabulate_element,
128 };
129 pub use crate::io::MeshBundle;
130 pub use crate::overlap::delta::{AddDelta, CopyDelta, ValueDelta};
131 pub use crate::overlap::overlap::Overlap;
132 pub use crate::physics::fe::{
133 ElementMatrices, ReferenceElementEvaluation, assemble_element_matrices,
134 evaluate_reference_element, integrate_reference_scalar,
135 };
136 pub use crate::topology::bounds::{PayloadLike, PointLike};
137 pub use crate::topology::cell_type::CellType;
138 pub use crate::topology::labels::LabelSet;
139 pub use crate::topology::ownership::{OwnershipEntry, PointOwnership};
140 pub use crate::topology::periodic::{
141 PeriodicMap, PointEquivalence, collapse_points, quotient_sieve,
142 };
143 pub use crate::topology::point::PointId;
144 pub use crate::topology::sieve::{
145 InMemoryOrientedSieve, InMemoryOrientedSieveArc, InMemorySieve, InMemorySieveArc,
146 InMemorySieveDeterministic, InMemoryStackArc, MutableSieve, Orientation, OrientedSieve,
147 Sieve, SieveBuildExt, SieveQueryExt,
148 };
149 pub use crate::topology::stack::{InMemoryStack, Stack};
150}