Rythmos - Transient Integration for Differential Equations Version of the Day
Rythmos is a transient integrator for ordinary differential equations and differential-algebraic equations with support for explicit, implicit, one-step and multi-step algorithms. The fundamental design of Rythmos is aimed at supporting operator-split algorithms, multi-physics applications, block linear algebra, and adjoint integration.
Rythmos::ImplicitBDFStepper provides a re-implementation of the algorithms in the LLNL Sundials code IDA. This is an implicit BDF integrator for DAEs which uses variable step-sizes and variable-orders first through fifth.
Rythmos::ExplicitRKStepper provides a four stage fourth order explicit RK stepper with fixed step-sizes provided by the application.
Rythmos::ForwardEulerStepper provides the explicit forward Euler algorithm with fixed step-sizes provided by the application.
Rythmos::BackwardEulerStepper provides the implicit backward Euler algorithm with fixed step-sizes provided by the application. This class supports ODEs and DAEs.
ExampleApplication: This is the classic linear differential equation .
ExampleApplication1Dfem: This is a one dimensional finite element problem from NOX that solves: .
Rythmos is dependent on the following Trilinos packages:
Thyra: This package provides interfaces and support code which includes the linear algebra operations, linear solve operations, nonlinear solve operations and the ModelEvaluator interface for applications. Rythmos is basically build directly on top of Thyra.
RTOp: This package supplies the basic interfaces for vector reduction/transformation operators used by Thyra.
Teuchos: This package provides basic utility classes such as
Rythmos' configure script responds to several top level Trilinos options.
The most important configuration option is:
–enable-rythmos: This causes Rythmos and all of its dependent packages to be built.
–enable-epetraext: For the
EpetraExt::ModelEvaluator interface. This also pulls in Epetra.
–enable-epetraext-thyra: For the Thyra adaptor
Thyra::EpetraModelEvaluator between the
–enable-nox: This is for the 1DfemTransient example which comes from NOX.
–enable-nox-epetra: This enables the Epetra interface in NOX.
–enable-amesos: This enables direct sparse linear solvers for implicit methods.
–enable-aztecoo: This enables iterative linear solvers for implicit methods.
–enable-ifpack: This enables preconditioners for AztecOO.
–enable-stratimikos: This is the interface the examples use to talk to Amesos and AztecOO.
The authors of the Rythmos package, are:
And grateful acknowledgement of very helpful insight at just the right times go to: