16#ifndef groupSymmetry_H_ 
   17#define groupSymmetry_H_ 
   28#include <deal.II/base/mpi_remote_point_evaluation.h> 
   45                       const MPI_Comm &mpi_comm_domain,
 
   46                       const bool      isGroupSymmetry,
 
   47                       const bool      isTimeReversal);
 
   51                      std::vector<std::vector<double>> &domainBoundingVectors,
 
   52                      std::vector<bool> &periodicBoundaryConditions,
 
   53                      const bool         isCollinearSpin = 
false);
 
   57      std::vector<std::vector<double>> &atomLocations,
 
   58      std::vector<std::vector<double>> &domainBoundingVectors);
 
   71      const dealii::DoFHandler<3> &dofHandler);
 
   76        &vectorFieldValues) 
const;
 
   85                     std::vector<double> &kPointWeights) 
const;
 
   99    dealii::ConditionalOStream 
pcout;
 
  126    mutable dealii::Utilities::MPI::RemotePointEvaluation<3, 3>
 
 
void reduceKPointGrid(std::vector< double > &kPointCoordinatesFrac, std::vector< double > &kPointWeights) const
 
std::vector< std::vector< dftfe::uInt > > d_pointMapsForSymmetry
Definition groupSymmetry.h:120
 
void symmetrizeScalarFieldFromLocalValues(distributedCPUVec< double > &scalarField, const dealii::DoFHandler< 3 > &dofHandler)
 
void initGroupSymmetry(std::vector< std::vector< double > > &atomLocations, std::vector< std::vector< double > > &domainBoundingVectors, std::vector< bool > &periodicBoundaryConditions, const bool isCollinearSpin=false)
 
dealii::MappingQ1< 3 > mapping
Definition groupSymmetry.h:129
 
std::vector< std::vector< double > > d_translation
Definition groupSymmetry.h:107
 
dftfe::uInt d_numAtoms
Definition groupSymmetry.h:109
 
std::vector< dealii::Point< 3 > > requiredPointCoordinates
Definition groupSymmetry.h:128
 
void reinitGroupSymmetry(std::vector< std::vector< double > > &atomLocations, std::vector< std::vector< double > > &domainBoundingVectors)
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > d_domainBoundingVectorsInverse
Definition groupSymmetry.h:115
 
groupSymmetryClass(const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const bool isGroupSymmetry, const bool isTimeReversal)
 
dealii::ConditionalOStream pcout
Definition groupSymmetry.h:99
 
const MPI_Comm d_mpiCommDomain
Definition groupSymmetry.h:96
 
dealii::Utilities::MPI::RemotePointEvaluation< 3, 3 > remotePointCache
Definition groupSymmetry.h:127
 
void symmetrizeForce(dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &vectorFieldValues) const
 
std::vector< bool > d_periodicBoundaryConditions
Definition groupSymmetry.h:118
 
const bool d_isTimeReversal
Definition groupSymmetry.h:122
 
std::vector< std::vector< double > > d_symmMatInverse
Definition groupSymmetry.h:106
 
dealii::TimerOutput computing_timer
Definition groupSymmetry.h:92
 
const MPI_Comm d_mpiCommParent
Definition groupSymmetry.h:96
 
std::vector< std::vector< dftfe::uInt > > localDoFIndexToPointIndexMap
Definition groupSymmetry.h:125
 
const dftfe::uInt this_mpi_process
Definition groupSymmetry.h:98
 
std::vector< std::vector< double > > d_symmMatCart
Definition groupSymmetry.h:105
 
const bool d_isGroupSymmetry
Definition groupSymmetry.h:123
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > d_domainBoundingVectors
Definition groupSymmetry.h:113
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > d_atomicCoordsFrac
Definition groupSymmetry.h:111
 
const dftfe::uInt n_mpi_processes
Definition groupSymmetry.h:97
 
void symmetrizeStress(dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &tensorValues) const
 
dftfe::uInt d_numSymm
Definition groupSymmetry.h:103
 
void setupCommPatternForNodalField(const dealii::DoFHandler< 3 > &dofHandler)
 
bool computeAtomIdMapsFromGlobalFractionalCoordinates(dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &globalPointCoords)
 
std::vector< std::vector< double > > d_symmMat
Definition groupSymmetry.h:104
 
Definition MemoryStorage.h:33
 
Definition pseudoPotentialToDftfeConverter.cc:34
 
dealii::LinearAlgebra::distributed::Vector< elem_type, dealii::MemorySpace::Host > distributedCPUVec
Definition headers.h:92
 
std::uint32_t uInt
Definition TypeConfig.h:10