GenLinVcFV.hpp File Reference

Template class for the general vertex-centered finite-volume discretizations of linear PDEs. More...

#include <iostream>
#include "small_matrix.hpp"
#include "SAssemble.hpp"
#include "WTSScheme.hpp"

Include dependency graph for GenLinVcFV.hpp:


Classes

class  GenLinVcFV< T, Flux >
 Template class for the general vertex-centered finite-volume discretizations of linear PDEs. More...

Detailed Description

Template class for the general vertex-centered finite-volume discretizations of linear PDEs.

The implementation should accept arbitrary dimensions.

The class template depends on two parameters:

  1. The user-defined class 'Flux' implementing the flux functions for the cell surfaces,
  2. the type T, as in the class small_matrix<T>. The user-defined class 'Flux' should have the following member functions:

USAGE INSTRUCTIONS:

  1. For the time-dependent problems:
  2. For the stationary problems:
    The member function 'Run' assembles the stiffnes matrix (without any sink etc terms) and the Dirichlet boundary conditions in the right-hand side and the initial conditions. To assemble further terms, derive a new class from GenLinVcFV<T,Flux>.

  1. This class template accepts only GridVec s consisting of exactly one MultiVector and GridMatrices of exactly one SparseMatrix .
  2. Nevertheless this template is capable of assembling discretizations for vector equations (up to now: with no reaction terms). For this, the functions in the user-defined class 'Flux' should update the matrices having the small blocks as the entries.
  3. You can also use this template class for the structured grids on complicated domain geometries. The only assumption is that the user-defined flux functions are implemented for this.

Date:
Mar. 2, 2006 - created

Generated on Fri Sep 21 12:33:13 2007 for SG2 by  doxygen 1.5.2