Nektar++
|
Processes global optimisation parameters from a session. More...
#include <GlobalOptimizationParameters.h>
Public Member Functions | |
GlobalOptParam (const int nel) | |
Default constructor requires nel be given. | |
GlobalOptParam (const LibUtilities::SessionReaderSharedPtr &pSession, const int dim, const Array< OneD, const int > &NumShapeElements) | |
Read optimisation parameters from a given file. | |
bool | DoGlobalMatOp (const StdRegions::MatrixType i) const |
For a given matrix type, determines if the operation should be done globally. | |
const Array< OneD, const bool > & | DoBlockMatOp (const StdRegions::MatrixType i) const |
For a given matrix type, determines if the operation should be done with a block matrix. | |
const Array< OneD, const LibUtilities::ShapeType > & | GetShapeList () const |
const Array< OneD, const int > & | GetShapeNumElements () const |
Private Member Functions | |
GlobalOptParam () | |
Default constructor should not be called. |
Private Attributes | |
Array< OneD, bool > | m_doGlobalMatOp |
Flags indicating if different matrices should be evaluated globally. | |
Array< OneD, Array< OneD, bool > > | m_doBlockMatOp |
Array of Flags of first dimension of the number of shapes within the space dimension, indicating if different matrices should be evaluated using a block matrix. | |
Array< OneD, LibUtilities::ShapeType > | m_shapeList |
A list ExpansionTypes indicating the order in which shapes are listed to call the appropriate key for the block matrices. | |
Array< OneD, const int > | m_shapeNumElements |
A list of number of elements contained within each shape type. |
Processes global optimisation parameters from a session.
Global optimisation parameters determines how the various matrices in the spectral/hp element formulation are evaluated. For details see the page on optimisation Optimisation.
Definition at line 76 of file GlobalOptimizationParameters.h.
Nektar::NekOptimize::GlobalOptParam::GlobalOptParam | ( | const int | nel | ) |
Default constructor requires nel be given.
No global optimisation parameters present.
Definition at line 57 of file GlobalOptimizationParameters.cpp.
References m_doBlockMatOp, and Nektar::NekOptimize::SIZE_OptimizeOperationType.
Nektar::NekOptimize::GlobalOptParam::GlobalOptParam | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const int | dim, | ||
const Array< OneD, const int > & | NumShapeElements | ||
) |
Read optimisation parameters from a given file.
Read global optimisation parameters from a file and set up flags.
fileName | File to read parameters from. |
Definition at line 71 of file GlobalOptimizationParameters.cpp.
References ASSERTL0, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, m_doBlockMatOp, m_doGlobalMatOp, m_shapeList, m_shapeNumElements, Nektar::NekOptimize::OptimizationOperationTypeMap, and Nektar::NekOptimize::SIZE_OptimizeOperationType.
|
inlineprivate |
Default constructor should not be called.
Definition at line 101 of file GlobalOptimizationParameters.h.
|
inline |
For a given matrix type, determines if the operation should be done with a block matrix.
Determines the elemental optimisation type enum, given the MatrixType and returns the corresponding entry in the table.
i | Type of matrix. |
Definition at line 186 of file GlobalOptimizationParameters.h.
References ASSERTL0, Nektar::NekOptimize::eBwdTrans, Nektar::StdRegions::eBwdTrans, Nektar::StdRegions::eHelmholtz, Nektar::NekOptimize::eHelmholtzMatrixOp, Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::NekOptimize::eHybridDGHelmBndLamMatrixOp, Nektar::NekOptimize::eIProductWRTBase, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eLaplacian, Nektar::NekOptimize::eLaplacianMatrixOp, Nektar::StdRegions::eMass, Nektar::NekOptimize::eMassMatrixOp, and m_doBlockMatOp.
|
inline |
For a given matrix type, determines if the operation should be done globally.
Determines the elemental optimisation type enum, given the MatrixType and returns the corresponding entry in the table.
i | Type of matrix. |
Definition at line 135 of file GlobalOptimizationParameters.h.
References ASSERTL0, Nektar::NekOptimize::eBwdTrans, Nektar::StdRegions::eBwdTrans, Nektar::StdRegions::eHelmholtz, Nektar::NekOptimize::eHelmholtzMatrixOp, Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::NekOptimize::eHybridDGHelmBndLamMatrixOp, Nektar::NekOptimize::eIProductWRTBase, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eLaplacian, Nektar::NekOptimize::eLaplacianMatrixOp, Nektar::StdRegions::eMass, Nektar::NekOptimize::eMassMatrixOp, and m_doGlobalMatOp.
|
inline |
Definition at line 236 of file GlobalOptimizationParameters.h.
References m_shapeList.
|
inline |
Definition at line 231 of file GlobalOptimizationParameters.h.
References m_shapeNumElements.
Array of Flags of first dimension of the number of shapes within the space dimension, indicating if different matrices should be evaluated using a block matrix.
Definition at line 111 of file GlobalOptimizationParameters.h.
Referenced by DoBlockMatOp(), and GlobalOptParam().
|
private |
Flags indicating if different matrices should be evaluated globally.
Definition at line 101 of file GlobalOptimizationParameters.h.
Referenced by DoGlobalMatOp(), and GlobalOptParam().
|
private |
A list ExpansionTypes indicating the order in which shapes are listed to call the appropriate key for the block matrices.
Definition at line 116 of file GlobalOptimizationParameters.h.
Referenced by GetShapeList(), and GlobalOptParam().
|
private |
A list of number of elements contained within each shape type.
Definition at line 119 of file GlobalOptimizationParameters.h.
Referenced by GetShapeNumElements(), and GlobalOptParam().