|
| const std::uint32_t | d_dofHandlerID |
| |
| const std::uint32_t | d_quadratureID |
| |
| const std::uint32_t | d_nDofsPerCell |
| |
| const std::uint32_t | d_nQuadsPerCell |
| |
| const dftefe::uInt | d_nVectors |
| |
| const dftefe::uInt | d_nBatch |
| |
| dftefe::uInt | d_nOwnedDofs |
| |
| dftefe::uInt | d_nRelaventDofs |
| |
| dftefe::uInt | d_nGhostDofs |
| |
| dftefe::uInt | d_nCells |
| |
| dftefe::uInt | d_localBlockSize |
| |
| dftefe::uInt | d_localSize |
| |
| dftefe::uInt | d_ghostBlockSize |
| |
| dftefe::uInt | d_ghostSize |
| |
| dftefe::uInt | d_nOMPThreads |
| |
| T | d_coeffHelmholtz |
| |
| std::array< T, d_quadEDim *d_dofEDim+d_quadODim *d_dofODim > | nodalShapeFunctionValuesAtQuadPointsEO |
| |
| std::array< T, 2 *d_quadODim *d_quadEDim > | quadShapeFunctionGradientsAtQuadPointsEO |
| |
| std::array< T, nQuadPointsPerDim > | quadratureWeights |
| |
| dftefe::utils::MemoryStorage< T, memorySpace > | d_jacobianFactor |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, memorySpace > | d_map |
| |
| std::vector< std::vector< dftefe::uInt > > | d_constrainingNodeBuckets |
| |
| std::vector< std::vector< dftefe::uInt > > | d_constrainedNodeBuckets |
| |
| std::vector< std::vector< T > > | d_weightMatrixList |
| |
| std::vector< T > | d_inhomogenityList |
| |
| dftefe::utils::MemoryStorage< T, dftefe::utils::MemorySpace::DEVICE > | d_weightMatrixListDevice |
| |
| dftefe::utils::MemoryStorage< T, dftefe::utils::MemorySpace::DEVICE > | d_inhomogenityListDevice |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, dftefe::utils::MemorySpace::DEVICE > | d_constrainingNodeBucketsDevice |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, dftefe::utils::MemorySpace::DEVICE > | d_constrainedNodeBucketsDevice |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, dftefe::utils::MemorySpace::DEVICE > | d_constrainingNodeOffsetDevice |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, dftefe::utils::MemorySpace::DEVICE > | d_constrainedNodeOffsetDevice |
| |
| dftefe::utils::MemoryStorage< dftefe::uInt, dftefe::utils::MemorySpace::DEVICE > | d_weightMatrixOffsetDevice |
| |
| dftefe::utils::MemoryStorage< T, dftefe::utils::MemorySpace::DEVICE > | shapeBufferDevice |
| |
| const dealii::MatrixFree< 3, double > * | d_matrixFreeDataPtr |
| |
| const dealii::AffineConstraints< double > * | d_constraintMatrixPtr |
| |
| std::shared_ptr< const dealii::Utilities::MPI::Partitioner > | d_singleVectorPartitioner |
| |
| std::shared_ptr< const dealii::Utilities::MPI::Partitioner > | d_singleBatchPartitioner |
| |
| const MPI_Comm | mpi_communicator |
| |
| const std::uint32_t | n_mpi_processes |
| |
| const std::uint32_t | this_mpi_process |
| |
| std::vector< T > | tempGhostStorage |
| |
| std::vector< T > | tempCompressStorage |
| |
| std::vector< MPI_Request > | mpiRequestsGhost |
| |
| std::vector< MPI_Request > | mpiRequestsCompress |
| |
template<typename T,
dftefe::operatorList operatorID,
dftefe::utils::MemorySpace memorySpace, bool isComplex, std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize, std::uint32_t subBatchSize>
class dftefe::MatrixFree< T, operatorID, memorySpace, isComplex, nDofsPerDim, nQuadPointsPerDim, batchSize, subBatchSize >
MatrixFree class template. template parameter nDofsPerDim is the finite element polynomial order. nQuadPointsPerDim is the order of the Gauss quadrature rule. batchSize is the size of batch tuned to hardware.
- Author
- Gourab Panigrahi