#include <ScalarDiscretizationTypeBase.hpp>

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 ScalarDiscretizationTypeBase & | operator= (const ScalarDiscretizationTypeBase::Type &type) |
| const Type & | type () const |
| ScalarDiscretizationTypeBase (const ScalarDiscretizationTypeBase::Type &type) | |
| ScalarDiscretizationTypeBase (const ScalarDiscretizationTypeBase &d) | |
| virtual | ~ScalarDiscretizationTypeBase () |
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 | |
| virtual void | __instanciable () const =0 |
Private Attributes | |
| Type | __type |
Definition at line 35 of file ScalarDiscretizationTypeBase.hpp.
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 };
| ScalarDiscretizationTypeBase::ScalarDiscretizationTypeBase | ( | const ScalarDiscretizationTypeBase::Type & | type | ) | [inline, explicit] |
Constructor
| type | type of discretization |
Definition at line 129 of file ScalarDiscretizationTypeBase.hpp.
| ScalarDiscretizationTypeBase::ScalarDiscretizationTypeBase | ( | const ScalarDiscretizationTypeBase & | d | ) | [inline, explicit] |
Copy constructor
| d | originale discretization type |
Definition at line 140 of file ScalarDiscretizationTypeBase.hpp.
| virtual ScalarDiscretizationTypeBase::~ScalarDiscretizationTypeBase | ( | ) | [inline, virtual] |
| virtual void ScalarDiscretizationTypeBase::__instanciable | ( | ) | const [private, pure virtual] |
This function prevents to instanciate this class
Implemented in ScalarDiscretizationTypeDG, ScalarDiscretizationTypeFEM, and ScalarDiscretizationTypeSpectral.
Definition at line 65 of file ScalarDiscretizationTypeBase.hpp.
References lagrangianFEM1, and undefined.
Referenced by SolverExpression::execute().
00066 { 00067 return (type==undefined)?lagrangianFEM1:type; 00068 }
| const ScalarDiscretizationTypeBase& ScalarDiscretizationTypeBase::operator= | ( | const ScalarDiscretizationTypeBase::Type & | type | ) | [inline] |
| static std::string ScalarDiscretizationTypeBase::name | ( | const ScalarDiscretizationTypeBase::Type & | type | ) | [inline, static] |
convertes type in its name
| type | type of discretization |
Definition at line 84 of file ScalarDiscretizationTypeBase.hpp.
References DGFEM0, DGFEM1, DGFEM2, functionLike, lagrangianFEM0, lagrangianFEM1, lagrangianFEM2, spectralLegendre, undefined, and ErrorHandler::unexpected.
Referenced by ScalarDegreeOfFreedomPositionsSet::Builder::__build(), FunctionExpressionDG::__DGTypeFromFEMType(), FEMFunctionBase::__put(), DGFunctionBase::__put(), BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), DegreeOfFreedomSetManager::Internal::getDOFPositionsSet(), 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] |
convertes type in its name
| discretization | type of discretization |
Definition at line 109 of file ScalarDiscretizationTypeBase.hpp.
References name(), and type().
00110 { 00111 return ScalarDiscretizationTypeBase::name(discretization.type()); 00112 }

| const Type& ScalarDiscretizationTypeBase::type | ( | ) | const [inline] |
Read-only access to the type
Definition at line 119 of file ScalarDiscretizationTypeBase.hpp.
References __type.
Referenced by ScalarDegreeOfFreedomPositionsSet::Builder::__build(), FEMFunctionBuilder::__build(), DGFunctionBuilder::__build(), DegreeOfFreedomSetBuilder::__buildFictitious(), SpectralFEMPreconditioner::Internal::computes(), SpectralFEMPreconditioner::Internal::computesTransposed(), FEMFunctionBase::discretizationType(), DGFunctionBase::discretizationType(), DegreeOfFreedomSetManager::Internal::getDOFPositionsSet(), FEMFunctionBase::hasSameType(), DGFunctionBase::hasSameType(), and name().
00120 { 00121 return __type; 00122 }
Type ScalarDiscretizationTypeBase::__type [private] |
Type of discretization
Definition at line 57 of file ScalarDiscretizationTypeBase.hpp.
Referenced by operator=(), and type().
1.5.6