pub use crate::primitives::{GREAT, ROOT_GREAT, ROOT_SMALL, ROOT_VSMALL, SMALL, VGREAT, VSMALL};
pub use crate::primitives::{SphericalTensor, SymmTensor, Tensor, Vector3};
pub use crate::primitives::{
eigen_values, eigen_values_checked, eigen_values_symm, eigen_vectors, eigen_vectors_symm,
eigen_vectors_symm_with, eigen_vectors_with,
};
pub use crate::polynomial::{CubicEqn, LinearEqn, Polynomial, QuadraticEqn, RootType, Roots};
pub use crate::math::{
erf_inv, inc_gamma_p, inc_gamma_q, inc_gamma_ratio_p, inc_gamma_ratio_q, inv_inc_gamma,
};
pub use crate::matrix::{MatrixError, SquareMatrix};
pub use crate::ode::{
DynSystemIntegrator, Euler, NoTypedSystem, OdeError, OdeIntegrator, OdeSolver, OdeSolverConfig,
OdeSystem, Rkf45, Rosenbrock23, SharedOdeSystem, TypedStateIntegrator,
};
pub use crate::interpolation::{interpolate_spline_xy, interpolate_xy};
pub use crate::thermophysics::eos::*;
pub use crate::thermophysics::error::ThermoError;
pub use crate::thermophysics::quantities::Compressibility;
pub use crate::thermophysics::thermo::*;
pub use crate::thermophysics::transport::*;
pub use crate::fields::{
BoundaryCondition, Field, PatchField, SurfaceField, SurfaceScalarField, SurfaceVectorField,
VolField, VolScalarField, VolSymmTensorField, VolTensorField, VolVectorField,
};
pub use crate::mesh::{
AmiCoupling, AmiOverlap, AmiWeight, BoundaryPatch, CyclicCoupling, FvMesh, FvMeshBuilder,
MeshError, PatchKind, RegionInterface,
};
pub use crate::mesh::ami::overlap_weights_1d;
pub use crate::ldu_matrix::{FvMatrix, FvVectorMatrix, LduMatrix, SolverPerformance, SolverSettings};
pub use crate::fv_operators::{adjust_phi, fvc, fvm};
pub use crate::fv_operators::fvc::central_upwind::{KnpFaceFlux, KnpFaceState, KnpWaveSpeeds};
pub use crate::fv_operators::fvc::grad_least_squares;
pub use crate::fv_operators::fvm::{
laplacian_corrected, max_non_orthogonality_deg, non_ortho_geometry,
solve_laplacian_non_orthogonal, NonOrthoGeometry, NonOrthoScheme,
};
pub use crate::fv_options::{
CellSelection, EquationField, FvModel, FvModels, MomentumEquationForm, SemiImplicitSource,
SolidificationMelting, SolidificationMeltingCoefficients, SolidificationPorosity,
SourceContribution, TemperatureTable, VofSolidificationMelting,
};
pub use crate::fields::vol_field_algebra;
pub use crate::fluid_thermo::{ConstSolidThermo, FluidThermo, PsiThermo, RhoThermo, SolidThermo};
pub use crate::ldu_matrix::{conjugate_gradient, gamg, gauss_seidel};
pub use crate::ldu_matrix::{
krylov_solve, krylov_solve_prepared, KrylovMethod, KrylovOptions, PreconditionerKind,
};
pub use crate::krylov::{
bicgstab, bicgstab_prepared, gmres, gmres_prepared, Ilu0Preconditioner, JacobiPreconditioner,
KrylovResult, KrylovSettings, Preconditioner,
};
pub use crate::interface;
pub use crate::steady_conduction::{
radial_mesh, voxel_mesh, ConductionMesh, EnergyBalance, PatchCondition, RadialClosedForm,
RadialGeometry, RadialLayer, RadialShell, SteadyConductionError, SteadyConductionProblem,
SteadyConductionSettings, SteadyConductionSolution, ThermalBoundary, VoxelGrid, VoxelMesh,
};
pub use crate::limiters::FluxLimiter;
pub use crate::compute::{
gpu_adapter_present, select_backend, ComputeBackend, ThreadCount, CPU_MULTI_MIN_WORK_ITEMS,
GPU_MIN_WORK_ITEMS,
};
pub use crate::fields::parallel::{
field_parallel_crossover, should_parallelise, FIELD_PARALLEL_CROSSOVER, REDUCTION_CHUNK,
};
pub use crate::ldu_matrix::parallel::{
axpy as ldu_axpy, dot as ldu_dot, norm_l1 as ldu_norm_l1, norm_l2 as ldu_norm_l2,
scale as ldu_scale, spmv_backend_for, vecop_backend_for, HybridLdu, LduTopology, CELL_BLOCK,
REDUCTION_BLOCK, SPMV_MIN_CELLS, VECOP_MIN_ELEMENTS,
};
pub use crate::math::parallel::{
cubic_roots_batch, linear_roots_batch, poly_roots_backend_for, quadratic_roots_batch,
root_batch_backend_for, solve_bracketed_batch, solve_newton_batch, RootBatch, RootBatchFailure,
RootMethod, RootProblem, RootSettings, RootSolution, RootStatus,
};
pub use crate::math::minimise::{
golden_section_batch, minimise_backend_for, MinBatch, MinBatchFailure, MinProblem, MinSettings,
MinSolution, MinStatus, Sense, GOLDEN_RATIO, MINIMISE_BATCH_MIN_PROBLEMS, SQRT_EPSILON,
};
pub use crate::ode::parallel::{
adaptive_quadrature_batch, ensemble_backend_for, integrate_ensemble, integrate_ensemble_mixed,
quadrature_backend_for, quadrature_batch, AdaptiveSettings, GaussOrder, OdeEnsemble,
OdeEnsembleFailure, OdeLane, OdeLaneSolution, OdeLaneStatus, QuadratureBatch,
QuadratureBatchFailure, QuadratureInterval, QuadratureRule, QuadratureSolution,
QuadratureStatus, ODE_ENSEMBLE_MIN_LANES, QUADRATURE_MIN_INTERVALS,
};
pub use crate::math::differentiate::{
derivative, derivative_backend_for, derivative_batch, jacobian, jacobian_batch,
jacobian_batch_backend_for, jacobian_column_backend_for, ode_system_jacobian, DerivativeBatch,
DerivativeSolution, DiffBatchFailure, DiffScheme, DiffSettings, DiffStatus, JacobianBatch,
JacobianSolution, NumericalJacobian, CBRT_EPSILON, DERIVATIVE_BATCH_MIN_POINTS,
FIFTH_ROOT_EPSILON, JACOBIAN_BATCH_MIN_PROBLEMS, JACOBIAN_COLUMN_MIN_DIMENSION,
};