Skip to content

Commit 77055f2

Browse files
committed
Merge branch 'publicGithubDevelop' of https://bitbucket.org/dftfedevelopers/dftfe into publicGithubDevelop
2 parents aa5e8a0 + 5d12ba8 commit 77055f2

File tree

51 files changed

+796
-1150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+796
-1150
lines changed

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ SET(TARGET_SRC
182182
./src/dft/moveAtoms.cc
183183
./src/dft/moveMeshToAtoms.cc
184184
./src/dft/kerker.cc
185-
./src/dft/kineticEnergyDensityCalculator.cc
186185
./src/dft/pRefinedDoFHandler.cc
187186
./src/dft/psiInitialGuess.cc
188187
./src/dft/publicMethods.cc
@@ -244,7 +243,6 @@ SET(DEVICE_SRC
244243
./src/dft/densityCalculatorDeviceKernels.cc
245244
./src/dft/densityFirstOrderResponseCalculatorDeviceKernels.cc
246245
./src/dft/solveVselfInBinsDeviceKernels.cc
247-
./src/dft/kineticEnergyDensityCalculatorDeviceKernels.cc
248246
./src/linAlg/linearAlgebraOperationsDeviceKernels.cc
249247
./src/force/forceWfcContractionsDeviceKernels.cc
250248
./utils/constraintMatrixInfoDeviceKernels.cc
@@ -264,7 +262,6 @@ SET(DEVICE_SRC
264262
./src/dft/densityCalculatorDeviceKernels.cc
265263
./src/dft/densityFirstOrderResponseCalculatorDeviceKernels.cc
266264
./src/dft/solveVselfInBinsDeviceKernels.cc
267-
./src/dft/kineticEnergyDensityCalculatorDeviceKernels.cc
268265
./src/linAlg/linearAlgebraOperationsDeviceKernels.cc
269266
./src/force/forceWfcContractionsDeviceKernels.cc
270267
./utils/constraintMatrixInfoDeviceKernels.cc
@@ -284,7 +281,6 @@ SET(DEVICE_SRC
284281
./src/dft/densityCalculatorDeviceKernels.cc
285282
./src/dft/densityFirstOrderResponseCalculatorDeviceKernels.cc
286283
./src/dft/solveVselfInBinsDeviceKernels.cc
287-
./src/dft/kineticEnergyDensityCalculatorDeviceKernels.cc
288284
./src/linAlg/linearAlgebraOperationsDeviceKernels.cc
289285
./src/force/forceWfcContractionsDeviceKernels.cc
290286
./utils/constraintMatrixInfoDeviceKernels.cc

include/densityCalculatorDeviceKernels.h

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -79,23 +79,6 @@ namespace dftfe
7979
double *rhoResponseFermiEnergyCellsWfcContributions,
8080
double *rhoResponseHam,
8181
double *rhoResponseFermiEnergy);
82-
83-
template <typename NumberType>
84-
void
85-
computeKineticEnergyDensityFromInterpolatedValues(
86-
dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>
87-
&BLASWrapperPtr,
88-
const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
89-
const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
90-
const dftfe::uInt nQuadsPerCell,
91-
double *partialOccupVec,
92-
double *kcoord,
93-
NumberType *wfcQuadPointData,
94-
NumberType *gradWfcQuadPointData,
95-
double *kineticEnergyCellsWfcContributions,
96-
double *kineticEnergyDensity,
97-
const MPI_Comm &mpiCommDomain);
98-
9982
} // namespace dftfe
10083
#endif
10184
#endif

include/dft.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,6 +1504,7 @@ namespace dftfe
15041504
dftfe::uInt d_phiTotDofHandlerIndexElectro;
15051505
dftfe::uInt d_phiPrimeDofHandlerIndexElectro;
15061506
dftfe::uInt d_phiTotAXQuadratureIdElectro;
1507+
dftfe::uInt d_kerkerAXQuadratureIdElectro;
15071508
dftfe::uInt d_helmholtzDofHandlerIndexElectro;
15081509
dftfe::uInt d_binsStartDofHandlerIndexElectro;
15091510
dftfe::uInt d_densityQuadratureId;

include/feevaluationWrapper.h

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -105,19 +105,24 @@ namespace dftfe
105105
public:
106106
/// Constructor
107107
FEEvaluationWrapperClass(
108-
const dftfe::Int feOrder,
109-
const dftfe::Int quadrature,
110108
const dealii::MatrixFree<3, double> &matrixFreeData,
111109
const dftfe::uInt matrixFreeVectorComponent,
112110
const dftfe::uInt matrixFreeQuadratureComponent)
113-
: d_FEEvaluationObject(
114-
createFEEvaluationObject<components>(feOrder,
115-
quadrature,
116-
matrixFreeData,
117-
matrixFreeVectorComponent,
118-
matrixFreeQuadratureComponent))
119-
, n_q_points(matrixFreeData.get_n_q_points(matrixFreeQuadratureComponent))
120-
{}
111+
: n_q_points(matrixFreeData.get_n_q_points(matrixFreeQuadratureComponent))
112+
{
113+
dftfe::Int feOrder =
114+
matrixFreeData.get_dof_handler(matrixFreeVectorComponent)
115+
.get_fe()
116+
.tensor_degree();
117+
dftfe::Int quadrature = static_cast<dftfe::Int>(
118+
std::round(std::cbrt(static_cast<double>(n_q_points))));
119+
d_FEEvaluationObject = std::move(
120+
createFEEvaluationObject<components>(feOrder,
121+
quadrature,
122+
matrixFreeData,
123+
matrixFreeVectorComponent,
124+
matrixFreeQuadratureComponent));
125+
}
121126

122127
template <typename... Args>
123128
void

include/kerkerSolverProblem.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ namespace dftfe
5757
distributedCPUVec<double> &x,
5858
double kerkerMixingParameter,
5959
const dftfe::uInt matrixFreeVectorComponent,
60-
const dftfe::uInt matrixFreeQuadratureComponent);
60+
const dftfe::uInt matrixFreeQuadratureComponent,
61+
const dftfe::uInt matrixFreeAxQuadratureComponent);
6162

