]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add a section on implementation.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 23 May 2008 04:51:49 +0000 (04:51 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 23 May 2008 04:51:49 +0000 (04:51 +0000)
git-svn-id: https://svn.dealii.org/trunk@16174 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/examples/step-33/doc/intro.dox

index 1512993e133f5ad493225f2581b5420960b8812a..256a8a18feadd52ae11c8ad6ba0c49b53dcaaa13 100644 (file)
@@ -305,5 +305,39 @@ InitialConditions or BoundaryConditions will be declared in the
 program below.
 
 
+<h3>Implementation</h3>
 
+The implementation of this program is split into three essential parts:
+<ul>
+  <li>The <code>EulerEquations</code> class that encapsulates everything that
+  completely describes the specifics of the Euler equations. This includes the
+  flux matrix $\mathbf F(\mathbf W)$, the numerical flux $\mathbf F(\mathbf
+  W^+,\mathbf W^-,\mathbf n)$, the right hand side $\mathbf G(\mathbf W)$,
+  boundary conditions, refinement indicators, postprocessing the output, and
+  similar things that require knowledge of the meaning of the individual
+  components of the solution vectors and the equations.
+
+  <li>A namespace that deals with everything that has to do with run-time
+  parameters. 
+
+  <li>The <code>ConservationLaw</code> class that deals with time stepping,
+  outer nonlinear and inner linear solves, assembling the linear systems, and
+  the top-level logic that drives all this. 
+</ul>
+
+The reason for this approach is that it separates the various concerns in a
+program: the <code>ConservationLaw</code> is written in such a way that it
+would be relatively straightforward to adapt it to a different set of
+equations: One would simply re-implement the members of the
+<code>EulerEquations</code> class for some other hyperbolic equation, or
+augment the existing equations by additional ones (for example by advecting
+additional variables, or my adding chemistry, etc). Such modifications,
+however, would not affect the time stepping, or the nonlinear solvers if
+correctly done, and consequently nothing in the <code>ConservationLaw</code>
+would have to be modified.
+
+Similarly, if we wanted to improve on the linear or nonlinear solvers, or on
+the time stepping scheme (as hinted at at the end of the <a
+href="#Results">results section</a>), then this would not require changes in
+the <code>EulerEquations</code> at all.
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.