Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Tutorials Overview

The following tutorials are available.

The tutorials give a short introduction, the extensively commented source code of the program, the results and, at the end, the complete source code without comments. The recognised names in the source code and the comments are linked with the class documentation.

The first list of tutorials refers to the developing version of Concepts while the latter refers to the version of Concepts released under GPL.

  1. Tutorials of Developing Version
  2. Tutorials of GPL Version

Tutorials of Developing Version (2011)

  1. inhomDirichletBCs.cc: Tutorial explaining how to implement inhomogeneous Dirichlet boundary conditions using a Dirichlet lift Ansatz.
  2. inhomNeumannBCs.cc: Tutorial explaining how to implement inhomogeneous Neumann boundary conditions using trace spaces.
  3. RobinBCs.cc: Tutorial explaining how to implement Robin boundary conditions using trace spaces.
  4. BGT_0.cc: Tutorial explaining how to implement the so called BGT boundary conditions for scattering problems on a disc.
  5. exactDtN.cc: Tutorial explaining how to implement an exact DtN mapping for scattering problems on a disc.
  6. matfileTutorial.cc: Tutorial explaining how to use matfile to store and regain matrices in concepts.

Tutorials of GPL Version (2004)

  1. meshes.cc: Meshing tutorial in one, two and three dimensions, no program. This tutorial shows how meshes for special purposes can be coded by hand. In most cases, using concepts::Import2dMesh or concepts::Import3dMesh is enough, though.
  2. inputoutput.cc: Input and output of parameters over command line and input file. The use of concepts::InputParser and concepts::InOutParameters to parse input files and manage parameters from different sources (program defaults, input file, command line) is explained.
  3. Linear FEM in one dimension, ie. hat functions in a one dimensional domain. The classes in the namespace linearFEM are used. There are two programs using this method:
    • linearFEM1d-simple.cc: The problem is solved without nice programming, graphics or convergence analysis. If you want to change a parameter, you need to recompile. However, all necessary classes and tools for a FEM program are there.
    • linearFEM1d.cc: Flexible version of the same program: includes command line parameters, convergence analysis, graphics etc. All this pre- and postprocessing is handled in the main program while the FEM code is in a separate routine fem which resembles the simple program above.
  4. linearDG1d.cc: linear DGFEM in one dimension, the same problem as in linearFEM1d.cc but this time solved with discontinuous Galerkin FEM. The classes in the namespace linDG1D are used.
  5. hp-FEM in two dimensions for singular perturbed problems. This tutorial shows how to get exponential convergence from a reaction-diffusion problem in a non-convex polygon (an L-shaped domain in this case). The classes in the namespace hp2D are used. There are two programs available:
    • hpFEM2d-simple.cc: The problem is solved without nice programming or graphics. If you want to change a parameter, you need to recompile. However, all necessary classes and tools for an hp-FEM program are there (even a loop with succesive refinements).
    • hpFEM2d.cc: Flexible version of the same program: includes command line parameters, graphics etc. All this pre- and postprocessing is handled in the main program while the FEM code is in a separate routine fem which resembles the simple program above.
  6. hpFEM3d-EV.cc: hp-FEM in three dimensions for Maxwell Eigenvalue problems. We show how Maxwell's equations in time-harmonic form can be discretised in a prefect conductor boundary condition domain using H1-conforming FEM. This is done using weighted regularization. In addition, not a source problem, as in the tutorials before, is solved, but an Eigenvalue problem. The classes in the namespaces hp3D and eigensolver are used.
Author:
Philipp Frauenfelder, 2004 / Dirk Klindworth, Christian Heier, Robert Gruhlke 2011

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)