6263

6364

@@ -171,7 +172,7 @@ namespace dftfe
171172

172173
/// matrix free quadrature index
173174
dftfe::uInt d_matrixFreeQuadratureComponent;
174-
175+
dftfe::uInt d_matrixFreeAxQuadratureComponent;
175176

176177
/// pointer to electron density cell and grad residual data
177178
const dftfe::utils::MemoryStorage<double, dftfe::utils::MemorySpace::HOST>

include/kerkerSolverProblemDevice.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ namespace dftfe
6565
distributedCPUVec<double> &x,
6666
double kerkerMixingParameter,
6767
const dftfe::uInt matrixFreeVectorComponent,
68-
const dftfe::uInt matrixFreeQuadratureComponent);
68+
const dftfe::uInt matrixFreeQuadratureComponent,
69+
const dftfe::uInt matrixFreeAxQuadratureComponent);
6970

7071

7172
/**
@@ -200,6 +201,7 @@ namespace dftfe
200201

201202
/// matrix free quadrature index
202203
dftfe::uInt d_matrixFreeQuadratureComponent;
204+
dftfe::uInt d_matrixFreeAxQuadratureComponent;
203205

204206

205207
/// pointer to electron density cell and grad residual data

include/kineticEnergyDensityCalculator.h

Lines changed: 0 additions & 65 deletions
This file was deleted.

setupDevelopPetscMATRIX.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ fi
138138

139139
cd $out
140140

141+
141142
withComplex=OFF
142143
dealiiDir=$dealiiPetscRealDir
143144
echo -e "${Blu}Building Real executable in $build_type mode...${RCol}"
@@ -152,4 +153,5 @@ mkdir -p complex && cd complex
152153
cmake_configure "$SRC" && make -j8
153154
cd ..
154155

156+
155157
echo -e "${Blu}Build complete.${RCol}"

src/dft/charge.cc

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,9 @@ namespace dftfe
144144
const dealii::MatrixFree<3, double> &matrixFreeDataObject,
145145
const distributedCPUVec<double> &nodalField)
146146
{
147-
FEEvaluationWrapperClass<1> fe_evalField(
148-
d_dftParamsPtr->finiteElementPolynomialOrderRhoNodal,
149-
d_dftParamsPtr->densityQuadratureRule,
150-
matrixFreeDataObject,
151-
d_densityDofHandlerIndexElectro,
152-
d_densityQuadratureIdElectro);
147+
FEEvaluationWrapperClass<1> fe_evalField(matrixFreeDataObject,
148+
d_densityDofHandlerIndexElectro,
149+
d_densityQuadratureIdElectro);
153150
dealii::VectorizedArray<double> normValueVectorized =
154151
dealii::make_vectorized_array(0.0);
155152
const dftfe::uInt numQuadPoints = fe_evalField.n_q_points;
@@ -254,12 +251,9 @@ namespace dftfe
254251
const dftfe::uInt quadratureId)
255252

256253
{
257-
FEEvaluationWrapperClass<1> fe_evalField(
258-
d_dftParamsPtr->finiteElementPolynomialOrderRhoNodal,
259-
d_dftParamsPtr->densityQuadratureRule,
260-
matrixFreeDataObject,
261-
dofHandlerId,
262-
quadratureId);
254+
FEEvaluationWrapperClass<1> fe_evalField(matrixFreeDataObject,
255+
dofHandlerId,
256+
quadratureId);
263257
dealii::VectorizedArray<double> normValueVectorized =
264258
dealii::make_vectorized_array(0.0);
265259
const dftfe::uInt numQuadPoints = fe_evalField.n_q_points;
@@ -308,12 +302,9 @@ namespace dftfe
308302
const dftfe::uInt quadratureId)
309303

310304
{
311-
FEEvaluationWrapperClass<1> fe_evalField(
312-
d_dftParamsPtr->finiteElementPolynomialOrderRhoNodal,
313-
d_dftParamsPtr->densityQuadratureRule,
314-
matrixFreeDataObject,
315-
dofHandlerId,
316-
quadratureId);
305+
FEEvaluationWrapperClass<1> fe_evalField(matrixFreeDataObject,
306+
dofHandlerId,
307+
quadratureId);
317308
dealii::VectorizedArray<double> valueVectorized =
318309
dealii::make_vectorized_array(0.0);
319310
const dftfe::uInt numQuadPoints = fe_evalField.n_q_points;
@@ -470,8 +461,6 @@ namespace dftfe
470461
if (!d_smearedChargeMomentsComputed)
471462
{
472463
FEEvaluationWrapperClass<1> FEEvalb(
473-
d_dftParamsPtr->finiteElementPolynomialOrderRhoNodal,
474-
C_num1DQuadSmearedCharge() * C_numCopies1DQuadSmearedCharge(),
475464
matrixFreeDataObject,
476465
d_densityDofHandlerIndexElectro,
477466
d_smearedChargeQuadratureIdElectro);
@@ -535,12 +524,9 @@ namespace dftfe
535524
}
536525
}
537526
std::vector<double> moments(13, 0.0);
538-
FEEvaluationWrapperClass<1> FEEvalRho(
539-
d_dftParamsPtr->finiteElementPolynomialOrderRhoNodal,
540-
d_dftParamsPtr->densityQuadratureRule,
541-
matrixFreeDataObject,
542-
d_densityDofHandlerIndexElectro,
543-
d_densityQuadratureIdElectro);
527+
FEEvaluationWrapperClass<1> FEEvalRho(matrixFreeDataObject,
528+
d_densityDofHandlerIndexElectro,
529+
d_densityQuadratureIdElectro);
544530
for (dftfe::uInt iMacroCell = 0;
545531
iMacroCell < matrixFreeDataObject.n_cell_batches();
546532
++iMacroCell)

0 commit comments

Comments
 (0)