#include <ScalarDiscretizationTypeSpectral.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 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 > °rees, const TinyVector< 3, real_t > &a, const TinyVector< 3, real_t > &b) | |
| ScalarDiscretizationTypeSpectral (const ScalarDiscretizationTypeSpectral &d) | |
| ~ScalarDiscretizationTypeSpectral () | |
| const Type & | type () 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 |
Definition at line 35 of file ScalarDiscretizationTypeSpectral.hpp.
enum ScalarDiscretizationTypeBase::Type [inherited] |
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 };
| 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
| 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] |
| void ScalarDiscretizationTypeSpectral::__instanciable | ( | ) | const [inline, private, virtual] |
This function prevents to instanciate this class
Implements ScalarDiscretizationTypeBase.
Definition at line 43 of file ScalarDiscretizationTypeSpectral.hpp.
| const TinyVector<3,size_t>& ScalarDiscretizationTypeSpectral::degrees | ( | ) | const [inline] |
Definition at line 46 of file ScalarDiscretizationTypeSpectral.hpp.
References __degrees.
Referenced by BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), BoundaryConditionDiscretizationSpectralNonConform::BoundaryConditionDiscretizationSpectralNonConform(), SpectralFEMPreconditioner::Internal::computes(), SpectralFEMPreconditioner::Internal::computesTransposed(), BoundaryConditionDiscretizationSpectralNonConform::getDiagonal(), DegreeOfFreedomSetManager::Internal::getDOFPositionsSet(), BoundaryConditionDiscretizationSpectralNonConform::setSecondMember(), SpectralLegendreDiscretizer::SpectralLegendreDiscretizer(), BoundaryConditionDiscretizationSpectralNonConform::timesX(), and BoundaryConditionDiscretizationSpectralNonConform::transposedTimesX().
00047 { 00048 return __degrees; 00049 }
| const TinyVector<3,real_t>& ScalarDiscretizationTypeSpectral::a | ( | ) | const [inline] |
Definition at line 51 of file ScalarDiscretizationTypeSpectral.hpp.
References __a.
Referenced by BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), SpectralFEMPreconditioner::Internal::computes(), SpectralFEMPreconditioner::Internal::computesTransposed(), BoundaryConditionDiscretizationSpectralNonConform::getDiagonal(), BoundaryConditionDiscretizationSpectralNonConform::setSecondMember(), SpectralLegendreDiscretizer::SpectralLegendreDiscretizer(), BoundaryConditionDiscretizationSpectralNonConform::timesX(), and BoundaryConditionDiscretizationSpectralNonConform::transposedTimesX().
00052 { 00053 return __a; 00054 }
| const TinyVector<3,real_t>& ScalarDiscretizationTypeSpectral::b | ( | ) | const [inline] |
Definition at line 56 of file ScalarDiscretizationTypeSpectral.hpp.
References __b.
Referenced by BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), SpectralFEMPreconditioner::Internal::computes(), SpectralFEMPreconditioner::Internal::computesTransposed(), BoundaryConditionDiscretizationSpectralNonConform::getDiagonal(), BoundaryConditionDiscretizationSpectralNonConform::setSecondMember(), SpectralLegendreDiscretizer::SpectralLegendreDiscretizer(), BoundaryConditionDiscretizationSpectralNonConform::timesX(), and BoundaryConditionDiscretizationSpectralNonConform::transposedTimesX().
00057 { 00058 return __b; 00059 }
| static Type ScalarDiscretizationTypeBase::getDefault | ( | const Type & | type | ) | [inline, static, inherited] |
Definition at line 65 of file ScalarDiscretizationTypeBase.hpp.
References ScalarDiscretizationTypeBase::lagrangianFEM1, and ScalarDiscretizationTypeBase::undefined.
Referenced by SolverExpression::execute().
00066 { 00067 return (type==undefined)?lagrangianFEM1:type; 00068 }
| static std::string ScalarDiscretizationTypeBase::name | ( | const ScalarDiscretizationTypeBase::Type & | type | ) | [inline, static, inherited] |
convertes type in its name
| type | type of discretization |
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
| discretization | type of discretization |
Definition at line 109 of file ScalarDiscretizationTypeBase.hpp.
References ScalarDiscretizationTypeBase::name(), and ScalarDiscretizationTypeBase::type().
00110 { 00111 return ScalarDiscretizationTypeBase::name(discretization.type()); 00112 }

| const Type& ScalarDiscretizationTypeBase::type | ( | ) | const [inline, inherited] |
Read-only access to the type
Definition at line 119 of file ScalarDiscretizationTypeBase.hpp.
References ScalarDiscretizationTypeBase::__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 ScalarDiscretizationTypeBase::name().
00120 { 00121 return __type; 00122 }
TinyVector<3,size_t> ScalarDiscretizationTypeSpectral::__degrees [private] |
TinyVector<3,real_t> ScalarDiscretizationTypeSpectral::__a [private] |
TinyVector<3,real_t> ScalarDiscretizationTypeSpectral::__b [private] |
1.5.6