Skip to content

Commit

Permalink
Updated the documentation to reflect improved wording for introducing…
Browse files Browse the repository at this point in the history
… MGRIT from the Strand2D XBraid paper
  • Loading branch information
Jacob Schroder committed Oct 24, 2014
1 parent 6fcad7d commit b604ed5
Show file tree
Hide file tree
Showing 8 changed files with 195 additions and 158 deletions.
24 changes: 12 additions & 12 deletions docs/Abstract.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,23 @@
- Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->

This package implements an optimal-scaling multigrid solver for the linear
This package implements an optimal-scaling multigrid solver for the (non)linear
systems that arise from the discretization of problems with evolutionary
behavior. Typically, solution algorithms for evolution equations are based on a
time-marching approach, solving sequentially for one time step after the other.
Parallelism in these traditional time-integration techniques is limited to
spatial parallelism. However, current trends in computer architectures are
leading towards systems with more, but not faster, processors. Therefore,
faster compute speeds must come from greater parallelism. One approach to
achieve parallelism in time is with multigrid, but extending classical
multigrid methods for elliptic operators to this setting is a significant
achievement. In this software, we implement a non-intrusive, optimal-scaling
time-parallel method based on multigrid reduction techniques. The examples in
the package demonstrate optimality of our multigrid-reduction-in-time algorithm
(MGRIT) for solving a variety of equations in two and three spatial
dimensions. These examples can also be used to show that MGRIT can achieve
significant speedup in comparison to sequential time marching on modern
architectures.
leading towards systems with more, but not faster, processors, i.e., clock
speeds are stagnate. Therefore, faster overall runtimes must come from greater
parallelism. One approach to achieve parallelism in time is with multigrid, but
extending classical multigrid methods for elliptic operators to this setting is
a significant achievement. In this software, we implement a non-intrusive,
optimal-scaling time-parallel method based on multigrid reduction techniques.
The examples in the package demonstrate optimality of our
multigrid-reduction-in-time algorithm (MGRIT) for solving a variety of
equations in two and three spatial dimensions. These examples can also be used
to show that MGRIT can achieve significant speedup in comparison to sequential
time marching on modern architectures.

It is **strongly recommended** that you also read [Parallel Time Integration
with Multigrid](https://computation-rnd.llnl.gov/linear_solvers/pubs/mgritPaper-2013.pdf)
Expand Down
8 changes: 4 additions & 4 deletions docs/Example.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,11 @@ first argument to every function.

6. **SpatialNorm**: This function tells XBraid how to take the norm
of a braid_Vector and is used for halting. This norm is only over
space. A common norm choice is the standard Eucliden norm, but
space. A common norm choice is the standard Euclidean norm, but
many other choices are possible, such as an L2-norm based on a
finite element space. The norm choice should be based on what
makes sense for you problem. How to accumulate spatial norm values
to obtain a global space-time residual norm for halting decsions is
to obtain a global space-time residual norm for halting decisions is
controlled by [braid_SetTemporalNorm](@ref braid_SetTemporalNorm).

int
Expand All @@ -188,14 +188,14 @@ first argument to every function.
at time *t*. This is most commonly used to print solution(s) to screen, file, etc...
The user defines what is appropriate output. Notice how you are told the time value *t* of the
vector *u* and even more information in *astatus*. This lets you tailor the output to only
certain time values at certain XBraid iterations. Querrying *astatus* for such information
certain time values at certain XBraid iterations. Querying *astatus* for such information
is done through _braid_AccessStatusGet**(..)_ routines.
\latexonly \\ \endlatexonly

The frequency of the calls to *access* is controlled through
[braid_SetAccessLevel](@ref braid_SetAccessLevel). For instance, if access_level is
set to 2, then *access* is called every XBraid iteration and on every XBraid level. In
this case, querrying *astatus* to determine the current XBraid level and iteration will
this case, querying *astatus* to determine the current XBraid level and iteration will
be useful. This scenario allows for even more detailed tracking of the simulation.
\latexonly \\ \endlatexonly

Expand Down
317 changes: 177 additions & 140 deletions docs/Introduction.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/developer_manual_header.tex
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@
~\\~\\~\\~\\~\\~\\~\\
\begin{center}
{ \fontsize{40}{50}\selectfont XBraid }\\
{ \large Time-Braid: Multigrid in Time Solvers}
{ \large Parallel Multigrid in Time}
\end{center}
~\\
\begin{figure}[!ht]
Expand Down
Binary file modified docs/img/CrelaxationDetail.pdf
Binary file not shown.
Binary file modified docs/img/FrelaxationDetail.pdf
Binary file not shown.
Binary file added docs/img/FrelaxationDetail2.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/user_manual_header.tex
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@
~\\~\\~\\~\\~\\~\\~\\
\begin{center}
{ \fontsize{40}{50}\selectfont XBraid }\\
{ \large Time-Braid: Multigrid in Time Solvers}
{ \large Parallel Multigrid in Time}
\end{center}
~\\
\begin{figure}[!ht]
Expand Down

0 comments on commit b604ed5

Please sign in to comment.