DFT-FE 1.3.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
KohnShamDFTOperatorKernels.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (c) 2017-2025 The Regents of the University of Michigan and DFT-FE
4// authors.
5//
6// This file is part of the DFT-FE code.
7//
8// The DFT-FE code is free software; you can use it, redistribute
9// it, and/or modify it under the terms of the GNU Lesser General
10// Public License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12// The full text of the license can be found in the file LICENSE at
13// the top level of the DFT-FE distribution.
14//
15// ---------------------------------------------------------------------
16//
17
18#ifndef kohnShamHamiltonianOperatorDeviceKernels_H_
19#define kohnShamHamiltonianOperatorDeviceKernels_H_
20
21
22#include <DataTypeOverloads.h>
23#include <DeviceAPICalls.h>
25#include <DeviceTypeConfig.h>
27#include <MemoryStorage.h>
28#include <memory>
29namespace dftfe
30{
31 namespace internal
32 {
33 template <dftfe::utils::MemorySpace memorySpace>
34 void
36 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
37 const dftfe::uInt numQuadsPerCell,
43
44 template <dftfe::utils::MemorySpace memorySpace>
45 void
47 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
48 const dftfe::uInt numQuadsPerCell,
49 const dftfe::Int spinIndex,
50 const dftfe::Int cellsTypeFlag,
55 &invJacobianEntries,
57 &gradientRhoSpinIndex,
59 &gradientRhoOtherSpinIndex,
61 &invJacderExcWithSigmaTimesGradRhoJxW);
62
63 template <dftfe::utils::MemorySpace memorySpace>
64 void
66 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
67 const dftfe::uInt numQuadsPerCell,
68 const dftfe::Int cellsTypeFlag,
73 &invJacobianEntries,
75 &invJacinvJacderExcWithTauJxW);
76 template <dftfe::utils::MemorySpace memorySpace>
77 void
79 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
80 const dftfe::uInt numQuadsPerCell,
81 const dftfe::Int cellsTypeFlag,
82 const dftfe::uInt offset,
88 &invJacobianEntries,
90 &halfKSquareTimesDerExcwithTauJxW,
92 &invJacKpointTimesderExcwithTauJxW);
93 }; // namespace internal
94} // namespace dftfe
95#endif
Definition MemoryStorage.h:33
Definition excManagerKernels.h:32
void computeVeffJxWEntries(const std::pair< dftfe::uInt, dftfe::uInt > cellRange, const dftfe::uInt numQuadsPerCell, const dftfe::utils::MemoryStorage< double, memorySpace > &phiVector, const dftfe::utils::MemoryStorage< double, memorySpace > &pdecVector, const dftfe::utils::MemoryStorage< double, memorySpace > &pdexVector, const dftfe::utils::MemoryStorage< double, memorySpace > &jxwVector, dftfe::utils::MemoryStorage< double, memorySpace > &VeffJxW)
void computeKPointDependenderExcWithTauJxWEntries(const std::pair< dftfe::uInt, dftfe::uInt > cellRange, const dftfe::uInt numQuadsPerCell, const dftfe::Int cellsTypeFlag, const dftfe::uInt offset, const dftfe::utils::MemoryStorage< double, memorySpace > &kPointCoordinate, const dftfe::utils::MemoryStorage< double, memorySpace > &pdecVector, const dftfe::utils::MemoryStorage< double, memorySpace > &pdexVector, const dftfe::utils::MemoryStorage< double, memorySpace > &jxwVector, const dftfe::utils::MemoryStorage< double, memorySpace > &invJacobianEntries, dftfe::utils::MemoryStorage< double, memorySpace > &halfKSquareTimesDerExcwithTauJxW, dftfe::utils::MemoryStorage< double, memorySpace > &invJacKpointTimesderExcwithTauJxW)
void computeHalfInvJacinvJacderExcWithTauJxWEntries(const std::pair< dftfe::uInt, dftfe::uInt > cellRange, const dftfe::uInt numQuadsPerCell, const dftfe::Int cellsTypeFlag, const dftfe::utils::MemoryStorage< double, memorySpace > &pdecVector, const dftfe::utils::MemoryStorage< double, memorySpace > &pdexVector, const dftfe::utils::MemoryStorage< double, memorySpace > &jxwVector, const dftfe::utils::MemoryStorage< double, memorySpace > &invJacobianEntries, dftfe::utils::MemoryStorage< double, memorySpace > &invJacinvJacderExcWithTauJxW)
void computeInvJacderExcWithSigmaTimesGradRhoJxWEntries(const std::pair< dftfe::uInt, dftfe::uInt > cellRange, const dftfe::uInt numQuadsPerCell, const dftfe::Int spinIndex, const dftfe::Int cellsTypeFlag, const dftfe::utils::MemoryStorage< double, memorySpace > &pdecVector, const dftfe::utils::MemoryStorage< double, memorySpace > &pdexVector, const dftfe::utils::MemoryStorage< double, memorySpace > &jxwVector, const dftfe::utils::MemoryStorage< double, memorySpace > &invJacobianEntries, const dftfe::utils::MemoryStorage< double, memorySpace > &gradientRhoSpinIndex, const dftfe::utils::MemoryStorage< double, memorySpace > &gradientRhoOtherSpinIndex, dftfe::utils::MemoryStorage< double, memorySpace > &invJacderExcWithSigmaTimesGradRhoJxW)
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
std::int32_t Int
Definition TypeConfig.h:11