DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftUtils.h File Reference
#include <headers.h>
#include <mpi.h>

Go to the source code of this file.

Classes

class  dftfe::dftUtils::Pool
 

Namespaces

namespace  dftfe
 
namespace  dftfe::dftUtils
 Contains repeatedly used functions in the KSDFT calculations.
 

Functions

void dftfe::dftUtils::dgesv_ (int *N, int *NRHS, double *A, int *LDA, int *IPIV, double *B, int *LDB, int *INFO)
 
double dftfe::dftUtils::smearedCharge (double r, double rc)
 
double dftfe::dftUtils::smearedChargeDr (double r, double rc)
 
double dftfe::dftUtils::smearedPot (double r, double rc)
 
double dftfe::dftUtils::smearedPotDr (double r, double rc)
 
std::vector< double > dftfe::dftUtils::getFractionalCoordinates (const std::vector< double > &latticeVectorsFlattened, const std::vector< double > &coordWithRespectToCellCorner)
 
double dftfe::dftUtils::getCompositeGeneratorVal (const double rc, const double r, const double a0, const double power)
 Calculates value of composite generator.
 
dealii::BoundingBox< 3 > dftfe::dftUtils::createBoundingBoxForSphere (const dealii::Point< 3 > &center, const double sphereRadius)
 Create bounding box around a sphere.
 
double dftfe::dftUtils::getPartialOccupancy (const double eigenValue, const double fermiEnergy, const double kb, const double T)
 Calculates partial occupancy of the atomic orbital using Fermi-Dirac smearing.
 
double dftfe::dftUtils::getPartialOccupancyDer (const double eigenValue, const double fermiEnergy, const double kb, const double T)
 Calculates the derivative of the partial occupancy of the atomic orbital with respect to (x=eigenvalue-fermiEnergy) using Fermi-Dirac smearing.
 
void dftfe::dftUtils::cross_product (const std::vector< double > &a, const std::vector< double > &b, std::vector< double > &crossProductVector)
 Calculates cross product of two vectors.
 
void dftfe::dftUtils::transformDomainBoundingVectors (std::vector< std::vector< double > > &domainBoundingVectors, const dealii::Tensor< 2, 3, double > &deformationGradient)
 Applies an affine transformation to the domain bounding vectors.
 
void dftfe::dftUtils::writeDataVTUParallelLowestPoolId (const dealii::DoFHandler< 3 > &dofHandler, const dealii::DataOut< 3 > &dataOut, const MPI_Comm &mpiCommParent, const MPI_Comm &mpiCommDomain, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const std::string &folderName, const std::string &fileName)
 Writes to vtu file only from the lowest pool id.
 
void dftfe::dftUtils::createBandParallelizationIndices (const MPI_Comm &interBandGroupComm, const unsigned int numBands, std::vector< unsigned int > &bandGroupLowHighPlusOneIndices)
 Create index vector which is used for band parallelization.
 
void dftfe::dftUtils::createKpointParallelizationIndices (const MPI_Comm &interKptPoolComm, const int numberIndices, std::vector< int > &kptGroupLowHighPlusOneIndices)
 
void dftfe::dftUtils::printCurrentMemoryUsage (const MPI_Comm &mpiComm, const std::string message)
 Wrapper to print current memory usage (prints only the maximum across mpiComm) using PetscMemoryGetCurrentUsage.
 
 dftfe::dftUtils::DeclExceptionMsg (ExcNotImplementedYet, "This functionality is not implemented yet or not needed to be implemented.")
 Exception handler for not implemented functionality.
 
 dftfe::dftUtils::DeclExceptionMsg (ExcInternalError, "DFT-FE internal error.")
 Exception handler for DFT-FE internal error.