Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Example 1: Utilize Thyra

This example replaces the raw C++ arrays from Example 0: Basic Problem with Thyra vectors and vector spaces. The mathematical problem, timestepper, and overall time-integration structure remain essentially unchanged, The main purpose is to introduce the abstract vector interfaces used throughout Tempus and other Trilinos packages.

Changes relative to Example 0: Basic Problem:

  • state storage moves from raw arrays to Thyra::VectorBase,
  • a Thyra::VectorSpaceBase is introduced to define the state space,
  • vector initialization and element access use Thyra::DetachedVectorView,
  • vector algebra uses Thyra helper routines, Thyra::V_VpStV, Thyra::norm, Thyra::V_V
  • Teuchos::RCP is used for memory management.

This example shows how the same application logic can be expressed in terms of abstract numerical objects rather than concrete array storage. That abstraction is a prerequisite for later examples that introduce Thyra::ModelEvaluator and Tempus solution-management objects.

A more detailed explanation of what changed from Example 0: Basic Problem is given in Transition from Example 0 to Example 1.

The next example moves the problem definition into a Thyra::ModelEvaluator while preserving the same Forward Euler update.

← Previous Example | Tutorial Overview | Next Example →