#include <DegreeOfFreedomSet.hpp>

Public Types | |
| typedef Vector< int > | Correspondance |
Public Member Functions | |
| const ScalarDegreeOfFreedomPositionsSet & | positionsSet (const size_t &i) const |
| const size_t & | numberOfDOFPositions (const size_t &i) const |
| const size_t & | numberOfVariables () const |
| size_t | size () const |
| size_t | operator() (const size_t &variableNumber, const size_t &scalarDOFNumber) const |
| bool | isDOFVertex (const size_t &variableNumber, const size_t &scalarDOFNumber) const |
| DegreeOfFreedomSet (ConstReferenceCounting< DegreeOfFreedomPositionsSet > dofPositions, ConstReferenceCounting< Correspondance > correspondance) | |
| ~DegreeOfFreedomSet () | |
Private Attributes | |
| ConstReferenceCounting < Correspondance > | __correspondance |
| ConstReferenceCounting < DegreeOfFreedomPositionsSet > | __dofPositionsSet |
| const size_t | __numberOfVariables |
| Vector< size_t > | __offset |
Definition at line 40 of file DegreeOfFreedomSet.hpp.
| typedef Vector<int> DegreeOfFreedomSet::Correspondance |
Definition at line 43 of file DegreeOfFreedomSet.hpp.
| DegreeOfFreedomSet::DegreeOfFreedomSet | ( | ConstReferenceCounting< DegreeOfFreedomPositionsSet > | dofPositions, | |
| ConstReferenceCounting< Correspondance > | correspondance | |||
| ) | [inline] |
Definition at line 95 of file DegreeOfFreedomSet.hpp.
References __offset, Vector< T >::number(), and DegreeOfFreedomPositionsSet::number().
00097 : __correspondance(correspondance), 00098 __dofPositionsSet(dofPositions), 00099 __numberOfVariables(dofPositions->number()), 00100 __offset(__numberOfVariables+1) 00101 { 00102 __offset[0] = 0; 00103 const DegreeOfFreedomPositionsSet& dofPositionsSet = *dofPositions; 00104 for(size_t i=0; i<dofPositionsSet.number(); ++i) { 00105 __offset[i+1] = __offset[i]+(*dofPositions)[i].number(); 00106 } 00107 }

| DegreeOfFreedomSet::~DegreeOfFreedomSet | ( | ) | [inline] |
| const ScalarDegreeOfFreedomPositionsSet& DegreeOfFreedomSet::positionsSet | ( | const size_t & | i | ) | const [inline] |
Definition at line 53 of file DegreeOfFreedomSet.hpp.
References __dofPositionsSet.
Referenced by BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__getDiagonalNaturalBoundaryConditions(), BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__setSecondMemberDirichlet(), BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__setVariationalBoundaryConditionsAlphaUV(), BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__setVariationalBoundaryConditionsFV(), BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__variationalBoundaryConditionsAlphaUVTimesX(), BoundaryConditionCommonFEMDiscretization< MeshType, TypeOfDiscretization >::__variationalBoundaryConditionsAlphaUVTransposedTimesX(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleMatrix(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleMatrix(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleSecondMember(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleSecondMember(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::getDiagonal(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::getDiagonal(), LegendreSolution::getUserFunction(), FEMSolution::getUserFunction(), LegendreSolution::setUserFunction(), FEMSolution::setUserFunction(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::timesX(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::timesX(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::transposedTimesX(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::transposedTimesX().
00054 { 00055 return (*__dofPositionsSet)[i]; 00056 }
| const size_t& DegreeOfFreedomSet::numberOfDOFPositions | ( | const size_t & | i | ) | const [inline] |
Definition at line 63 of file DegreeOfFreedomSet.hpp.
References __dofPositionsSet.
00064 { 00065 return (*__dofPositionsSet)[i].number(); 00066 }
| const size_t& DegreeOfFreedomSet::numberOfVariables | ( | ) | const [inline] |
Definition at line 68 of file DegreeOfFreedomSet.hpp.
References __numberOfVariables.
Referenced by LegendreSolution::getUserFunction(), FEMSolution::getUserFunction(), LegendreSolution::setUserFunction(), and FEMSolution::setUserFunction().
00069 { 00070 return __numberOfVariables; 00071 }
| size_t DegreeOfFreedomSet::size | ( | ) | const [inline] |
Definition at line 73 of file DegreeOfFreedomSet.hpp.
References __numberOfVariables, and __offset.
Referenced by SpectralMethod::__discretizeOnConformingMesh(), FiniteElementMethod::__discretizeOnMesh(), FictitiousDomainMethod::__discretizeOnMesh(), SpectralMethod::__discretizeOnOctreeMesh(), SpectralFEMPreconditioner::Internal::__solveFEM(), MultiGrid::MultiGrid(), and PDESolution::size().
00074 { 00075 return __offset[__numberOfVariables]; 00076 }
| size_t DegreeOfFreedomSet::operator() | ( | const size_t & | variableNumber, | |
| const size_t & | scalarDOFNumber | |||
| ) | const [inline] |
Definition at line 78 of file DegreeOfFreedomSet.hpp.
References __correspondance, __offset, and ASSERT.
00080 { 00081 const size_t dofNumber = __offset[variableNumber]+scalarDOFNumber; 00082 00083 ASSERT((*__correspondance)[dofNumber] != -1); 00084 00085 return ((*__correspondance)[dofNumber]); 00086 }
| bool DegreeOfFreedomSet::isDOFVertex | ( | const size_t & | variableNumber, | |
| const size_t & | scalarDOFNumber | |||
| ) | const [inline] |
Definition at line 88 of file DegreeOfFreedomSet.hpp.
References __correspondance, and __offset.
Referenced by FEMSolution::getUserFunction(), and FEMSolution::setUserFunction().
00090 { 00091 const size_t dofNumber = __offset[variableNumber]+scalarDOFNumber; 00092 return ((*__correspondance)[dofNumber] != -1); 00093 }
Definition at line 45 of file DegreeOfFreedomSet.hpp.
Referenced by isDOFVertex(), and operator()().
Definition at line 46 of file DegreeOfFreedomSet.hpp.
Referenced by numberOfDOFPositions(), and positionsSet().
const size_t DegreeOfFreedomSet::__numberOfVariables [private] |
Definition at line 48 of file DegreeOfFreedomSet.hpp.
Referenced by numberOfVariables(), and size().
Vector<size_t> DegreeOfFreedomSet::__offset [private] |
Definition at line 50 of file DegreeOfFreedomSet.hpp.
Referenced by DegreeOfFreedomSet(), isDOFVertex(), operator()(), and size().
1.5.6