Galeri Development
Public Member Functions
Galeri::FiniteElements::SUPGVariational< T > Class Template Reference

SUPG discretization of an advection-diffusion PDE. More...

#include <Galeri_SUPGVariational.h>

Inheritance diagram for Galeri::FiniteElements::SUPGVariational< T >:
Inheritance graph
[legend]
Collaboration diagram for Galeri::FiniteElements::SUPGVariational< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SUPGVariational (const int NumQuadratureNodes, double(*diff)(const double &, const double &, const double &), double(*bx)(const double &, const double &, const double &), double(*by)(const double &, const double &, const double &), double(*bz)(const double &, const double &, const double &), double(*source)(const double &, const double &, const double &), double(*force)(const double &, const double &, const double &), double(*bc)(const double &, const double &, const double &, const int &), int(*bc_type)(const int &))
 Constructor.
 ~SUPGVariational ()
 Destructor.
double diff (const double x, const double y, const double z) const
 Evaluates the diffusion coefficient at point (x, y, z).
double source (const double x, const double y, const double z) const
 Evaluates the source term at point (x, y, z).
double force (const double x, const double y, const double z) const
 Evaluates the force term at point (x, y, z).
double conv_x (const double x, const double y, const double z) const
 Evaluates the x-component of the convective term at point (x, y, z).
double conv_y (const double x, const double y, const double z) const
 Evaluates the y-component of the convective term at point (x, y, z).
double conv_z (const double x, const double y, const double z) const
 Evaluates the z-component of the convective term at point (x, y, z).
virtual int IntegrateOverElement (const AbstractVariational &Variational, const double *x, const double *y, const double *z, const double *data, double *ElementMatrix, double *ElementRHS) const
 Integrates the bilinear form and the right-hand side over the element.
virtual int ElementNorm (const double *LocalSol, const double *x, const double *y, const double *z, double *Norm) const
 Computes the norm of the computed solution over the element.
virtual int ElementNorm (int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
 Computed the norm of the exact solution over the element.
virtual int ElementNorm (const double *LocalSol, int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
 Computed the norm of the computed and exact solution over the element.
double LHS (const double Phi, const double Psi, const double PhiX, const double PsiX, const double PhiY, const double PsiY, const double PhiZ, const double PsiZ, const double x, const double y, const double z) const
 Evaluates the bilinear form (without integral) at point (x,y,z).
double RHS (const double Psi, const double PsiX, const double PsiY, const double PsiZ, const double x, const double y, const double z) const
 Returns the value of the right-hand side (without integral) at point (x, y, z).
int BC (const int PatchID) const
 Returns an integer identifying the boundary condition assigned to the specified patch.
double BC (const double x, const double y, const double z, const int Patch) const
 Returns the value of the boundary condition at point (x, y, z).
 SUPGVariational (const int NumQuadratureNodes, double(*diff)(const double &, const double &, const double &), double(*bx)(const double &, const double &, const double &), double(*by)(const double &, const double &, const double &), double(*bz)(const double &, const double &, const double &), double(*source)(const double &, const double &, const double &), double(*force)(const double &, const double &, const double &), double(*bc)(const double &, const double &, const double &, const int &), int(*bc_type)(const int &))
 Constructor.
 ~SUPGVariational ()
 Destructor.
double diff (const double x, const double y, const double z) const
 Evaluates the diffusion coefficient at point (x, y, z).
double source (const double x, const double y, const double z) const
 Evaluates the source term at point (x, y, z).
double force (const double x, const double y, const double z) const
 Evaluates the force term at point (x, y, z).
double conv_x (const double x, const double y, const double z) const
 Evaluates the x-component of the convective term at point (x, y, z).
double conv_y (const double x, const double y, const double z) const
 Evaluates the y-component of the convective term at point (x, y, z).
double conv_z (const double x, const double y, const double z) const
 Evaluates the z-component of the convective term at point (x, y, z).
virtual int IntegrateOverElement (const AbstractVariational &Variational, const double *x, const double *y, const double *z, const double *data, double *ElementMatrix, double *ElementRHS) const
 Integrates the bilinear form and the right-hand side over the element.
virtual int ElementNorm (const double *LocalSol, const double *x, const double *y, const double *z, double *Norm) const
 Computes the norm of the computed solution over the element.
virtual int ElementNorm (int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
 Computed the norm of the exact solution over the element.
virtual int ElementNorm (const double *LocalSol, int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
 Computed the norm of the computed and exact solution over the element.
double LHS (const double Phi, const double Psi, const double PhiX, const double PsiX, const double PhiY, const double PsiY, const double PhiZ, const double PsiZ, const double x, const double y, const double z) const
 Evaluates the bilinear form (without integral) at point (x,y,z).
double RHS (const double Psi, const double PsiX, const double PsiY, const double PsiZ, const double x, const double y, const double z) const
 Returns the value of the right-hand side (without integral) at point (x, y, z).
int BC (const int PatchID) const
 Returns an integer identifying the boundary condition assigned to the specified patch.
double BC (const double x, const double y, const double z, const int Patch) const
 Returns the value of the boundary condition at point (x, y, z).

Detailed Description

template<class T>
class Galeri::FiniteElements::SUPGVariational< T >

SUPG discretization of an advection-diffusion PDE.

This class performs the finite element discretization of a scalar, advection-diffusion PDE, using the SUPG stabilization and the coth formula for the definition of tau. This class works only with triangles and tetrahedra.

Author:
Marzio Sala, SNL 9214.
Date:
Last updated on Apr-05.

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables