DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
functionalTest.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 DFTFE_FUNCTIONALTEST_H
19#define DFTFE_FUNCTIONALTEST_H
20
21#include "headers.h"
22#include "BLASWrapper.h"
23#include "FEBasisOperations.h"
24#include "dftParameters.h"
25
27{
28 void
30 const std::shared_ptr<dftfe::linearAlgebra::BLASWrapper<
31 dftfe::utils::MemorySpace::HOST>> BLASWrapperPtr,
32 const MPI_Comm & mpi_comm_parent,
33 const MPI_Comm & mpi_comm_domain,
34 const MPI_Comm & interpoolcomm,
35 const MPI_Comm & interbandgroup_comm,
36 const unsigned int FEOrder,
37 const dftfe::dftParameters & dftParams,
38 const std::vector<std::vector<double>> &atomLocations,
39 const std::vector<std::vector<double>> &imageAtomLocations,
40 const std::vector<int> & imageIds,
41 const std::vector<double> & nearestAtomDistances,
42 const std::vector<std::vector<double>> &domainBoundingVectors,
43 const bool generateSerialTria,
44 const bool generateElectrostaticsTria);
45
46 // template <dftfe::utils::MemorySpace memorySpace>
47 void
49 const std::shared_ptr<
51 FEBasisOperations<double, double, dftfe::utils::MemorySpace::HOST>>
52 & basisOperationsPtr,
53 dealii::MatrixFree<3, double> &matrixFreeData,
54 std::shared_ptr<
56 BLASWrapperPtr,
57 std::vector<const dealii::AffineConstraints<double> *> &constraintMatrixVec,
59 & inputVec,
60 const unsigned int matrixFreeVectorComponent,
61 const unsigned int matrixFreeQuadratureComponentRhsDensity,
62 const unsigned int matrixFreeQuadratureComponentAX,
63 const unsigned int verbosity,
64 const MPI_Comm & mpi_comm_parent,
65 const MPI_Comm & mpi_comm_domain);
66
67 void
68 testAccumulateInsert(const MPI_Comm &mpiComm);
69
70} // end of namespace functionalTest
71
72#endif // DFTFE_FUNCTIONALTEST_H
Namespace which declares the input parameters and the functions to parse them from the input paramete...
Definition dftParameters.h:35
Definition BLASWrapper.h:35
Definition MemoryStorage.h:33
Definition FEBasisOperations.h:30
@ HOST
Definition MemorySpaceType.h:34
Definition functionalTest.h:27
void testMultiVectorPoissonSolver(const std::shared_ptr< dftfe::basis::FEBasisOperations< double, double, dftfe::utils::MemorySpace::HOST > > &basisOperationsPtr, dealii::MatrixFree< 3, double > &matrixFreeData, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > BLASWrapperPtr, std::vector< const dealii::AffineConstraints< double > * > &constraintMatrixVec, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &inputVec, const unsigned int matrixFreeVectorComponent, const unsigned int matrixFreeQuadratureComponentRhsDensity, const unsigned int matrixFreeQuadratureComponentAX, const unsigned int verbosity, const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain)
void testAccumulateInsert(const MPI_Comm &mpiComm)
void testTransferFromParentToChildIncompatiblePartitioning(const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > BLASWrapperPtr, const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const MPI_Comm &interpoolcomm, const MPI_Comm &interbandgroup_comm, const unsigned int FEOrder, const dftfe::dftParameters &dftParams, const std::vector< std::vector< double > > &atomLocations, const std::vector< std::vector< double > > &imageAtomLocations, const std::vector< int > &imageIds, const std::vector< double > &nearestAtomDistances, const std::vector< std::vector< double > > &domainBoundingVectors, const bool generateSerialTria, const bool generateElectrostaticsTria)