DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
InterpolateFromCellToLocalPoints.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/*
19 * @author Vishal Subramanian, Bikash Kanungo
20 */
21
22#ifndef DFTFE_EXE_INTERPOLATEFROMCELLTOLOCALPOINTS_H
23#define DFTFE_EXE_INTERPOLATEFROMCELLTOLOCALPOINTS_H
24
25
26#include "BLASWrapper.h"
27#include "Cell.h"
28#include "dftUtils.h"
29#include "FECell.h"
30
31
32namespace dftfe
33{
34 template <dftfe::utils::MemorySpace memorySpace>
36 {
37 public:
39 const std::shared_ptr<const dftfe::utils::FECell<3>> &srcCell,
40 unsigned int numNodes,
41 bool memOpt);
42
43 void
44 setRealCoordinatesOfLocalPoints(unsigned int numPoints,
45 std::vector<double> &coordinates);
46
47 void
50 & BLASWrapperPtr,
51 unsigned int numberOfVectors,
52 const dataTypes::number *parentNodalMemSpacePtr,
53 dataTypes::number * outputMemSpacePtr);
54
55 void
57 dftfe::utils::MemorySpace::HOST>> & BLASWrapperPtr,
58 unsigned int numberOfVectors,
59 const std::vector<dataTypes::number> &parentNodalHost,
60 std::vector<dataTypes::number> & outputHost);
61
62 private:
63 std::shared_ptr<const dftfe::utils::FECell<3>> d_srcCell;
64 unsigned int d_numNodes, d_numPoints;
67 std::vector<dataTypes::number> d_shapeValuesHost;
68
69 const std::shared_ptr<dftfe::linearAlgebra::BLASWrapper<memorySpace>>
71
72 std::vector<double> d_paramCoordinates;
74 };
75
76} // namespace dftfe
77#endif // DFTFE_EXE_INTERPOLATEFROMCELLTOLOCALPOINTS_H
unsigned int d_numPoints
Definition InterpolateFromCellToLocalPoints.h:64
void interpolate(const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, unsigned int numberOfVectors, const std::vector< dataTypes::number > &parentNodalHost, std::vector< dataTypes::number > &outputHost)
const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > d_BLASWrapperPtr
Definition InterpolateFromCellToLocalPoints.h:70
void interpolate(const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, unsigned int numberOfVectors, const dataTypes::number *parentNodalMemSpacePtr, dataTypes::number *outputMemSpacePtr)
dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > d_shapeValuesMemSpace
Definition InterpolateFromCellToLocalPoints.h:66
std::vector< dataTypes::number > d_shapeValuesHost
Definition InterpolateFromCellToLocalPoints.h:67
std::vector< double > d_paramCoordinates
Definition InterpolateFromCellToLocalPoints.h:72
void setRealCoordinatesOfLocalPoints(unsigned int numPoints, std::vector< double > &coordinates)
std::shared_ptr< const dftfe::utils::FECell< 3 > > d_srcCell
Definition InterpolateFromCellToLocalPoints.h:63
InterpolateFromCellToLocalPoints(const std::shared_ptr< const dftfe::utils::FECell< 3 > > &srcCell, unsigned int numNodes, bool memOpt)
unsigned int d_numNodes
Definition InterpolateFromCellToLocalPoints.h:64
bool d_memOpt
Definition InterpolateFromCellToLocalPoints.h:73
Definition BLASWrapper.h:35
This class provides the specialisation for Finite element cell. This class provides the function defi...
Definition FECell.h:45
Definition MemoryStorage.h:33
double number
Definition dftfeDataTypes.h:44
@ HOST
Definition MemorySpaceType.h:34
Definition pseudoPotentialToDftfeConverter.cc:34