Skip to content

Commit

Permalink
remove outdated and duplicate mention of specific arkode files
Browse files Browse the repository at this point in the history
  • Loading branch information
balos1 committed Nov 3, 2023
1 parent 6a5d21a commit e5550d7
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions doc/arkode/guide/source/Organization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,29 @@ Code Organization

.. _ARKODE.Organization.ARKODE:

ARKODE organization
ARKODE Organization
===================

The ARKODE package is written in the ANSI C language. The
following summarizes the basic structure of the package, although
The following summarizes the basic structure of the ARKODE package, although
knowledge of this structure is not necessary for its use.

.. TODO(CJB): we should really update the organization figure to include
the steppers, root-finding, Butcher table "modules" etc.
Also, unless we talk about the file structure here, we should avoid
mentioning specific files so it does not go stale.
The overall organization of the ARKODE package is shown in
:numref:`ARKODE.Organization.ARKODE.Figure`. The central integration modules,
implemented in the files ``arkode.h``, ``arkode_impl.h``, ``arkode_butcher.h``,
``arkode.c``, ``arkode_arkstep.c`` , ``arkode_erkstep.c``, ``arkode_mristep.h``,
and ``arkode_butcher.c``, deal with the evaluation of integration stages, the
nonlinear solvers, estimation of the local truncation error, selection of step
size, and interpolation to user output points, among other issues. ARKODE
:numref:`ARKODE.Organization.ARKODE.Figure`.

The central integration modules, deal with the evaluation of integration stages,
the nonlinear solvers, estimation of the local truncation error, selection of
step size, and interpolation to user output points, among other issues. ARKODE
supports SUNNonlinearSolver modules in either root-finding or fixed-point form
(see section :numref:`SUNNonlinSol`) for any nonlinearly implicit problems that
arise in computing each internal stage. When using Newton-based nonlinear
solvers, or when using a non-identity mass matrix :math:`M\ne I`, ARKODE has
flexibility in the choice of method used to solve the linear sub-systems that
arise. Therefore, for any user problem invoking the Newton solvers, or any user
arise. Therefore, for any user problem invoking the Newton solvers, or any user
problem with :math:`M\ne I`, one (or more) of the linear system solver modules
should be specified by the user; this/these are then invoked as needed during
the integration process.
Expand All @@ -56,7 +59,7 @@ the integration process.
*ARKODE organization*: Overall structure of the ARKODE package.
Modules specific to ARKODE are the timesteppers (ARKODE), linear solver
interfaces (ARKLS), nonlinear solver interfaces (ARKNLS), and preconditioners
(ARKBANDPRE and ARKBBDPRE); all other items correspond to generic SUNDIALS
(ARKBANDPRE and ARKBBDPRE); all other items correspond to the SUNDIALS core
vector, matrix, and solver modules.

For solving these linear systems, ARKODE's linear solver interface
Expand Down

0 comments on commit e5550d7

Please sign in to comment.