ScalarDiscretizationTypeSpectral Class Reference

#include <ScalarDiscretizationTypeSpectral.hpp>

Inheritance diagram for ScalarDiscretizationTypeSpectral:

Inheritance graph
[legend]
Collaboration diagram for ScalarDiscretizationTypeSpectral:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type {
  undefined = -1, functionLike = 0, lagrangianFEM0 = 10, lagrangianFEM1 = 11,
  lagrangianFEM2 = 12, DGFEM0 = 20, DGFEM1 = 21, DGFEM2 = 22,
  spectralLegendre = 50
}

Public Member Functions

const TinyVector< 3, size_t > & degrees () const
const TinyVector< 3, real_t > & a () const
const TinyVector< 3, real_t > & b () const
 ScalarDiscretizationTypeSpectral (const TinyVector< 3, size_t > &degrees, const TinyVector< 3, real_t > &a, const TinyVector< 3, real_t > &b)
 ScalarDiscretizationTypeSpectral (const ScalarDiscretizationTypeSpectral &d)
 ~ScalarDiscretizationTypeSpectral ()
const Typetype () const

Static Public Member Functions

static Type getDefault (const Type &type)
static std::string name (const ScalarDiscretizationTypeBase::Type &type)
static std::string name (const ScalarDiscretizationTypeBase &discretization)

Private Member Functions

void __instanciable () const

Private Attributes

TinyVector< 3, size_t > __degrees
TinyVector< 3, real_t > __a
TinyVector< 3, real_t > __b


Detailed Description

Definition at line 35 of file ScalarDiscretizationTypeSpectral.hpp.


Member Enumeration Documentation

Enumerator:
undefined  not defined
functionLike  keeps function type if possible
lagrangianFEM0  Lagrangian finite element of degree 0
lagrangianFEM1  Lagrangian finite element of degree 1
lagrangianFEM2  Lagrangian finite element of degree 2
DGFEM0  discontinuous finite element of degree 0
DGFEM1  discontinuous finite element of degree 1
DGFEM2  discontinuous finite element of degree 2
spectralLegendre  Lagrange spectral method

Definition at line 38 of file ScalarDiscretizationTypeBase.hpp.

00038             {
00039     undefined       =-1,        
00040     functionLike    = 0,        
00042     // finite element-like discretizations
00043     lagrangianFEM0  =10,        
00044     lagrangianFEM1  =11,        
00045     lagrangianFEM2  =12,        
00047     // finite element-like discretizations
00048     DGFEM0          =20,        
00049     DGFEM1          =21,        
00050     DGFEM2          =22,        
00052     // Spectral-like discretizations
00053     spectralLegendre=50         
00054   };


Constructor & Destructor Documentation

ScalarDiscretizationTypeSpectral::ScalarDiscretizationTypeSpectral ( const TinyVector< 3, size_t > &  degrees,
const TinyVector< 3, real_t > &  a,
const TinyVector< 3, real_t > &  b 
) [inline]

Definition at line 61 of file ScalarDiscretizationTypeSpectral.hpp.

00064     : ScalarDiscretizationTypeBase(ScalarDiscretizationTypeBase::spectralLegendre),
00065       __degrees(degrees),
00066       __a(a),
00067       __b(b)
00068   {
00069     ;
00070   }

ScalarDiscretizationTypeSpectral::ScalarDiscretizationTypeSpectral ( const ScalarDiscretizationTypeSpectral d  )  [inline]

Copy constructor

Parameters:
d originale spectral discretization type

Definition at line 77 of file ScalarDiscretizationTypeSpectral.hpp.

00078     : ScalarDiscretizationTypeBase(d),
00079       __degrees(d.__degrees),
00080       __a(d.__a),
00081       __b(d.__b)
00082   {
00083     ;
00084   }

ScalarDiscretizationTypeSpectral::~ScalarDiscretizationTypeSpectral (  )  [inline]

Destructor

