DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace > Class Template Reference

This class provides the interface for the transfer between the meshes. More...

#include <TransferBetweenMeshesIncompatiblePartitioning.h>

Public Member Functions

 TransferDataBetweenMeshesIncompatiblePartitioning (const dealii::MatrixFree< 3, double > &matrixFreeMesh1, const unsigned int matrixFreeMesh1VectorComponent, const unsigned int matrixFreeMesh1QuadratureComponent, const dealii::MatrixFree< 3, double > &matrixFreeMesh2, const unsigned int matrixFreeMesh2VectorComponent, const unsigned int matrixFreeMesh2QuadratureComponent, const unsigned int verbosity, const MPI_Comm &mpiComm, const bool useMemOptForCellWiseInterpolation=false)
 
void interpolateMesh1DataToMesh2QuadPoints (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, const dftfe::linearAlgebra::MultiVector< dftfe::dataTypes::number, memorySpace > &inputVec, const unsigned int numberOfVectors, const dftfe::utils::MemoryStorage< dftfe::global_size_type, memorySpace > &fullFlattenedArrayCellLocalProcIndexIdMapMesh1, dftfe::utils::MemoryStorage< dftfe::dataTypes::number, memorySpace > &outputQuadData, const unsigned int blockSizeOfInputData, const unsigned int blockSizeOfOutputData, const unsigned int startIndexOfInputData, bool resizeOutputVec)
 
void interpolateMesh2DataToMesh1QuadPoints (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, const dftfe::linearAlgebra::MultiVector< dftfe::dataTypes::number, memorySpace > &inputVec, const unsigned int numberOfVectors, const dftfe::utils::MemoryStorage< dftfe::global_size_type, memorySpace > &fullFlattenedArrayCellLocalProcIndexIdMapMesh1, dftfe::utils::MemoryStorage< dftfe::dataTypes::number, memorySpace > &outputQuadData, const unsigned int blockSizeOfInputData, const unsigned int blockSizeOfOutputData, const unsigned int startIndexOfInputData, bool resizeOutputVec)
 
void interpolateMesh1DataToMesh2QuadPoints (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const distributedCPUVec< dftfe::dataTypes::number > &inputVec, const unsigned int numberOfVectors, const dftfe::utils::MemoryStorage< dftfe::global_size_type, dftfe::utils::MemorySpace::HOST > &fullFlattenedArrayCellLocalProcIndexIdMapParent, dftfe::utils::MemoryStorage< dftfe::dataTypes::number, dftfe::utils::MemorySpace::HOST > &outputQuadData, const unsigned int blockSizeOfInputData, const unsigned int blockSizeOfOutputData, const unsigned int startIndexOfInputData, bool resizeOutputVec)
 
void interpolateMesh2DataToMesh1QuadPoints (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const distributedCPUVec< dftfe::dataTypes::number > &inputVec, const unsigned int numberOfVectors, const dftfe::utils::MemoryStorage< dftfe::global_size_type, dftfe::utils::MemorySpace::HOST > &mapVecToCells, dftfe::utils::MemoryStorage< dftfe::dataTypes::number, dftfe::utils::MemorySpace::HOST > &outputQuadData, const unsigned int blockSizeOfInputData, const unsigned int blockSizeOfOutputData, const unsigned int startIndexOfInputData, bool resizeOutputVec)
 

Private Attributes

const dealii::MatrixFree< 3, double > * d_matrixFreeMesh1Ptr
 
const dealii::MatrixFree< 3, double > * d_matrixFreeMesh2Ptr
 
size_type d_matrixFreeMesh1VectorComponent
 
size_type d_matrixFreeMesh1QuadratureComponent
 
size_type d_matrixFreeMesh2VectorComponent
 
size_type d_matrixFreeMesh2QuadratureComponent
 
std::shared_ptr< InterpolateCellWiseDataToPoints< dftfe::dataTypes::number, memorySpace > > d_mesh1toMesh2
 
std::shared_ptr< InterpolateCellWiseDataToPoints< dftfe::dataTypes::number, memorySpace > > d_mesh2toMesh1
 
const MPI_Comm d_mpiComm
 

Detailed Description

template<dftfe::utils::MemorySpace memorySpace>
class dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >

This class provides the interface for the transfer between the meshes.

Template Parameters
memorySpace

Constructor & Destructor Documentation

◆ TransferDataBetweenMeshesIncompatiblePartitioning()

template<dftfe::utils::MemorySpace memorySpace>
dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::TransferDataBetweenMeshesIncompatiblePartitioning ( const dealii::MatrixFree< 3, double > & matrixFreeMesh1,
const unsigned int matrixFreeMesh1VectorComponent,
const unsigned int matrixFreeMesh1QuadratureComponent,
const dealii::MatrixFree< 3, double > & matrixFreeMesh2,
const unsigned int matrixFreeMesh2VectorComponent,
const unsigned int matrixFreeMesh2QuadratureComponent,
const unsigned int verbosity,
const MPI_Comm & mpiComm,
const bool useMemOptForCellWiseInterpolation = false )

