Introduction

The following tables summarize the salient features of each of the example problems in this document. Each example is designed to be relatively self-contained, so that you need only study and/or emulate the problem that is most closely related to your own. We group these examples according to programming language (C, C++, Fortran).

ARKODE example problems written in C are summarized in the table below, and are further described in the chapters Serial C example problems, OpenMP C example problems, Parallel C example problems and Parallel Hypre example problems.

Problem

Integrator

Nonlinear

Linear

Size

Extras

ark_analytic

DIRK

Newton

Dense

1

ark_analytic_nonlin

ERK

N.A.

N.A.

1

ERKStep timestepping module

ark_brusselator

DIRK

Newton

Dense

3

ark_brusselator_fp

ARK

Fixed-point

N.A.

3

ark_robertson

DIRK

Newton

Dense

3

ark_robertson_root

DIRK

Newton

Dense

3

rootfinding

ark_brusselator1D

DIRK

Newton

Band

3N

ark_brusselator1D_omp

DIRK

Newton

Band

3N

OpenMP-enabled

ark_brusselator1D_klu

DIRK

Newton

KLU

3N

sparse matrices

ark_brusselator1D_FEM_slu

DIRK

Newton

SuperLU_MT

3N

finite-element, \(M\ne I\), sparse matrices

ark_heat1D

DIRK

Newton

PCG

N

ark_heat1D_adapt

DIRK

Newton

PCG

(dynamic)

adaptive vector resizing

ark_KrylovDemo_prec

DIRK

Newton

SPGMR

216

multiple preconditioners

ark_diurnal_kry_bbd_p

DIRK

Newton

SPGMR

200

parallel, BBD preconditioner

ark_diurnal_kry_p

DIRK

Newton

SPGMR

200

parallel, block-diagonal precond.

ark_diurnal_kry_ph

DIRK

Newton

SPGMR

200

HYPRE parallel vector

ARKODE example problems written in C++ are summarized in the table below, and are further described in the chapters Serial C++ example problems and Parallel C++ example problems.

Problem

Integrator

Nonlinear

Linear

Size

Extras

ark_analytic_sys

DIRK

Newton

Dense

3

ark_heat2D

DIRK

Newton

PCG

\(nx*ny\)

parallel