Definition at line 90 of file ScalarDiscretizationTypeSpectral.hpp.

00091   {
00092     ;
00093   }


Member Function Documentation

void ScalarDiscretizationTypeSpectral::__instanciable (  )  const [inline, private, virtual]

This function prevents to instanciate this class

Implements ScalarDiscretizationTypeBase.

Definition at line 43 of file ScalarDiscretizationTypeSpectral.hpp.

00043 {}

const TinyVector<3,size_t>& ScalarDiscretizationTypeSpectral::degrees (  )  const [inline]

const TinyVector<3,real_t>& ScalarDiscretizationTypeSpectral::a (  )  const [inline]

const TinyVector<3,real_t>& ScalarDiscretizationTypeSpectral::b (  )  const [inline]

static Type ScalarDiscretizationTypeBase::getDefault ( const Type type  )  [inline, static, inherited]

static std::string ScalarDiscretizationTypeBase::name ( const ScalarDiscretizationTypeBase::Type type  )  [inline, static, inherited]

convertes type in its name

Parameters:
type type of discretization
Returns:
name of the type

Definition at line 84 of file ScalarDiscretizationTypeBase.hpp.

References ScalarDiscretizationTypeBase::DGFEM0, ScalarDiscretizationTypeBase::DGFEM1, ScalarDiscretizationTypeBase::DGFEM2, ScalarDiscretizationTypeBase::functionLike, ScalarDiscretizationTypeBase::lagrangianFEM0, ScalarDiscretizationTypeBase::lagrangianFEM1, ScalarDiscretizationTypeBase::lagrangianFEM2, ScalarDiscretizationTypeBase::spectralLegendre, ScalarDiscretizationTypeBase::undefined, and ErrorHandler::unexpected.

Referenced by ScalarDegreeOfFreedomPositionsSet::Builder::__build(), FunctionExpressionDG::__DGTypeFromFEMType(), FEMFunctionBase::__put(), DGFunctionBase::__put(), BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), DegreeOfFreedomSetManager::Internal::getDOFPositionsSet(), ScalarDiscretizationTypeBase::name(), UnknownListExpressionSet::put(), UnknownExpression::put(), and SpectralLegendreDiscretizer::SpectralLegendreDiscretizer().

00085   {
00086     switch (type) {
00087     case lagrangianFEM0:  return "FEM-P0";
00088     case lagrangianFEM1:  return "FEM-P1";
00089     case lagrangianFEM2:  return "FEM-P2";
00090     case DGFEM0:          return "DG-P0";
00091     case DGFEM1:          return "DG-P1";
00092     case DGFEM2:          return "DG-P2";
00093     case spectralLegendre:return "Legendre";
00094     case undefined:       return "undefined";
00095     case functionLike:    return "function-like";
00096     }
00097     throw ErrorHandler(__FILE__,__LINE__,
00098                        "unknown Discretization type",
00099                        ErrorHandler::unexpected);
00100   }

static std::string ScalarDiscretizationTypeBase::name ( const ScalarDiscretizationTypeBase discretization  )  [inline, static, inherited]

convertes type in its name

Parameters:
discretization type of discretization
Returns:
name of the type

Definition at line 109 of file ScalarDiscretizationTypeBase.hpp.

References ScalarDiscretizationTypeBase::name(), and ScalarDiscretizationTypeBase::type().

00110   {
00111     return ScalarDiscretizationTypeBase::name(discretization.type());
00112   }

Here is the call graph for this function:

const Type& ScalarDiscretizationTypeBase::type (  )  const [inline, inherited]


Member Data Documentation

Definition at line 39 of file ScalarDiscretizationTypeSpectral.hpp.

Referenced by degrees().

Definition at line 40 of file ScalarDiscretizationTypeSpectral.hpp.

Referenced by a().

Definition at line 41 of file ScalarDiscretizationTypeSpectral.hpp.

Referenced by b().


The documentation for this class was generated from the following file:

Generated on Wed Nov 19 00:12:48 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6