Member Function Documentation

◆ interpolateMesh1DataToMesh2QuadPoints() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::interpolateMesh1DataToMesh2QuadPoints ( const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > & BLASWrapperPtr,
const distributedCPUVec< dftfe::dataTypes::number > & inputVec,
const unsigned int numberOfVectors,
const dftfe::utils::MemoryStorage< dftfe::global_size_type, dftfe::utils::MemorySpace::HOST > & fullFlattenedArrayCellLocalProcIndexIdMapParent,
dftfe::utils::MemoryStorage< dftfe::dataTypes::number, dftfe::utils::MemorySpace::HOST > & outputQuadData,
const unsigned int blockSizeOfInputData,
const unsigned int blockSizeOfOutputData,
const unsigned int startIndexOfInputData,
bool resizeOutputVec )

◆ interpolateMesh1DataToMesh2QuadPoints() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::interpolateMesh1DataToMesh2QuadPoints ( const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > & BLASWrapperPtr,
const dftfe::linearAlgebra::MultiVector< dftfe::dataTypes::number, memorySpace > & inputVec,
const unsigned int numberOfVectors,
const dftfe::utils::MemoryStorage< dftfe::global_size_type, memorySpace > & fullFlattenedArrayCellLocalProcIndexIdMapMesh1,
dftfe::utils::MemoryStorage< dftfe::dataTypes::number, memorySpace > & outputQuadData,
const unsigned int blockSizeOfInputData,
const unsigned int blockSizeOfOutputData,
const unsigned int startIndexOfInputData,
bool resizeOutputVec )

◆ interpolateMesh2DataToMesh1QuadPoints() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::interpolateMesh2DataToMesh1QuadPoints ( const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > & BLASWrapperPtr,
const distributedCPUVec< dftfe::dataTypes::number > & inputVec,
const unsigned int numberOfVectors,
const dftfe::utils::MemoryStorage< dftfe::global_size_type, dftfe::utils::MemorySpace::HOST > & mapVecToCells,
dftfe::utils::MemoryStorage< dftfe::dataTypes::number, dftfe::utils::MemorySpace::HOST > & outputQuadData,
const unsigned int blockSizeOfInputData,
const unsigned int blockSizeOfOutputData,
const unsigned int startIndexOfInputData,
bool resizeOutputVec )

◆ interpolateMesh2DataToMesh1QuadPoints() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::interpolateMesh2DataToMesh1QuadPoints ( const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > & BLASWrapperPtr,
const dftfe::linearAlgebra::MultiVector< dftfe::dataTypes::number, memorySpace > & inputVec,
const unsigned int numberOfVectors,
const dftfe::utils::MemoryStorage< dftfe::global_size_type, memorySpace > & fullFlattenedArrayCellLocalProcIndexIdMapMesh1,
dftfe::utils::MemoryStorage< dftfe::dataTypes::number, memorySpace > & outputQuadData,
const unsigned int blockSizeOfInputData,
const unsigned int blockSizeOfOutputData,
const unsigned int startIndexOfInputData,
bool resizeOutputVec )

Member Data Documentation

◆ d_matrixFreeMesh1Ptr

template<dftfe::utils::MemorySpace memorySpace>
const dealii::MatrixFree<3, double>* dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh1Ptr
private

◆ d_matrixFreeMesh1QuadratureComponent

template<dftfe::utils::MemorySpace memorySpace>
size_type dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh1QuadratureComponent
private

◆ d_matrixFreeMesh1VectorComponent

template<dftfe::utils::MemorySpace memorySpace>
size_type dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh1VectorComponent
private

◆ d_matrixFreeMesh2Ptr

template<dftfe::utils::MemorySpace memorySpace>
const dealii::MatrixFree<3, double>* dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh2Ptr
private

◆ d_matrixFreeMesh2QuadratureComponent

template<dftfe::utils::MemorySpace memorySpace>
size_type dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh2QuadratureComponent
private

◆ d_matrixFreeMesh2VectorComponent

template<dftfe::utils::MemorySpace memorySpace>
size_type dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_matrixFreeMesh2VectorComponent
private

◆ d_mesh1toMesh2

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< InterpolateCellWiseDataToPoints<dftfe::dataTypes::number, memorySpace> > dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_mesh1toMesh2
private

◆ d_mesh2toMesh1

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< InterpolateCellWiseDataToPoints<dftfe::dataTypes::number, memorySpace> > dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_mesh2toMesh1
private

◆ d_mpiComm

template<dftfe::utils::MemorySpace memorySpace>
const MPI_Comm dftfe::TransferDataBetweenMeshesIncompatiblePartitioning< memorySpace >::d_mpiComm
private

The documentation for this class was generated from the following file: