Module dae

Module dae 

Source
Expand description

Differential Algebraic Equation (DAE) solvers

This module provides numerical solvers for differential algebraic equations (DAEs). DAEs are a more general class of equations than ODEs and include algebraic constraints.

Features:

  • Support for index-1 DAE systems
  • Semi-explicit DAE solvers for specialized forms
  • Implicit DAE solvers for general forms
  • Integration with mass matrix functionality
  • Specialized BDF methods for DAE systems

DAEs can be classified based on their index, which roughly corresponds to the number of times one must differentiate the constraint equations to obtain an ODE. This module focuses primarily on index-1 DAEs, which are the most common in practice.

§Semi-explicit Form

Semi-explicit DAEs have the form:

x' = f(x, y, t)
0 = g(x, y, t)

where x are differential variables and y are algebraic variables.

§Fully-implicit Form

Fully-implicit DAEs have the form:

F(t, y, y') = 0

where all variables are treated uniformly and the system equations depend on both the variables and their derivatives.

Re-exports§

pub use self::types::DAEIndex;
pub use self::types::DAEOptions;
pub use self::types::DAEResult;
pub use self::types::DAEType;
pub use self::solvers::solve_higher_index_dae;
pub use self::solvers::solve_implicit_dae;
pub use self::solvers::solve_ivp_dae;
pub use self::solvers::solve_semi_explicit_dae;
pub use self::methods::bdf_dae::bdf_implicit_dae;
pub use self::methods::bdf_dae::bdf_semi_explicit_dae;
pub use self::methods::index_reduction_bdf::bdf_implicit_with_index_reduction;
pub use self::methods::index_reduction_bdf::bdf_with_index_reduction;
pub use self::methods::krylov_dae::krylov_bdf_implicit_dae;
pub use self::methods::krylov_dae::krylov_bdf_semi_explicit_dae;
pub use self::methods::block_precond::create_block_ilu_preconditioner;
pub use self::methods::block_precond::create_block_jacobi_preconditioner;
pub use self::index_reduction::DAEStructure;
pub use self::index_reduction::DummyDerivativeReducer;
pub use self::index_reduction::PantelidesReducer;
pub use self::index_reduction::ProjectionMethod;

Modules§

index_reduction
Index reduction techniques for higher-index DAE systems
methods
Methods for solving Differential Algebraic Equations (DAEs)
solvers
DAE solver implementations
types
Types for DAE solver module
utils
Utility functions for DAE solvers