DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
|
Go to the source code of this file.
Namespaces | |
namespace | dftfe |
namespace | dftfe::vectorTools |
Contains generic utils functions related to custom partitioned flattened dealii vector. | |
Functions | |
void | dftfe::vectorTools::createParallelConstraintMatrixFromSerial (const dealii::Triangulation< 3, 3 > &serTria, const dealii::DoFHandler< 3 > &dofHandlerPar, const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const std::vector< std::vector< double > > &domainBoundingVectors, dealii::AffineConstraints< double > &periodicHangingConstraints, dealii::AffineConstraints< double > &onlyHangingConstraints, const dftfe::Int verbosity, const bool periodicX, const bool periodicY, const bool periodicZ) |
Create constraint matrix using serial mesh. Temporary fix for a bug (Issue #7053) in deal.ii until it is resolved. | |
template<typename T> | |
void | dftfe::vectorTools::createDealiiVector (const std::shared_ptr< const dealii::Utilities::MPI::Partitioner > &partitioner, const dftfe::uInt blockSize, distributedCPUVec< T > &flattenedArray) |
Creates a custom partitioned flattened dealii vector. stores multiple components asociated with a node sequentially. | |
void | dftfe::vectorTools::computeCellLocalIndexSetMap (const std::shared_ptr< const utils::mpi::MPIPatternP2P< dftfe::utils::MemorySpace::HOST > > &partitioner, const dealii::MatrixFree< 3, double > &matrix_free_data, const dftfe::uInt mfDofHandlerIndex, const dftfe::uInt blockSize, std::vector< std::vector< dftfe::uInt > > &flattenedArrayMacroCellLocalProcIndexId, std::vector< std::vector< dftfe::uInt > > &flattenedArrayCellLocalProcIndexId) |
Creates a cell local index set map for flattened array. | |
void | dftfe::vectorTools::computeCellLocalIndexSetMap (const std::shared_ptr< const utils::mpi::MPIPatternP2P< dftfe::utils::MemorySpace::HOST > > &partitioner, const dealii::MatrixFree< 3, double > &matrix_free_data, const dftfe::uInt mfDofHandlerIndex, const dftfe::uInt blockSize, std::vector< dftfe::uInt > &flattenedArrayMacroCellLocalProcIndexId, std::vector< dftfe::uInt > &normalCellIdToMacroCellIdMap, std::vector< dftfe::uInt > ¯oCellIdToNormalCellIdMap, std::vector< dftfe::uInt > &flattenedArrayCellLocalProcIndexId) |
Creates a cell local index set map for flattened array. | |
void | dftfe::vectorTools::computeCellLocalIndexSetMap (const std::shared_ptr< const utils::mpi::MPIPatternP2P< dftfe::utils::MemorySpace::HOST > > &partitioner, const dealii::MatrixFree< 3, double > &matrix_free_data, const dftfe::uInt mfDofHandlerIndex, const dftfe::uInt blockSize, std::vector< dftfe::uInt > &flattenedArrayCellLocalProcIndexId) |
Creates a cell local index set map for flattened array. | |
void | dftfe::vectorTools::copyFlattenedSTLVecToSingleCompVec (const double *flattenedArray, const dftfe::uInt totalNumberComponents, const dftfe::uInt localVectorSize, const std::pair< dftfe::uInt, dftfe::uInt > componentIndexRange, std::vector< distributedCPUVec< double > > &componentVectors) |
Copies a single field component from a flattenedArray STL vector containing multiple component fields to a single field parallel distributed vector. | |
void | dftfe::vectorTools::copyFlattenedDealiiVecToSingleCompVec (const distributedCPUVec< double > &flattenedArray, const dftfe::uInt totalNumberComponents, const std::pair< dftfe::uInt, dftfe::uInt > componentIndexRange, std::vector< distributedCPUVec< double > > &componentVectors, const bool isFlattenedDealiiGhostValuesUpdated=false) |
Copies a single field component from a flattenedArray parallel distributed vector containing multiple component fields to a single field parallel distributed vector. | |
void | dftfe::vectorTools::copySingleCompVecToFlattenedDealiiVec (distributedCPUVec< double > &flattenedArray, const dftfe::uInt totalNumberComponents, const std::pair< dftfe::uInt, dftfe::uInt > componentIndexRange, const std::vector< distributedCPUVec< double > > &componentVectors) |
Copies to a flattenedArray parallel distributed vector containing multiple component fields from a single field parallel distributed vector. | |
void | dftfe::vectorTools::copySingleCompVecToFlattenedSTLVec (std::vector< double > &flattenedArray, const dftfe::uInt totalNumberComponents, const std::pair< dftfe::uInt, dftfe::uInt > componentIndexRange, const std::vector< distributedCPUVec< double > > &componentVectors) |
Copies to a flattenedArray stl vector containing multiple component fields from a single field parallel distributed vector. | |
std::pair< dealii::Point< 3 >, dealii::Point< 3 > > | dftfe::vectorTools::createBoundingBoxTriaLocallyOwned (const dealii::DoFHandler< 3 > &dofHandler) |
void | dftfe::vectorTools::classifyInteriorSurfaceNodesInCell (const dealii::MatrixFree< 3, double > &matrix_free_data, const dftfe::uInt mfDofHandlerIndex, std::vector< dftfe::uInt > &nodesPerCellClassificationMap) |
void | dftfe::vectorTools::classifyInteriorSurfaceNodesInGlobalArray (const dealii::MatrixFree< 3, double > &matrix_free_data, const dftfe::uInt mfDofHandlerIndex, const dealii::AffineConstraints< double > &constraintMatrix, std::vector< dftfe::uInt > &nodesPerCellClassificationMap, std::vector< dftfe::uInt > &globalArrayClassificationMap) |