Skip to main content

aeon_tk/
lib.rs

1#![allow(clippy::needless_range_loop)]
2#![allow(clippy::too_many_arguments)]
3
4// Included so we can use custom derive macros from `aeon_macros` within this crate.
5extern crate self as aeon;
6
7pub mod array;
8pub mod element;
9pub mod geometry;
10pub mod image;
11pub mod kernel;
12pub mod mesh;
13pub mod shared;
14pub mod solver;
15
16pub use aeon_macros as macros;
17
18/// A common helper wrapper for implementing a trait T for types of the form &impl T
19pub struct IRef<'a, B>(pub &'a B);
20
21/// Provides common types used for most `aeon` applications.
22pub mod prelude {
23    pub use crate::geometry::{
24        ActiveCellId, BlockId, CellId, Face, FaceArray, FaceMask, HyperBox, IndexSpace, NeighborId,
25    };
26    pub use crate::image::{Image, ImageMut, ImageRef, ImageShared};
27    pub use crate::kernel::{
28        BoundaryClass, BoundaryConds, BoundaryKind, DirichletParams, RadiativeParams,
29        SystemBoundaryConds,
30    };
31    pub use crate::mesh::{
32        Checkpoint, Engine, ExportStride, ExportVtuConfig, Function, Mesh, Projection,
33    };
34    pub use aeon_macros::SystemLabel;
35}