DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe Namespace Reference

Namespaces

namespace  AtomicCenteredNonLocalOperatorKernelsDevice
 
namespace  basis
 
namespace  dataTypes
 
namespace  dftUtils
 Contains repeatedly used functions in the KSDFT calculations.
 
namespace  eshelbyTensor
 The functions in this namespace contain the expressions for the various terms of the configurational force (https://link.aps.org/doi/10.1103/PhysRevB.97.165132) for both periodic (see Eq. 38) and non-periodic (see Eqs. 28-29) case.
 
namespace  eshelbyTensorSP
 The functions in this namespace contain the expressions for the various terms of the configurational force (https://link.aps.org/doi/10.1103/PhysRevB.97.165132) for both periodic and non-periodic case.
 
namespace  force
 
namespace  internalEnergy
 
namespace  LAPACKSupport
 
namespace  linearAlgebra
 
namespace  linearAlgebraOperations
 Contains linear algebra functions used in the implementation of an eigen solver.
 
namespace  linearAlgebraOperationsDevice
 
namespace  meshGenUtils
 
namespace  poissonDevice
 
namespace  pseudoUtils
 wrapper to convert pseudopotential file from upf to dftfe format and returns the nonlinear core correction flag
 
namespace  sphericalHarmonicUtils
 
namespace  types
 
namespace  utils
 
namespace  vectorTools
 Contains generic utils functions related to custom partitioned flattened dealii vector.
 

Classes

class  atomCenteredOrbitalsPostProcessing
 
class  AtomCenteredPseudoWavefunctionSpline
 
class  AtomCenteredSphericalFunctionBase
 
class  AtomCenteredSphericalFunctionBessel
 
class  AtomCenteredSphericalFunctionContainer
 
class  AtomCenteredSphericalFunctionCoreDensitySpline
 
class  AtomCenteredSphericalFunctionGaussian
 
class  AtomCenteredSphericalFunctionLocalPotentialSpline
 
class  AtomCenteredSphericalFunctionProjectorSpline
 
class  AtomCenteredSphericalFunctionSinc
 
class  AtomCenteredSphericalFunctionSpline
 
class  AtomCenteredSphericalFunctionValenceDensitySpline
 
class  AtomCenteredSphericalFunctionZOverR
 
class  AtomicBasis
 
class  AtomicBasisData
 
class  AtomicCenteredNonLocalOperator
 
class  AtomPseudoWavefunctions
 
class  AuxDensityMatrix
 
class  AuxDensityMatrixAtomicBasis
 
class  AuxDensityMatrixFE
 
class  BFGSNonLinearSolver
 Class implementing a modified BFGS optimization scheme. More...
 
class  cgPRPNonLinearSolver
 Concrete class implementing Polak-Ribiere-Polyak Conjugate Gradient non-linear algebraic solver. More...
 
class  chebyshevOrthogonalizedSubspaceIterationSolver
 Concrete class implementing Chebyshev filtered orthogonalized subspace iteration solver. More...
 
struct  ContractedGaussian
 
class  dealiiLinearSolver
 dealii linear solver class wrapper More...
 
class  dealiiLinearSolverProblem
 Abstract class for linear solve problems to be used with the dealiiLinearSolver interface. More...
 
class  dftBase
 abstract base class for dft More...
 
class  dftClass
 This class is the primary interface location of all other parts of the DFT-FE code for all steps involved in obtaining the Kohn-Sham DFT ground-state solution. More...
 
class  dftfeWrapper
 wrapper class for dftfe More...
 
class  dftParameters
 Namespace which declares the input parameters and the functions to parse them from the input parameter file. More...
 
class  dispersionCorrection
 Calculates dispersion correction to energy, force and stress. More...
 
class  eigenSolverClass
 Base class for non-linear algebraic solver. More...
 
class  elpaScalaManager
 Manager class for ELPA and ScaLAPACK. More...
 
class  energyCalculator
 Calculates the ksdft problem total energy and its components. More...
 
class  excDensityGGAClass
 
class  excDensityLDAClass
 
class  excDensityLLMGGAClass
 
class  ExcDFTPlusU
 
class  excManager
 
class  ExcSSDFunctionalBaseClass
 This class provides the structure for all Exc functionals that can be written as a combination of functional of Single Slater determinant that results in a non-multiplicative potential plus a remainder functional dependent on density and Tau. More...
 
class  expConfiningPotential
 
class  forceClass
 computes configurational forces in KSDFT More...
 
class  GaussianBasis
 
struct  GaussianBasisInfo
 
class  geometryOptimizationClass
 
class  geoOptCell
 problem class for cell stress relaxation solver. More...
 
class  geoOptIon
 problem class for atomic force relaxation solver. More...
 
class  hubbard
 This class provides the Hubbard correction. This class is an object of ExcDFTPluU Class. More...
 
struct  hubbardSpecies
 This structure provides the relevant information pertaining to hubbard correction such as U value, orbital Ids and so on for each hubbard species. More...
 
class  InterpolateCellWiseDataToPoints
 This class forms the interface for interpolating data to an arbitrary set of points. This class is compatible with MPI, where the partitioning of cells and the points need not be compatible. As in the points need not lie within the cells assigned to the processor. More...
 
class  InterpolateFromCellToLocalPoints
 
class  kerkerSolverProblem
 poisson solver problem class template. template parameter FEOrderElectro is the finite element polynomial order for electrostatics More...
 
class  KohnShamHamiltonianOperator
 
class  LBFGSNonLinearSolver
 Class implementing LBFGS optimzation method. More...
 
class  linearSolver
 Abstract linear solver base class. More...
 
struct  matrixFreeDeviceKernels
 
class  meshMovementAffineTransform
 Class to update triangulation under affine transformation. More...
 
class  meshMovementClass
 Base class to move triangulation vertices. More...
 
class  meshMovementGaussianClass
 Class to move triangulation nodes using Gaussian functions attached to control points. More...
 
class  MixingScheme
 This class performs the anderson mixing in a variable agnostic way This class takes can take different input variables as input in a std::vector format and computes the mixing coefficients These coefficients can then be used to compute the new variable at the start of the SCF. More...
 
class  molecularDynamicsClass
 
class  MultiVectorCGSolver
 
class  MultiVectorLinearSolverProblem
 
class  MultiVectorMinResSolver
 
class  MultiVectorPoissonLinearSolverProblem
 
class  nonLinearSolver
 Base class for non-linear algebraic solver. More...
 
class  nonlinearSolverFunction
 
class  nonlinearSolverProblem
 Abstract class for solver functions. More...
 
class  nudgedElasticBandClass
 
class  oncvClass
 
class  operatorDFTClass
 Base class for building the DFT operator and the action of operator on a vector. More...
 
class  poissonSolverProblem
 poisson solver problem class template. template parameter FEOrderElectro is the finite element polynomial order. FEOrder template parameter is used in conjunction with FEOrderElectro to determine the order of the Gauss quadrature rule More...
 
class  ProcessGrid
 
class  runParameters
 Namespace which declares the input outer run parameters. More...
 
class  ScaLAPACKMatrix
 Scalapack wrapper adapted from dealii library and extended implementation to complex datatype. More...
 
class  SlaterBasis
 
struct  SlaterBasisInfo
 
struct  SlaterPrimitive
 
class  symmetryClass
 density symmetrization based on irreducible Brillouin zone calculation, only relevant for calculations using point group symmetries More...
 
class  TransferDataBetweenMeshesIncompatiblePartitioning
 This class provides the interface for the transfer between the meshes. More...
 
class  triangulationManager
 This class generates and stores adaptive finite element meshes for the real-space dft problem. More...
 
class  vselfBinsManager
 Categorizes atoms into bins for efficient solution of nuclear electrostatic self-potential. template parameter FEOrderElectro is the finite element polynomial order. More...
 

Typedefs

template<typename elem_type>
using distributedCPUVec
 
template<typename NumberType>
using distributedCPUMultiVec
 
using size_type = unsigned int
 
using global_size_type = unsigned long int
 

Enumerations

enum class  CouplingStructure { diagonal , dense , blockDiagonal }
 Enum class that lists used in the non-local Operator. More...
 
enum class  DensityDescriptorDataAttributes {
  valuesTotal , valuesSpinUp , valuesSpinDown , gradValuesSpinUp ,
  gradValuesSpinDown , hessianSpinUp , hessianSpinDown , laplacianSpinUp ,
  laplacianSpinDown
}
 
enum class  excDensityPositivityCheckTypes { NO_CHECK , EXCEPTION_POSITIVE , MAKE_POSITIVE }
 
enum class  ExcFamilyType {
  LDA , GGA , LLMGGA , HYBRID ,
  DFTPlusU , MGGA
}
 
enum class  densityFamilyType { LDA , GGA , LLMGGA }
 
enum class  xcRemainderOutputDataAttributes {
  e , vSpinUp , vSpinDown , pdeDensitySpinUp ,
  pdeDensitySpinDown , pdeSigma , pdeLaplacianSpinUp , pdeLaplacianSpinDown ,
  pdeTauSpinUp , pdeTauSpinDown
}
 
enum class  HubbardOccFieldType { In , Out , Residual }
 This enum class provides the tags for the occupation matrices. This will be relevant during mixing. More...
 
enum class  mixingVariable {
  rho , gradRho , magZ , gradMagZ ,
  hubbardOccupation
}
 Enum class that stores he list of variables that will can be used in the mixing scheme. More...
 

Functions

template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void computeAuxProjectedDensityMatrixFromPSI (const dftfe::utils::MemoryStorage< NumberType, memorySpace > &X, const unsigned int totalNumWaveFunctions, const std::vector< std::vector< double > > &partialOccupancies, std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > &basisOperationsPtr, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, const unsigned int matrixFreeDofhandlerIndex, const unsigned int quadratureIndex, const std::vector< double > &kPointWeights, AuxDensityMatrix< memorySpace > &auxDensityMatrixRepresentation, const MPI_Comm &mpiCommParent, const MPI_Comm &domainComm, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const dftParameters &dftParams)
 
template<unsigned int FEOrder>
constexpr unsigned int C_num1DQuad ()
 1d quadrature rule order
 
constexpr unsigned int C_num1DQuadSmearedCharge ()
 1d quad rule smeared nuclear charge
 
constexpr unsigned int C_numCopies1DQuadSmearedCharge ()
 number of copies 1d quad rule smeared nuclear charge
 
constexpr unsigned int C_num1DQuadSmearedChargeHigh ()
 
constexpr unsigned int C_numCopies1DQuadSmearedChargeHigh ()
 
constexpr unsigned int C_num1DQuadSmearedChargeStress ()
 1d quad rule smeared nuclear charge if cell stress calculation is on
 
constexpr unsigned int C_numCopies1DQuadSmearedChargeStress ()
 
template<unsigned int FEOrder, unsigned int FEOrderElectro>
constexpr unsigned int C_rhoNodalPolyOrder ()
 rho nodal polynomial order
 
template<unsigned int FEOrder>
constexpr unsigned int C_num1DQuadNLPSP ()
 1d quadrature rule order for non-local part of pseudopotential
 
constexpr unsigned int C_numCopies1DQuadNLPSP ()
 number of copies 1d quad rule non-local PSP
 
template<unsigned int FEOrder>
constexpr unsigned int C_num1DQuadLPSP ()
 1d quadrature rule order for local part of pseudopotential
 
constexpr unsigned int C_numCopies1DQuadLPSP ()
 number of copies 1d quad rule local PSP
 
template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void computeRhoFromPSI (const dftfe::utils::MemoryStorage< NumberType, memorySpace > *X, const unsigned int totalNumWaveFunctions, const std::vector< std::vector< double > > &partialOccupancies, std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > &basisOperationsPtr, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, const unsigned int matrixFreeDofhandlerIndex, const unsigned int quadratureIndex, const std::vector< double > &kPointWeights, std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &densityValues, std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &gradDensityValues, const bool isEvaluateGradRho, const MPI_Comm &mpiCommParent, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const dftParameters &dftParams)
 
template<typename NumberType>
void computeRhoGradRhoFromInterpolatedValues (std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *partialOccupVec, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *rhoCellsWfcContributions, double *gradRhoCellsWfcContributions, double *rho, double *gradRho, const bool isEvaluateGradRho)
 
template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void computeRhoFirstOrderResponse (const dftfe::utils::MemoryStorage< NumberType, memorySpace > &X, const dftfe::utils::MemoryStorage< NumberType, memorySpace > &XPrime, const unsigned int totalNumWaveFunctions, const std::vector< std::vector< double > > &densityMatDerFermiEnergy, std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > &basisOperationsPtr, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, const unsigned int matrixFreeDofhandlerIndex, const unsigned int quadratureIndex, const std::vector< double > &kPointWeights, std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &rhoResponseValuesHam, std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &rhoResponseValuesFermiEnergy, const MPI_Comm &mpiCommParent, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const dftParameters &dftParams)
 
template<typename NumberType>
void computeRhoResponseFromInterpolatedValues (std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *onesVec, double *partialOccupPrimeVec, NumberType *wfcQuadPointData, NumberType *wfcPrimeQuadPointData, double *rhoResponseHamCellsWfcContributions, double *rhoResponseFermiEnergyCellsWfcContributions, double *rhoResponseHam, double *rhoResponseFermiEnergy)
 
template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void computeKineticEnergyDensity (const dftfe::linearAlgebra::BLASWrapper< memorySpace > &BLASWrapperPtr, const dftfe::utils::MemoryStorage< NumberType, memorySpace > *X, const unsigned int totalNumWaveFunctions, const std::vector< std::vector< double > > &partialOccupancies, std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > &basisOperationsPtr, const unsigned int quadratureIndex, const std::vector< double > &kPointCoords, const std::vector< double > &kPointWeights, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &kineticEnergyDensityValues, const MPI_Comm &mpiCommParent, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const MPI_Comm &mpiCommDomain, const dftParameters &dftParams)
 
template<typename NumberType>
void computeKineticEnergyDensityFromInterpolatedValues (const dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *partialOccupVec, double *kcoord, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *kineticCellsWfcContributions, double *kineticEnergyDensity, const MPI_Comm &mpiCommDomain)
 
void applyPreconditionAndComputeDotProductDevice (double *d_dvec, double *d_devSum, const double *d_rvec, const double *d_jacobi, const int N)
 Combines precondition and dot product.
 
void applyPreconditionComputeDotProductAndSaddDevice (double *d_qvec, double *d_devSum, const double *d_rvec, const double *d_jacobi, const int N)
 Combines precondition, sadd and dot product.
 
void scaleXRandComputeNormDevice (double *x, double *d_rvec, double *d_devSum, const double *d_qvec, const double *d_dvec, const double alpha, const int N)
 Combines scaling and norm.
 
void Cblacs_pinfo (int *rank, int *nprocs)
 
void Cblacs_get (int icontxt, int what, int *val)
 
void Cblacs_gridinit (int *context, const char *order, int grid_height, int grid_width)
 
void Cblacs_gridinfo (int context, int *grid_height, int *grid_width, int *grid_row, int *grid_col)
 
void Cblacs_pcoord (int ictxt, int pnum, int *prow, int *pcol)
 
void Cblacs_gridexit (int context)
 
void Cblacs_barrier (int, const char *)
 
void Cblacs_exit (int error_code)
 
void Cdgerv2d (int context, int M, int N, double *A, int lda, int rsrc, int csrc)
 
void Csgerv2d (int context, int M, int N, float *A, int lda, int rsrc, int csrc)
 
void Cdgesd2d (int context, int M, int N, double *A, int lda, int rdest, int cdest)
 
void Csgesd2d (int context, int M, int N, float *A, int lda, int rdest, int cdest)
 
int Csys2blacs_handle (MPI_Comm comm)
 
int numroc_ (const int *n, const int *nb, const int *iproc, const int *isproc, const int *nprocs)
 
void pzlacgv_ (const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const int *INCX)
 
void pdpotrf_ (const char *UPLO, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pspotrf_ (const char *UPLO, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pzpotrf_ (const char *UPLO, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pdgetrf_ (const int *m, const int *n, double *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
void psgetrf_ (const int *m, const int *n, float *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
void pzgetrf_ (const int *m, const int *n, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
void pdpotri_ (const char *UPLO, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pspotri_ (const char *UPLO, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pzpotri_ (const char *UPLO, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pdgetri_ (const int *N, double *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, double *work, int *lwork, int *iwork, int *liwork, int *info)
 
void psgetri_ (const int *N, float *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, float *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pzgetri_ (const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pdtrtri_ (const char *UPLO, const char *DIAG, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pstrtri_ (const char *UPLO, const char *DIAG, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pztrtri_ (const char *UPLO, const char *DIAG, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void pdpocon_ (const char *uplo, const int *N, const double *A, const int *IA, const int *JA, const int *DESCA, const double *ANORM, double *RCOND, double *WORK, const int *LWORK, int *IWORK, const int *LIWORK, int *INFO)
 
void pspocon_ (const char *uplo, const int *N, const float *A, const int *IA, const int *JA, const int *DESCA, const float *ANORM, float *RCOND, float *WORK, const int *LWORK, int *IWORK, const int *LIWORK, int *INFO)
 
double pdlansy_ (const char *norm, const char *uplo, const int *N, const double *A, const int *IA, const int *JA, const int *DESCA, double *work)
 
float pslansy_ (const char *norm, const char *uplo, const int *N, const float *A, const int *IA, const int *JA, const int *DESCA, float *work)
 
int ilcm_ (const int *M, const int *N)
 
int iceil_ (const int *i1, const int *i2)
 
void descinit_ (int *desc, const int *m, const int *n, const int *mb, const int *nb, const int *irsrc, const int *icsrc, const int *ictxt, const int *lld, int *info)
 
int indxl2g_ (const int *indxloc, const int *nb, const int *iproc, const int *isrcproc, const int *nprocs)
 
void pdgesv_ (const int *n, const int *nrhs, double *A, const int *ia, const int *ja, const int *desca, int *ipiv, double *B, const int *ib, const int *jb, const int *descb, int *info)
 
void psgesv_ (const int *n, const int *nrhs, float *A, const int *ia, const int *ja, const int *desca, int *ipiv, float *B, const int *ib, const int *jb, const int *descb, int *info)
 
void pdgemm_ (const char *transa, const char *transb, const int *m, const int *n, const int *k, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *B, const int *IB, const int *JB, const int *DESCB, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void psgemm_ (const char *transa, const char *transb, const int *m, const int *n, const int *k, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *B, const int *IB, const int *JB, const int *DESCB, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
void pzgemm_ (const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *B, const int *IB, const int *JB, const int *DESCB, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC)
 
double pdlange_ (char const *norm, const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *work)
 
float pslange_ (const char *norm, const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *work)
 
int indxg2p_ (const int *glob, const int *nb, const int *iproc, const int *isproc, const int *nprocs)
 
void pdsyev_ (const char *jobz, const char *uplo, const int *m, double *A, const int *ia, const int *ja, int *desca, double *w, double *z, const int *iz, const int *jz, int *descz, double *work, const int *lwork, int *info)
 
void pssyev_ (const char *jobz, const char *uplo, const int *m, float *A, const int *ia, const int *ja, int *desca, float *w, float *z, const int *iz, const int *jz, int *descz, float *work, const int *lwork, int *info)
 
void pzheev_ (const char *jobz, const char *uplo, const int *m, std::complex< double > *A, const int *ia, const int *ja, int *desca, double *w, std::complex< double > *z, const int *iz, const int *jz, int *descz, std::complex< double > *work, const int *lwork, int *info)
 
void pdlacpy_ (const char *uplo, const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb)
 
void pslacpy_ (const char *uplo, const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb)
 
void pdgemr2d_ (const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb, const int *ictxt)
 
void psgemr2d_ (const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb, const int *ictxt)
 
double pdlamch_ (const int *ictxt, const char *cmach)
 
float pslamch_ (const int *ictxt, const char *cmach)
 
void pdsyevx_ (const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *ia, const int *ja, const int *desca, const double *VL, const double *VU, const int *il, const int *iu, const double *abstol, const int *m, const int *nz, double *w, double *orfac, double *Z, const int *iz, const int *jz, const int *descz, double *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info)
 
void pssyevx_ (const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *ia, const int *ja, const int *desca, const float *VL, const float *VU, const int *il, const int *iu, const float *abstol, const int *m, const int *nz, float *w, float *orfac, float *Z, const int *iz, const int *jz, const int *descz, float *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, float *gap, int *info)
 
void pzheevx_ (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *ia, const int *ja, const int *desca, const double *VL, const double *VU, const int *il, const int *iu, const double *abstol, const int *m, const int *nz, double *w, double *orfac, std::complex< double > *Z, const int *iz, const int *jz, const int *descz, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info)
 
void pdgesvd_ (const char *jobu, const char *jobvt, const int *m, const int *n, double *A, const int *ia, const int *ja, const int *desca, double *S, double *U, const int *iu, const int *ju, const int *descu, double *VT, const int *ivt, const int *jvt, const int *descvt, double *work, int *lwork, int *info)
 
void psgesvd_ (const char *jobu, const char *jobvt, const int *m, const int *n, float *A, const int *ia, const int *ja, const int *desca, float *S, float *U, const int *iu, const int *ju, const int *descu, float *VT, const int *ivt, const int *jvt, const int *descvt, float *work, int *lwork, int *info)
 
void pdgels_ (const char *trans, const int *m, const int *n, const int *nrhs, double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb, double *work, int *lwork, int *info)
 
void psgels_ (const char *trans, const int *m, const int *n, const int *nrhs, float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb, float *work, int *lwork, int *info)
 
void pdgeadd_ (const char *transa, const int *m, const int *n, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void psgeadd_ (const char *transa, const int *m, const int *n, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
void pzgeadd_ (const char *transa, const int *m, const int *n, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC)
 
void pdtran_ (const int *m, const int *n, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void pstran_ (const int *m, const int *n, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
void pdsyevr_ (const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *IA, const int *JA, const int *DESCA, const double *VL, const double *VU, const int *IL, const int *IU, int *m, int *nz, double *w, double *Z, const int *IZ, const int *JZ, const int *DESCZ, double *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pssyevr_ (const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *IA, const int *JA, const int *DESCA, const float *VL, const float *VU, const int *IL, const int *IU, int *m, int *nz, float *w, float *Z, const int *IZ, const int *JZ, const int *DESCZ, float *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pzheevr_ (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const double *VL, const double *VU, const int *IL, const int *IU, int *m, int *nz, double *w, std::complex< double > *Z, const int *IZ, const int *JZ, const int *DESCZ, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *info)
 
template<typename number>
void Cgerv2d (int, int, int, number *, int, int, int)
 
void Cgerv2d (int context, int M, int N, double *A, int lda, int rsrc, int csrc)
 
void Cgerv2d (int context, int M, int N, float *A, int lda, int rsrc, int csrc)
 
template<typename number>
void Cgesd2d (int, int, int, number *, int, int, int)
 
void Cgesd2d (int context, int M, int N, double *A, int lda, int rdest, int cdest)
 
void Cgesd2d (int context, int M, int N, float *A, int lda, int rdest, int cdest)
 
void pplacgv (const int *N, double *A, const int *IA, const int *JA, const int *DESCA, const int *INCX)
 
void pplacgv (const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const int *INCX)
 
template<typename number>
void ppotrf (const char *, const int *, number *, const int *, const int *, const int *, int *)
 
void ppotrf (const char *UPLO, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ppotrf (const char *UPLO, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ppotrf (const char *UPLO, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
template<typename number>
void pgetrf (const int *, const int *, number *, const int *, const int *, const int *, int *, int *)
 
void pgetrf (const int *m, const int *n, double *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
void pgetrf (const int *m, const int *n, float *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
void pgetrf (const int *m, const int *n, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *INFO)
 
template<typename number>
void ppotri (const char *, const int *, number *, const int *, const int *, const int *, int *)
 
void ppotri (const char *UPLO, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ppotri (const char *UPLO, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ppotri (const char *UPLO, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
template<typename number>
void pgetri (const int *, number *, const int *, const int *, const int *, const int *, number *, int *, int *, int *, int *)
 
void pgetri (const int *N, double *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, double *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pgetri (const int *N, float *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, float *work, int *lwork, int *iwork, int *liwork, int *info)
 
void pgetri (const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const int *ipiv, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *info)
 
template<typename number>
void ptrtri (const char *, const char *, const int *, number *, const int *, const int *, const int *, int *)
 
void ptrtri (const char *UPLO, const char *DIAG, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ptrtri (const char *UPLO, const char *DIAG, const int *N, float *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
void ptrtri (const char *UPLO, const char *DIAG, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *INFO)
 
template<typename number>
void ppocon (const char *, const int *, const number *, const int *, const int *, const int *, const number *, number *, number *, const int *, int *, const int *, int *)
 
void ppocon (const char *uplo, const int *N, const double *A, const int *IA, const int *JA, const int *DESCA, const double *ANORM, double *RCOND, double *WORK, const int *LWORK, int *IWORK, const int *LIWORK, int *INFO)
 
void ppocon (const char *uplo, const int *N, const float *A, const int *IA, const int *JA, const int *DESCA, const float *ANORM, float *RCOND, float *WORK, const int *LWORK, int *IWORK, const int *LIWORK, int *INFO)
 
template<typename number>
number plansy (const char *, const char *, const int *, const number *, const int *, const int *, const int *, number *)
 
double plansy (const char *norm, const char *uplo, const int *N, const double *A, const int *IA, const int *JA, const int *DESCA, double *work)
 
float plansy (const char *norm, const char *uplo, const int *N, const float *A, const int *IA, const int *JA, const int *DESCA, float *work)
 
template<typename number>
void pgesv (const int *, const int *, number *, const int *, const int *, const int *, int *, number *, const int *, const int *, const int *, int *)
 
void pgesv (const int *n, const int *nrhs, double *A, const int *ia, const int *ja, const int *desca, int *ipiv, double *B, const int *ib, const int *jb, const int *descb, int *info)
 
void pgesv (const int *n, const int *nrhs, float *A, const int *ia, const int *ja, const int *desca, int *ipiv, float *B, const int *ib, const int *jb, const int *descb, int *info)
 
template<typename number>
void pgemm (const char *, const char *, const int *, const int *, const int *, const number *, const number *, const int *, const int *, const int *, const number *, const int *, const int *, const int *, const number *, number *, const int *, const int *, const int *)
 
void pgemm (const char *transa, const char *transb, const int *m, const int *n, const int *k, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *B, const int *IB, const int *JB, const int *DESCB, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void pgemm (const char *transa, const char *transb, const int *m, const int *n, const int *k, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *B, const int *IB, const int *JB, const int *DESCB, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
void pgemm (const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *B, const int *IB, const int *JB, const int *DESCB, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC)
 
template<typename number>
number plange (const char *, const int *, const int *, const number *, const int *, const int *, const int *, number *)
 
double plange (const char *norm, const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *work)
 
float plange (const char *norm, const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *work)
 
template<typename number>
void psyev (const char *, const char *, const int *, number *, const int *, const int *, int *, number *, number *, const int *, const int *, int *, number *, const int *, int *)
 
void psyev (const char *jobz, const char *uplo, const int *m, double *A, const int *ia, const int *ja, int *desca, double *w, double *z, const int *iz, const int *jz, int *descz, double *work, const int *lwork, int *info)
 
void psyev (const char *jobz, const char *uplo, const int *m, float *A, const int *ia, const int *ja, int *desca, float *w, float *z, const int *iz, const int *jz, int *descz, float *work, const int *lwork, int *info)
 
void psyev (const char *jobz, const char *uplo, const int *m, std::complex< double > *A, const int *ia, const int *ja, int *desca, double *w, std::complex< double > *z, const int *iz, const int *jz, int *descz, std::complex< double > *work, const int *lwork, int *info)
 
template<typename number>
void placpy (const char *, const int *, const int *, const number *, const int *, const int *, const int *, number *, const int *, const int *, const int *)
 
void placpy (const char *uplo, const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb)
 
void placpy (const char *uplo, const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb)
 
template<typename number>
void pgemr2d (const int *, const int *, const number *, const int *, const int *, const int *, number *, const int *, const int *, const int *, const int *)
 
void pgemr2d (const int *m, const int *n, const double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb, const int *ictxt)
 
void pgemr2d (const int *m, const int *n, const float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb, const int *ictxt)
 
template<typename number>
void plamch (const int *, const char *, number &)
 
void plamch (const int *ictxt, const char *cmach, double &val)
 
void plamch (const int *ictxt, const char *cmach, float &val)
 
template<typename number>
void psyevx (const char *, const char *, const char *, const int *, number *, const int *, const int *, const int *, number *, number *, const int *, const int *, number *, const int *, const int *, number *, number *, number *, const int *, const int *, const int *, number *, int *, int *, int *, int *, int *, number *, int *)
 
void psyevx (const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *ia, const int *ja, const int *desca, double *VL, double *VU, const int *il, const int *iu, double *abstol, const int *m, const int *nz, double *w, double *orfac, double *Z, const int *iz, const int *jz, const int *descz, double *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info)
 
void psyevx (const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *ia, const int *ja, const int *desca, float *VL, float *VU, const int *il, const int *iu, float *abstol, const int *m, const int *nz, float *w, float *orfac, float *Z, const int *iz, const int *jz, const int *descz, float *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, float *gap, int *info)
 
void psyevx (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *ia, const int *ja, const int *desca, double *VL, double *VU, const int *il, const int *iu, double *abstol, const int *m, const int *nz, double *w, double *orfac, std::complex< double > *Z, const int *iz, const int *jz, const int *descz, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info)
 
template<typename number>
void pgesvd (const char *, const char *, const int *, const int *, number *, const int *, const int *, const int *, number *, number *, const int *, const int *, const int *, number *, const int *, const int *, const int *, number *, int *, int *)
 
void pgesvd (const char *jobu, const char *jobvt, const int *m, const int *n, double *A, const int *ia, const int *ja, const int *desca, double *S, double *U, const int *iu, const int *ju, const int *descu, double *VT, const int *ivt, const int *jvt, const int *descvt, double *work, int *lwork, int *info)
 
void pgesvd (const char *jobu, const char *jobvt, const int *m, const int *n, float *A, const int *ia, const int *ja, const int *desca, float *S, float *U, const int *iu, const int *ju, const int *descu, float *VT, const int *ivt, const int *jvt, const int *descvt, float *work, int *lwork, int *info)
 
template<typename number>
void pgels (const char *, const int *, const int *, const int *, number *, const int *, const int *, const int *, number *, const int *, const int *, const int *, number *, int *, int *)
 
void pgels (const char *trans, const int *m, const int *n, const int *nrhs, double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb, double *work, int *lwork, int *info)
 
void pgels (const char *trans, const int *m, const int *n, const int *nrhs, float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb, float *work, int *lwork, int *info)
 
template<typename number>
void pgeadd (const char *, const int *, const int *, const number *, const number *, const int *, const int *, const int *, const number *, number *, const int *, const int *, const int *)
 
void pgeadd (const char *transa, const int *m, const int *n, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void pgeadd (const char *transa, const int *m, const int *n, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
void pgeadd (const char *transa, const int *m, const int *n, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC)
 
template<typename number>
void ptran (const int *, const int *, const number *, const number *, const int *, const int *, const int *, const number *, number *, const int *, const int *, const int *)
 
void ptran (const int *m, const int *n, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC)
 
void ptran (const int *m, const int *n, const float *alpha, const float *A, const int *IA, const int *JA, const int *DESCA, const float *beta, float *C, const int *IC, const int *JC, const int *DESCC)
 
template<typename number>
void psyevr (const char *, const char *, const char *, const int *, number *, const int *, const int *, const int *, const number *, const number *, const int *, const int *, int *, int *, number *, number *, const int *, const int *, const int *, number *, int *, int *, int *, int *)
 
void psyevr (const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *IA, const int *JA, const int *DESCA, const double *VL, const double *VU, const int *IL, const int *IU, int *m, int *nz, double *w, double *Z, const int *IZ, const int *JZ, const int *DESCZ, double *work, int *lwork, int *iwork, int *liwork, int *info)
 
void psyevr (const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *IA, const int *JA, const int *DESCA, const float *VL, const float *VU, const int *IL, const int *IU, int *m, int *nz, float *w, float *Z, const int *IZ, const int *JZ, const int *DESCZ, float *work, int *lwork, int *iwork, int *liwork, int *info)
 
void psyevr (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const double *VL, const double *VU, const int *IL, const int *IU, int *m, int *nz, double *w, std::complex< double > *Z, const int *IZ, const int *JZ, const int *DESCZ, std::complex< double > *work, int *lwork, int *iwork, int *liwork, int *info)
 
int lworkFromWork (std::vector< double > &work)
 
int lworkFromWork (std::vector< float > &work)
 
int lworkFromWork (std::vector< std::complex< double > > &work)
 

Variables

const double C_kb = 3.166811429e-06
 Boltzmann constant.
 
const double C_haPerBohrToeVPerAng = 27.211386245988 / 0.529177210903
 
const double C_haToeV = 27.211386245988
 
const double C_bohrToAng = 0.529177210903
 
const double C_pi = 3.14159265359
 
const double C_AngToBohr = 1.0 / 0.529177210903
 

Typedef Documentation

◆ distributedCPUMultiVec

template<typename NumberType>
using dftfe::distributedCPUMultiVec
Initial value:
An class template to encapsulate a MultiVector. A MultiVector is a collection of vectors belonging t...
Definition MultiVector.h:127
@ HOST
Definition MemorySpaceType.h:34

◆ distributedCPUVec

template<typename elem_type>
using dftfe::distributedCPUVec
Initial value:
dealii::LinearAlgebra::distributed::Vector<elem_type,
dealii::MemorySpace::Host>

◆ global_size_type

using dftfe::global_size_type = unsigned long int

◆ size_type

using dftfe::size_type = unsigned int

Enumeration Type Documentation

◆ CouplingStructure

enum class dftfe::CouplingStructure
strong

Enum class that lists used in the non-local Operator.

Enumerator
diagonal 
dense 
blockDiagonal 

◆ DensityDescriptorDataAttributes

Enumerator
valuesTotal 
valuesSpinUp 
valuesSpinDown 
gradValuesSpinUp 
gradValuesSpinDown 
hessianSpinUp 
hessianSpinDown 
laplacianSpinUp 
laplacianSpinDown 

◆ densityFamilyType

enum class dftfe::densityFamilyType
strong
Enumerator
LDA 
GGA 
LLMGGA 

◆ excDensityPositivityCheckTypes

Enumerator
NO_CHECK 
EXCEPTION_POSITIVE 
MAKE_POSITIVE 

◆ ExcFamilyType

enum class dftfe::ExcFamilyType
strong
Enumerator
LDA 
GGA 
LLMGGA 
HYBRID 
DFTPlusU 
MGGA 

◆ HubbardOccFieldType

enum class dftfe::HubbardOccFieldType
strong

This enum class provides the tags for the occupation matrices. This will be relevant during mixing.

Enumerator
In 
Out 
Residual 

◆ mixingVariable

enum class dftfe::mixingVariable
strong

Enum class that stores he list of variables that will can be used in the mixing scheme.

Enumerator
rho 
gradRho 
magZ 
gradMagZ 
hubbardOccupation 

◆ xcRemainderOutputDataAttributes

Enumerator
vSpinUp 
vSpinDown 
pdeDensitySpinUp 
pdeDensitySpinDown 
pdeSigma 
pdeLaplacianSpinUp 
pdeLaplacianSpinDown 
pdeTauSpinUp 
pdeTauSpinDown 

Function Documentation

◆ applyPreconditionAndComputeDotProductDevice()

void dftfe::applyPreconditionAndComputeDotProductDevice ( double * d_dvec,
double * d_devSum,
const double * d_rvec,
const double * d_jacobi,
const int N )

Combines precondition and dot product.

◆ applyPreconditionComputeDotProductAndSaddDevice()

void dftfe::applyPreconditionComputeDotProductAndSaddDevice ( double * d_qvec,
double * d_devSum,
const double * d_rvec,
const double * d_jacobi,
const int N )

Combines precondition, sadd and dot product.

◆ C_num1DQuad()

template<unsigned int FEOrder>
unsigned int dftfe::C_num1DQuad ( )
constexpr

1d quadrature rule order

◆ C_num1DQuadLPSP()

template<unsigned int FEOrder>
unsigned int dftfe::C_num1DQuadLPSP ( )
constexpr

1d quadrature rule order for local part of pseudopotential

◆ C_num1DQuadNLPSP()

template<unsigned int FEOrder>
unsigned int dftfe::C_num1DQuadNLPSP ( )
constexpr

1d quadrature rule order for non-local part of pseudopotential

◆ C_num1DQuadSmearedCharge()

unsigned int dftfe::C_num1DQuadSmearedCharge ( )
constexpr

1d quad rule smeared nuclear charge

◆ C_num1DQuadSmearedChargeHigh()

unsigned int dftfe::C_num1DQuadSmearedChargeHigh ( )
constexpr

1d quad rule smeared nuclear charge if a very coarse FE mesh is used (e.g. softer pseudopotentials)

◆ C_num1DQuadSmearedChargeStress()

unsigned int dftfe::C_num1DQuadSmearedChargeStress ( )
constexpr

1d quad rule smeared nuclear charge if cell stress calculation is on

◆ C_numCopies1DQuadLPSP()

unsigned int dftfe::C_numCopies1DQuadLPSP ( )
constexpr

number of copies 1d quad rule local PSP

◆ C_numCopies1DQuadNLPSP()

unsigned int dftfe::C_numCopies1DQuadNLPSP ( )
constexpr

number of copies 1d quad rule non-local PSP

◆ C_numCopies1DQuadSmearedCharge()

unsigned int dftfe::C_numCopies1DQuadSmearedCharge ( )
constexpr

number of copies 1d quad rule smeared nuclear charge

◆ C_numCopies1DQuadSmearedChargeHigh()

unsigned int dftfe::C_numCopies1DQuadSmearedChargeHigh ( )
constexpr

number of copies 1d quad rule smeared nuclear charge if a very coarse FE mesh is used (e.g. softer pseudpotentials)

◆ C_numCopies1DQuadSmearedChargeStress()

unsigned int dftfe::C_numCopies1DQuadSmearedChargeStress ( )
constexpr

number of copies 1d quad rule smeared nuclear charge if cell stress calculation is on

◆ C_rhoNodalPolyOrder()

template<unsigned int FEOrder, unsigned int FEOrderElectro>
unsigned int dftfe::C_rhoNodalPolyOrder ( )
constexpr

rho nodal polynomial order

◆ Cblacs_barrier()

void dftfe::Cblacs_barrier ( int ,
const char *  )

This routines holds up execution of all processes within the indicated scope until they have all called the routine.

◆ Cblacs_exit()

void dftfe::Cblacs_exit ( int error_code)

Free all BLACS contexts and releases all allocated memory.

◆ Cblacs_get()

void dftfe::Cblacs_get ( int icontxt,
int what,
int * val )

Return internal BLACS value in val based on the input what and icontxt. The most common use is in retrieving a default system context (what = 0, icontxt is ignored) to be used in BLACS_GRIDINIT or BLACS_GRIDMAP.

https://www.ibm.com/support/knowledgecenter/en/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_dbget.htm

◆ Cblacs_gridexit()

void dftfe::Cblacs_gridexit ( int context)

Release a BLACS context.

◆ Cblacs_gridinfo()

void dftfe::Cblacs_gridinfo ( int context,
int * grid_height,
int * grid_width,
int * grid_row,
int * grid_col )

◆ Cblacs_gridinit()

void dftfe::Cblacs_gridinit ( int * context,
const char * order,
int grid_height,
int grid_width )

Map the processes sequentially in row-major or column-major order into the process grid. Input arguments must be the same on every process.

On return, context is the integer handle to the BLACS context, whereas on entry it is a system context to be used in creating the BLACS context.

https://www.ibm.com/support/knowledgecenter/en/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_dbint.htm

◆ Cblacs_pcoord()

void dftfe::Cblacs_pcoord ( int ictxt,
int pnum,
int * prow,
int * pcol )

Given the system process number, return the row and column coordinates in the BLACS' process grid.

◆ Cblacs_pinfo()

void dftfe::Cblacs_pinfo ( int * rank,
int * nprocs )

◆ Cdgerv2d()

void dftfe::Cdgerv2d ( int context,
int M,
int N,
double * A,
int lda,
int rsrc,
int csrc )

Receives a message from a process @prsrc, csrc into a general rectangular matrix.

https://software.intel.com/en-us/mkl-developer-reference-c-gerv2d

◆ Cdgesd2d()

void dftfe::Cdgesd2d ( int context,
int M,
int N,
double * A,
int lda,
int rdest,
int cdest )

Sends the general rectangular matrix A to the destination process rdest cdest in the process grid.

https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-gesd2d

◆ Cgerv2d() [1/3]

void dftfe::Cgerv2d ( int context,
int M,
int N,
double * A,
int lda,
int rsrc,
int csrc )
inline

◆ Cgerv2d() [2/3]

void dftfe::Cgerv2d ( int context,
int M,
int N,
float * A,
int lda,
int rsrc,
int csrc )
inline

◆ Cgerv2d() [3/3]

template<typename number>
void dftfe::Cgerv2d ( int ,
int ,
int ,
number * ,
int ,
int ,
int  )
inline

◆ Cgesd2d() [1/3]

void dftfe::Cgesd2d ( int context,
int M,
int N,
double * A,
int lda,
int rdest,
int cdest )
inline

◆ Cgesd2d() [2/3]

void dftfe::Cgesd2d ( int context,
int M,
int N,
float * A,
int lda,
int rdest,
int cdest )
inline

◆ Cgesd2d() [3/3]

template<typename number>
void dftfe::Cgesd2d ( int ,
int ,
int ,
number * ,
int ,
int ,
int  )
inline

◆ computeAuxProjectedDensityMatrixFromPSI()

template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void dftfe::computeAuxProjectedDensityMatrixFromPSI ( const dftfe::utils::MemoryStorage< NumberType, memorySpace > & X,
const unsigned int totalNumWaveFunctions,
const std::vector< std::vector< double > > & partialOccupancies,
std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > & basisOperationsPtr,
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > & BLASWrapperPtr,
const unsigned int matrixFreeDofhandlerIndex,
const unsigned int quadratureIndex,
const std::vector< double > & kPointWeights,
AuxDensityMatrix< memorySpace > & auxDensityMatrixRepresentation,
const MPI_Comm & mpiCommParent,
const MPI_Comm & domainComm,
const MPI_Comm & interpoolcomm,
const MPI_Comm & interBandGroupComm,
const dftParameters & dftParams )

◆ computeKineticEnergyDensity()

template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void dftfe::computeKineticEnergyDensity ( const dftfe::linearAlgebra::BLASWrapper< memorySpace > & BLASWrapperPtr,
const dftfe::utils::MemoryStorage< NumberType, memorySpace > * X,
const unsigned int totalNumWaveFunctions,
const std::vector< std::vector< double > > & partialOccupancies,
std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > & basisOperationsPtr,
const unsigned int quadratureIndex,
const std::vector< double > & kPointCoords,
const std::vector< double > & kPointWeights,
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & kineticEnergyDensityValues,
const MPI_Comm & mpiCommParent,
const MPI_Comm & interpoolcomm,
const MPI_Comm & interBandGroupComm,
const MPI_Comm & mpiCommDomain,
const dftParameters & dftParams )

◆ computeKineticEnergyDensityFromInterpolatedValues()

template<typename NumberType>
void dftfe::computeKineticEnergyDensityFromInterpolatedValues ( const dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > & BLASWrapperPtr,
const std::pair< unsigned int, unsigned int > cellRange,
const std::pair< unsigned int, unsigned int > vecRange,
const unsigned int nQuadsPerCell,
double * partialOccupVec,
double * kcoord,
NumberType * wfcQuadPointData,
NumberType * gradWfcQuadPointData,
double * kineticCellsWfcContributions,
double * kineticEnergyDensity,
const MPI_Comm & mpiCommDomain )

◆ computeRhoFirstOrderResponse()

template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void dftfe::computeRhoFirstOrderResponse ( const dftfe::utils::MemoryStorage< NumberType, memorySpace > & X,
const dftfe::utils::MemoryStorage< NumberType, memorySpace > & XPrime,
const unsigned int totalNumWaveFunctions,
const std::vector< std::vector< double > > & densityMatDerFermiEnergy,
std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > & basisOperationsPtr,
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > & BLASWrapperPtr,
const unsigned int matrixFreeDofhandlerIndex,
const unsigned int quadratureIndex,
const std::vector< double > & kPointWeights,
std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > & rhoResponseValuesHam,
std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > & rhoResponseValuesFermiEnergy,
const MPI_Comm & mpiCommParent,
const MPI_Comm & interpoolcomm,
const MPI_Comm & interBandGroupComm,
const dftParameters & dftParams )

◆ computeRhoFromPSI()

template<typename NumberType, dftfe::utils::MemorySpace memorySpace>
void dftfe::computeRhoFromPSI ( const dftfe::utils::MemoryStorage< NumberType, memorySpace > * X,
const unsigned int totalNumWaveFunctions,
const std::vector< std::vector< double > > & partialOccupancies,
std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > & basisOperationsPtr,
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > & BLASWrapperPtr,
const unsigned int matrixFreeDofhandlerIndex,
const unsigned int quadratureIndex,
const std::vector< double > & kPointWeights,
std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > & densityValues,
std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > & gradDensityValues,
const bool isEvaluateGradRho,
const MPI_Comm & mpiCommParent,
const MPI_Comm & interpoolcomm,
const MPI_Comm & interBandGroupComm,
const dftParameters & dftParams )

◆ computeRhoGradRhoFromInterpolatedValues()

template<typename NumberType>
void dftfe::computeRhoGradRhoFromInterpolatedValues ( std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > & BLASWrapperPtr,
const std::pair< unsigned int, unsigned int > cellRange,
const std::pair< unsigned int, unsigned int > vecRange,
const unsigned int nQuadsPerCell,
double * partialOccupVec,
NumberType * wfcQuadPointData,
NumberType * gradWfcQuadPointData,
double * rhoCellsWfcContributions,
double * gradRhoCellsWfcContributions,
double * rho,
double * gradRho,
const bool isEvaluateGradRho )

◆ computeRhoResponseFromInterpolatedValues()

template<typename NumberType>
void dftfe::computeRhoResponseFromInterpolatedValues ( std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > & BLASWrapperPtr,
const std::pair< unsigned int, unsigned int > cellRange,
const std::pair< unsigned int, unsigned int > vecRange,
const unsigned int nQuadsPerCell,
double * onesVec,
double * partialOccupPrimeVec,
NumberType * wfcQuadPointData,
NumberType * wfcPrimeQuadPointData,
double * rhoResponseHamCellsWfcContributions,
double * rhoResponseFermiEnergyCellsWfcContributions,
double * rhoResponseHam,
double * rhoResponseFermiEnergy )

◆ Csgerv2d()

void dftfe::Csgerv2d ( int context,
int M,
int N,
float * A,
int lda,
int rsrc,
int csrc )

◆ Csgesd2d()

void dftfe::Csgesd2d ( int context,
int M,
int N,
float * A,
int lda,
int rdest,
int cdest )

◆ Csys2blacs_handle()

int dftfe::Csys2blacs_handle ( MPI_Comm comm)

Get BLACS context from MPI comm.

◆ descinit_()

void dftfe::descinit_ ( int * desc,
const int * m,
const int * n,
const int * mb,
const int * nb,
const int * irsrc,
const int * icsrc,
const int * ictxt,
const int * lld,
int * info )

Initialize the descriptor vector with the 8 input arguments

◆ iceil_()

int dftfe::iceil_ ( const int * i1,
const int * i2 )

Return the ceiling of the division of two integers.

http://www.netlib.org/scalapack/explore-html/df/d07/iceil_8f_source.html

◆ ilcm_()

int dftfe::ilcm_ ( const int * M,
const int * N )

Compute the Least Common Multiple (LCM) of two positive integers M and N. In fact the routine Compute the greatest common divisor (GCD) and use the fact that M*N = GCD*LCM.

http://www.netlib.org/scalapack/explore-html/d0/d9b/ilcm_8f_source.html

◆ indxg2p_()

int dftfe::indxg2p_ ( const int * glob,
const int * nb,
const int * iproc,
const int * isproc,
const int * nprocs )

Compute the process coordinate which possesses the entry of a distributed matrix specified by a global index

◆ indxl2g_()

int dftfe::indxl2g_ ( const int * indxloc,
const int * nb,
const int * iproc,
const int * isrcproc,
const int * nprocs )

Compute the global index of a distributed matrix entry pointed to by the local index indxloc of the process indicated by iproc.

Parameters
indxlocThe local index of the distributed matrix entry.
nbBlock size, size of the blocks the distributed matrix is split into.
iprocThe coordinate of the process whose local array row or column is to be determined
isrcprocThe coordinate of the process that possesses the first row/column of the distributed matrix
nprocsThe total number processes over which the distributed matrix is distributed

◆ lworkFromWork() [1/3]

int dftfe::lworkFromWork ( std::vector< double > & work)
inline

◆ lworkFromWork() [2/3]

int dftfe::lworkFromWork ( std::vector< float > & work)
inline

◆ lworkFromWork() [3/3]

int dftfe::lworkFromWork ( std::vector< std::complex< double > > & work)
inline

◆ numroc_()

int dftfe::numroc_ ( const int * n,
const int * nb,
const int * iproc,
const int * isproc,
const int * nprocs )

Compute how many rows and columns each process owns (NUMber of Rows Or Columns).

https://www.ibm.com/support/knowledgecenter/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_dnumy.htm

◆ pdgeadd_()

void dftfe::pdgeadd_ ( const char * transa,
const int * m,
const int * n,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ pdgels_()

void dftfe::pdgels_ ( const char * trans,
const int * m,
const int * n,
const int * nrhs,
double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb,
double * work,
int * lwork,
int * info )

◆ pdgemm_()

void dftfe::pdgemm_ ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * B,
const int * IB,
const int * JB,
const int * DESCB,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )

Perform one of the matrix-matrix operations:

\begin{align*}\mathrm{sub}(C) &\dealcoloneq \alpha
op(\mathrm{sub}(A))op(\mathrm{sub}(B))
                           + \beta \mathrm{sub}(C), \\
\mathrm{sub}(C) &\dealcoloneq \alpha
op(\mathrm{sub}(A))op(\mathrm{sub}(B))
                           + beta sub(C),
\end{align*}

where $\mathrm{sub}(C)$ denotes C(IC:IC+M-1,JC:JC+N-1), and, $op(X)$ is one of $op(X) = X$ or $op(X) = X^T$.

◆ pdgemr2d_()

void dftfe::pdgemr2d_ ( const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb,
const int * ictxt )

Copies the content of a general rectangular distributed matrix A to another distributed matrix B It is not required that the matrices A and B have the same process grid or block size, e.g. copying a matrix from a one-dimensional to a two-dimensional process grid ictxt is a context which is at least a union of all processes in context A and B

◆ pdgesv_()

void dftfe::pdgesv_ ( const int * n,
const int * nrhs,
double * A,
const int * ia,
const int * ja,
const int * desca,
int * ipiv,
double * B,
const int * ib,
const int * jb,
const int * descb,
int * info )

Compute the solution to a real system of linear equations

◆ pdgesvd_()

void dftfe::pdgesvd_ ( const char * jobu,
const char * jobvt,
const int * m,
const int * n,
double * A,
const int * ia,
const int * ja,
const int * desca,
double * S,
double * U,
const int * iu,
const int * ju,
const int * descu,
double * VT,
const int * ivt,
const int * jvt,
const int * descvt,
double * work,
int * lwork,
int * info )

◆ pdgetrf_()

void dftfe::pdgetrf_ ( const int * m,
const int * n,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )

◆ pdgetri_()

void dftfe::pdgetri_ ( const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

PDGETRI computes the inverse of a distributed matrix using the LU factorization computed by PDGETRF. This method inverts U and then computes the inverse of sub( A ) = A(IA:IA+N-1,JA:JA+N-1) denoted InvA by solving the system InvA*L = inv(U) for InvA.

http://www.netlib.org/scalapack/explore-html/d3/df3/pdgetri_8f_source.html https://www.ibm.com/support/knowledgecenter/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_lgetri.htm

◆ pdlacpy_()

void dftfe::pdlacpy_ ( const char * uplo,
const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb )

Copy all or a part of a distributed matrix A to another distributed matrix B. No communication is performed, pdlacpy performs a local copy $\mathrm{sub}(A) \dealcoloneq \mathrm{sub}(B)$, where $\mathrm{sub}(A)$ denotes $A(ia:ia+m-1, ja:ja+n-1)$ and $\mathrm{sub}(B)$ denotes $B(ib:ib+m-1, jb:jb+n-1)$.

◆ pdlamch_()

double dftfe::pdlamch_ ( const int * ictxt,
const char * cmach )

helper routines determining machine precision

◆ pdlange_()

double dftfe::pdlange_ ( char const * norm,
const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * work )

Return the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a distributed matrix

◆ pdlansy_()

double dftfe::pdlansy_ ( const char * norm,
const char * uplo,
const int * N,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
double * work )

◆ pdpocon_()

void dftfe::pdpocon_ ( const char * uplo,
const int * N,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * ANORM,
double * RCOND,
double * WORK,
const int * LWORK,
int * IWORK,
const int * LIWORK,
int * INFO )

◆ pdpotrf_()

void dftfe::pdpotrf_ ( const char * UPLO,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

Compute the Cholesky factorization of an N-by-N real symmetric positive definite distributed matrix sub( A ) denoting A(IA:IA+N-1, JA:JA+N-1).

http://www.netlib.org/scalapack/explore-html/d5/d9e/pdpotrf_8f_source.html https://www.ibm.com/support/knowledgecenter/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_lpotrf.htm

◆ pdpotri_()

void dftfe::pdpotri_ ( const char * UPLO,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

Compute the inverse of a real symmetric positive definite distributed matrix sub( A ) = A(IA:IA+N-1,JA:JA+N-1) using the Cholesky factorization sub( A ) = U**T*U or L*L**T computed by PDPOTRF.

http://www.netlib.org/scalapack/explore-html/d2/d44/pdpotri_8f_source.html https://www.ibm.com/support/knowledgecenter/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_lpotri.htm https://software.intel.com/en-us/mkl-developer-reference-c-p-potri

◆ pdsyev_()

void dftfe::pdsyev_ ( const char * jobz,
const char * uplo,
const int * m,
double * A,
const int * ia,
const int * ja,
int * desca,
double * w,
double * z,
const int * iz,
const int * jz,
int * descz,
double * work,
const int * lwork,
int * info )

Compute all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A by calling the recommended sequence of ScaLAPACK routines. In its present form, the routine assumes a homogeneous system and makes no checks for consistency of the eigenvalues or eigenvectors across the different processes. Because of this, it is possible that a heterogeneous system may return incorrect results without any error messages.

http://www.netlib.org/scalapack/explore-html/d0/d1a/pdsyev_8f.html https://www.ibm.com/support/knowledgecenter/SSNR5K_4.2.0/com.ibm.cluster.pessl.v4r2.pssl100.doc/am6gr_lsyev.htm#lsyev

◆ pdsyevr_()

void dftfe::pdsyevr_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * VL,
const double * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
double * w,
double * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

psyevr computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A using a parallel implementation of the MRR algorithm. Eigenvalues/vectors can be selected by specifying a range of values or a range of indices for the desired eigenvalues.

◆ pdsyevx_()

void dftfe::pdsyevx_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
double * A,
const int * ia,
const int * ja,
const int * desca,
const double * VL,
const double * VU,
const int * il,
const int * iu,
const double * abstol,
const int * m,
const int * nz,
double * w,
double * orfac,
double * Z,
const int * iz,
const int * jz,
const int * descz,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
double * gap,
int * info )

psyevx computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. Eigenvalues/vectors can be selected by specifying a range of values or a range of indices for the desired eigenvalues.

◆ pdtran_()

void dftfe::pdtran_ ( const int * m,
const int * n,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )

Routine to transpose a matrix: C = beta C + alpha A^T

◆ pdtrtri_()

void dftfe::pdtrtri_ ( const char * UPLO,
const char * DIAG,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ pgeadd() [1/4]

template<typename number>
void dftfe::pgeadd ( const char * ,
const int * ,
const int * ,
const number * ,
const number * ,
const int * ,
const int * ,
const int * ,
const number * ,
number * ,
const int * ,
const int * ,
const int *  )
inline

◆ pgeadd() [2/4]

void dftfe::pgeadd ( const char * transa,
const int * m,
const int * n,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgeadd() [3/4]

void dftfe::pgeadd ( const char * transa,
const int * m,
const int * n,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgeadd() [4/4]

void dftfe::pgeadd ( const char * transa,
const int * m,
const int * n,
const std::complex< double > * alpha,
const std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const std::complex< double > * beta,
std::complex< double > * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgels() [1/3]

template<typename number>
void dftfe::pgels ( const char * ,
const int * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
int * ,
int *  )
inline

◆ pgels() [2/3]

void dftfe::pgels ( const char * trans,
const int * m,
const int * n,
const int * nrhs,
double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb,
double * work,
int * lwork,
int * info )
inline

◆ pgels() [3/3]

void dftfe::pgels ( const char * trans,
const int * m,
const int * n,
const int * nrhs,
float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb,
float * work,
int * lwork,
int * info )
inline

◆ pgemm() [1/4]

template<typename number>
void dftfe::pgemm ( const char * ,
const char * ,
const int * ,
const int * ,
const int * ,
const number * ,
const number * ,
const int * ,
const int * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
const number * ,
number * ,
const int * ,
const int * ,
const int *  )
inline

◆ pgemm() [2/4]

void dftfe::pgemm ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * B,
const int * IB,
const int * JB,
const int * DESCB,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgemm() [3/4]

void dftfe::pgemm ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * B,
const int * IB,
const int * JB,
const int * DESCB,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgemm() [4/4]

void dftfe::pgemm ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const std::complex< double > * alpha,
const std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const std::complex< double > * B,
const int * IB,
const int * JB,
const int * DESCB,
const std::complex< double > * beta,
std::complex< double > * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ pgemr2d() [1/3]

template<typename number>
void dftfe::pgemr2d ( const int * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
const int *  )
inline

◆ pgemr2d() [2/3]

void dftfe::pgemr2d ( const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb,
const int * ictxt )
inline

◆ pgemr2d() [3/3]

void dftfe::pgemr2d ( const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb,
const int * ictxt )
inline

◆ pgesv() [1/3]

template<typename number>
void dftfe::pgesv ( const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
int * ,
number * ,
const int * ,
const int * ,
const int * ,
int *  )
inline

◆ pgesv() [2/3]

void dftfe::pgesv ( const int * n,
const int * nrhs,
double * A,
const int * ia,
const int * ja,
const int * desca,
int * ipiv,
double * B,
const int * ib,
const int * jb,
const int * descb,
int * info )
inline

◆ pgesv() [3/3]

void dftfe::pgesv ( const int * n,
const int * nrhs,
float * A,
const int * ia,
const int * ja,
const int * desca,
int * ipiv,
float * B,
const int * ib,
const int * jb,
const int * descb,
int * info )
inline

◆ pgesvd() [1/3]

template<typename number>
void dftfe::pgesvd ( const char * ,
const char * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
int * ,
int *  )
inline

◆ pgesvd() [2/3]

void dftfe::pgesvd ( const char * jobu,
const char * jobvt,
const int * m,
const int * n,
double * A,
const int * ia,
const int * ja,
const int * desca,
double * S,
double * U,
const int * iu,
const int * ju,
const int * descu,
double * VT,
const int * ivt,
const int * jvt,
const int * descvt,
double * work,
int * lwork,
int * info )
inline

◆ pgesvd() [3/3]

void dftfe::pgesvd ( const char * jobu,
const char * jobvt,
const int * m,
const int * n,
float * A,
const int * ia,
const int * ja,
const int * desca,
float * S,
float * U,
const int * iu,
const int * ju,
const int * descu,
float * VT,
const int * ivt,
const int * jvt,
const int * descvt,
float * work,
int * lwork,
int * info )
inline

◆ pgetrf() [1/4]

template<typename number>
void dftfe::pgetrf ( const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
int * ,
int *  )
inline

◆ pgetrf() [2/4]

void dftfe::pgetrf ( const int * m,
const int * n,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )
inline

◆ pgetrf() [3/4]

void dftfe::pgetrf ( const int * m,
const int * n,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )
inline

◆ pgetrf() [4/4]

void dftfe::pgetrf ( const int * m,
const int * n,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )
inline

◆ pgetri() [1/4]

template<typename number>
void dftfe::pgetri ( const int * ,
number * ,
const int * ,
const int * ,
const int * ,
const int * ,
number * ,
int * ,
int * ,
int * ,
int *  )
inline

◆ pgetri() [2/4]

void dftfe::pgetri ( const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ pgetri() [3/4]

void dftfe::pgetri ( const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ pgetri() [4/4]

void dftfe::pgetri ( const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ placpy() [1/3]

template<typename number>
void dftfe::placpy ( const char * ,
const int * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
const int *  )
inline

◆ placpy() [2/3]

void dftfe::placpy ( const char * uplo,
const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * B,
const int * ib,
const int * jb,
const int * descb )
inline

◆ placpy() [3/3]

void dftfe::placpy ( const char * uplo,
const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb )
inline

◆ plamch() [1/3]

template<typename number>
void dftfe::plamch ( const int * ,
const char * ,
number &  )
inline

◆ plamch() [2/3]

void dftfe::plamch ( const int * ictxt,
const char * cmach,
double & val )
inline

◆ plamch() [3/3]

void dftfe::plamch ( const int * ictxt,
const char * cmach,
float & val )
inline

◆ plange() [1/3]

template<typename number>
number dftfe::plange ( const char * ,
const int * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
number *  )
inline

◆ plange() [2/3]

double dftfe::plange ( const char * norm,
const int * m,
const int * n,
const double * A,
const int * ia,
const int * ja,
const int * desca,
double * work )
inline

◆ plange() [3/3]

float dftfe::plange ( const char * norm,
const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * work )
inline

◆ plansy() [1/3]

template<typename number>
number dftfe::plansy ( const char * ,
const char * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
number *  )
inline

◆ plansy() [2/3]

double dftfe::plansy ( const char * norm,
const char * uplo,
const int * N,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
double * work )
inline

◆ plansy() [3/3]

float dftfe::plansy ( const char * norm,
const char * uplo,
const int * N,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
float * work )
inline

◆ pplacgv() [1/2]

void dftfe::pplacgv ( const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * INCX )
inline

◆ pplacgv() [2/2]

void dftfe::pplacgv ( const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * INCX )
inline

◆ ppocon() [1/3]

template<typename number>
void dftfe::ppocon ( const char * ,
const int * ,
const number * ,
const int * ,
const int * ,
const int * ,
const number * ,
number * ,
number * ,
const int * ,
int * ,
const int * ,
int *  )
inline

◆ ppocon() [2/3]

void dftfe::ppocon ( const char * uplo,
const int * N,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * ANORM,
double * RCOND,
double * WORK,
const int * LWORK,
int * IWORK,
const int * LIWORK,
int * INFO )
inline

◆ ppocon() [3/3]

void dftfe::ppocon ( const char * uplo,
const int * N,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * ANORM,
float * RCOND,
float * WORK,
const int * LWORK,
int * IWORK,
const int * LIWORK,
int * INFO )
inline

◆ ppotrf() [1/4]

template<typename number>
void dftfe::ppotrf ( const char * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
int *  )
inline

◆ ppotrf() [2/4]

void dftfe::ppotrf ( const char * UPLO,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ppotrf() [3/4]

void dftfe::ppotrf ( const char * UPLO,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ppotrf() [4/4]

void dftfe::ppotrf ( const char * UPLO,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ppotri() [1/4]

template<typename number>
void dftfe::ppotri ( const char * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
int *  )
inline

◆ ppotri() [2/4]

void dftfe::ppotri ( const char * UPLO,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ppotri() [3/4]

void dftfe::ppotri ( const char * UPLO,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ppotri() [4/4]

void dftfe::ppotri ( const char * UPLO,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ psgeadd_()

void dftfe::psgeadd_ ( const char * transa,
const int * m,
const int * n,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ psgels_()

void dftfe::psgels_ ( const char * trans,
const int * m,
const int * n,
const int * nrhs,
float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb,
float * work,
int * lwork,
int * info )

◆ psgemm_()

void dftfe::psgemm_ ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * B,
const int * IB,
const int * JB,
const int * DESCB,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ psgemr2d_()

void dftfe::psgemr2d_ ( const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb,
const int * ictxt )

◆ psgesv_()

void dftfe::psgesv_ ( const int * n,
const int * nrhs,
float * A,
const int * ia,
const int * ja,
const int * desca,
int * ipiv,
float * B,
const int * ib,
const int * jb,
const int * descb,
int * info )

◆ psgesvd_()

void dftfe::psgesvd_ ( const char * jobu,
const char * jobvt,
const int * m,
const int * n,
float * A,
const int * ia,
const int * ja,
const int * desca,
float * S,
float * U,
const int * iu,
const int * ju,
const int * descu,
float * VT,
const int * ivt,
const int * jvt,
const int * descvt,
float * work,
int * lwork,
int * info )

◆ psgetrf_()

void dftfe::psgetrf_ ( const int * m,
const int * n,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )

◆ psgetri_()

void dftfe::psgetri_ ( const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

◆ pslacpy_()

void dftfe::pslacpy_ ( const char * uplo,
const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * B,
const int * ib,
const int * jb,
const int * descb )

◆ pslamch_()

float dftfe::pslamch_ ( const int * ictxt,
const char * cmach )

◆ pslange_()

float dftfe::pslange_ ( const char * norm,
const int * m,
const int * n,
const float * A,
const int * ia,
const int * ja,
const int * desca,
float * work )

◆ pslansy_()

float dftfe::pslansy_ ( const char * norm,
const char * uplo,
const int * N,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
float * work )

◆ pspocon_()

void dftfe::pspocon_ ( const char * uplo,
const int * N,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * ANORM,
float * RCOND,
float * WORK,
const int * LWORK,
int * IWORK,
const int * LIWORK,
int * INFO )

◆ pspotrf_()

void dftfe::pspotrf_ ( const char * UPLO,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ pspotri_()

void dftfe::pspotri_ ( const char * UPLO,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ pssyev_()

void dftfe::pssyev_ ( const char * jobz,
const char * uplo,
const int * m,
float * A,
const int * ia,
const int * ja,
int * desca,
float * w,
float * z,
const int * iz,
const int * jz,
int * descz,
float * work,
const int * lwork,
int * info )

◆ pssyevr_()

void dftfe::pssyevr_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * VL,
const float * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
float * w,
float * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

◆ pssyevx_()

void dftfe::pssyevx_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
float * A,
const int * ia,
const int * ja,
const int * desca,
const float * VL,
const float * VU,
const int * il,
const int * iu,
const float * abstol,
const int * m,
const int * nz,
float * w,
float * orfac,
float * Z,
const int * iz,
const int * jz,
const int * descz,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
float * gap,
int * info )

◆ pstran_()

void dftfe::pstran_ ( const int * m,
const int * n,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ pstrtri_()

void dftfe::pstrtri_ ( const char * UPLO,
const char * DIAG,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ psyev() [1/4]

template<typename number>
void dftfe::psyev ( const char * ,
const char * ,
const int * ,
number * ,
const int * ,
const int * ,
int * ,
number * ,
number * ,
const int * ,
const int * ,
int * ,
number * ,
const int * ,
int *  )
inline

◆ psyev() [2/4]

void dftfe::psyev ( const char * jobz,
const char * uplo,
const int * m,
double * A,
const int * ia,
const int * ja,
int * desca,
double * w,
double * z,
const int * iz,
const int * jz,
int * descz,
double * work,
const int * lwork,
int * info )
inline

◆ psyev() [3/4]

void dftfe::psyev ( const char * jobz,
const char * uplo,
const int * m,
float * A,
const int * ia,
const int * ja,
int * desca,
float * w,
float * z,
const int * iz,
const int * jz,
int * descz,
float * work,
const int * lwork,
int * info )
inline

◆ psyev() [4/4]

void dftfe::psyev ( const char * jobz,
const char * uplo,
const int * m,
std::complex< double > * A,
const int * ia,
const int * ja,
int * desca,
double * w,
std::complex< double > * z,
const int * iz,
const int * jz,
int * descz,
std::complex< double > * work,
const int * lwork,
int * info )
inline

◆ psyevr() [1/4]

template<typename number>
void dftfe::psyevr ( const char * ,
const char * ,
const char * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
const number * ,
const number * ,
const int * ,
const int * ,
int * ,
int * ,
number * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
int * ,
int * ,
int * ,
int *  )
inline

◆ psyevr() [2/4]

void dftfe::psyevr ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * VL,
const double * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
double * w,
double * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ psyevr() [3/4]

void dftfe::psyevr ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * VL,
const float * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
float * w,
float * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ psyevr() [4/4]

void dftfe::psyevr ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * VL,
const double * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
double * w,
std::complex< double > * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * info )
inline

◆ psyevx() [1/4]

template<typename number>
void dftfe::psyevx ( const char * ,
const char * ,
const char * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
number * ,
const int * ,
const int * ,
number * ,
const int * ,
const int * ,
number * ,
number * ,
number * ,
const int * ,
const int * ,
const int * ,
number * ,
int * ,
int * ,
int * ,
int * ,
int * ,
number * ,
int *  )
inline

◆ psyevx() [2/4]

void dftfe::psyevx ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
double * A,
const int * ia,
const int * ja,
const int * desca,
double * VL,
double * VU,
const int * il,
const int * iu,
double * abstol,
const int * m,
const int * nz,
double * w,
double * orfac,
double * Z,
const int * iz,
const int * jz,
const int * descz,
double * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
double * gap,
int * info )
inline

◆ psyevx() [3/4]

void dftfe::psyevx ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
float * A,
const int * ia,
const int * ja,
const int * desca,
float * VL,
float * VU,
const int * il,
const int * iu,
float * abstol,
const int * m,
const int * nz,
float * w,
float * orfac,
float * Z,
const int * iz,
const int * jz,
const int * descz,
float * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
float * gap,
int * info )
inline

◆ psyevx() [4/4]

void dftfe::psyevx ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
std::complex< double > * A,
const int * ia,
const int * ja,
const int * desca,
double * VL,
double * VU,
const int * il,
const int * iu,
double * abstol,
const int * m,
const int * nz,
double * w,
double * orfac,
std::complex< double > * Z,
const int * iz,
const int * jz,
const int * descz,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
double * gap,
int * info )
inline

◆ ptran() [1/3]

template<typename number>
void dftfe::ptran ( const int * ,
const int * ,
const number * ,
const number * ,
const int * ,
const int * ,
const int * ,
const number * ,
number * ,
const int * ,
const int * ,
const int *  )
inline

◆ ptran() [2/3]

void dftfe::ptran ( const int * m,
const int * n,
const double * alpha,
const double * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * beta,
double * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ ptran() [3/3]

void dftfe::ptran ( const int * m,
const int * n,
const float * alpha,
const float * A,
const int * IA,
const int * JA,
const int * DESCA,
const float * beta,
float * C,
const int * IC,
const int * JC,
const int * DESCC )
inline

◆ ptrtri() [1/4]

template<typename number>
void dftfe::ptrtri ( const char * ,
const char * ,
const int * ,
number * ,
const int * ,
const int * ,
const int * ,
int *  )
inline

◆ ptrtri() [2/4]

void dftfe::ptrtri ( const char * UPLO,
const char * DIAG,
const int * N,
double * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ptrtri() [3/4]

void dftfe::ptrtri ( const char * UPLO,
const char * DIAG,
const int * N,
float * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ ptrtri() [4/4]

void dftfe::ptrtri ( const char * UPLO,
const char * DIAG,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )
inline

◆ pzgeadd_()

void dftfe::pzgeadd_ ( const char * transa,
const int * m,
const int * n,
const std::complex< double > * alpha,
const std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const std::complex< double > * beta,
std::complex< double > * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ pzgemm_()

void dftfe::pzgemm_ ( const char * transa,
const char * transb,
const int * m,
const int * n,
const int * k,
const std::complex< double > * alpha,
const std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const std::complex< double > * B,
const int * IB,
const int * JB,
const int * DESCB,
const std::complex< double > * beta,
std::complex< double > * C,
const int * IC,
const int * JC,
const int * DESCC )

◆ pzgetrf_()

void dftfe::pzgetrf_ ( const int * m,
const int * n,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * ipiv,
int * INFO )

◆ pzgetri_()

void dftfe::pzgetri_ ( const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * ipiv,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

◆ pzheev_()

void dftfe::pzheev_ ( const char * jobz,
const char * uplo,
const int * m,
std::complex< double > * A,
const int * ia,
const int * ja,
int * desca,
double * w,
std::complex< double > * z,
const int * iz,
const int * jz,
int * descz,
std::complex< double > * work,
const int * lwork,
int * info )

◆ pzheevr_()

void dftfe::pzheevr_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const double * VL,
const double * VU,
const int * IL,
const int * IU,
int * m,
int * nz,
double * w,
std::complex< double > * Z,
const int * IZ,
const int * JZ,
const int * DESCZ,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * info )

◆ pzheevx_()

void dftfe::pzheevx_ ( const char * jobz,
const char * range,
const char * uplo,
const int * n,
std::complex< double > * A,
const int * ia,
const int * ja,
const int * desca,
const double * VL,
const double * VU,
const int * il,
const int * iu,
const double * abstol,
const int * m,
const int * nz,
double * w,
double * orfac,
std::complex< double > * Z,
const int * iz,
const int * jz,
const int * descz,
std::complex< double > * work,
int * lwork,
int * iwork,
int * liwork,
int * ifail,
int * iclustr,
double * gap,
int * info )

◆ pzlacgv_()

void dftfe::pzlacgv_ ( const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
const int * INCX )

Compute complex conjugate

◆ pzpotrf_()

void dftfe::pzpotrf_ ( const char * UPLO,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ pzpotri_()

void dftfe::pzpotri_ ( const char * UPLO,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ pztrtri_()

void dftfe::pztrtri_ ( const char * UPLO,
const char * DIAG,
const int * N,
std::complex< double > * A,
const int * IA,
const int * JA,
const int * DESCA,
int * INFO )

◆ scaleXRandComputeNormDevice()

void dftfe::scaleXRandComputeNormDevice ( double * x,
double * d_rvec,
double * d_devSum,
const double * d_qvec,
const double * d_dvec,
const double alpha,
const int N )

Combines scaling and norm.

Variable Documentation

◆ C_AngToBohr

const double dftfe::C_AngToBohr = 1.0 / 0.529177210903

◆ C_bohrToAng

const double dftfe::C_bohrToAng = 0.529177210903

◆ C_haPerBohrToeVPerAng

const double dftfe::C_haPerBohrToeVPerAng = 27.211386245988 / 0.529177210903

◆ C_haToeV

const double dftfe::C_haToeV = 27.211386245988

◆ C_kb

const double dftfe::C_kb = 3.166811429e-06

Boltzmann constant.

◆ C_pi

const double dftfe::C_pi = 3.14159265359