DFT-EFE
 
Loading...
Searching...
No Matches
QuadratureRuleAdaptive.h
Go to the documentation of this file.
1#ifndef dftefeQuadratureRuleAdaptive_h
2#define dftefeQuadratureRuleAdaptive_h
3
4#include "QuadratureRule.h"
5#include <utils/TypeConfig.h>
10#include <vector>
11#include <memory>
12#include <quadrature/Defaults.h>
13#include <map>
14#include <chrono>
15
16namespace dftefe
17{
18 namespace quadrature
19 {
21 {
22 public:
25 const QuadratureRule & baseQuadratureRule,
26 const basis::CellMappingBase & cellMapping,
27 basis::ParentToChildCellsManagerBase &parentToChildCellsManager,
28 std::vector<std::shared_ptr<const utils::ScalarSpatialFunctionReal>>
29 functions,
30 const std::vector<double> & absoluteTolerances,
31 const std::vector<double> & relativeTolerances,
32 const std::vector<double> & integralThresholds,
33 std::map<std::string, double> &timer,
34 const double smallestCellVolume =
36 const dftefe::size_type maxRecursion =
38
39 template <utils::MemorySpace memorySpace>
40 static std::vector<QuadratureRule>
42 const std::vector<std::shared_ptr<const basis::TriangulationCellBase>>
43 & cells,
44 const QuadratureRule & baseQuadratureRule,
45 const basis::CellMappingBase & cellMapping,
46 basis::ParentToChildCellsManagerBase &parentToChildCellsManager,
47 std::vector<std::shared_ptr<const utils::ScalarSpatialFunctionReal>>
48 functions,
49 const std::vector<double> & absoluteTolerances,
50 const std::vector<double> & relativeTolerances,
51 const std::vector<double> & integralThresholds,
52 std::map<std::string, double> &timer,
53 const double smallestCellVolume =
55 const dftefe::size_type maxRecursion =
57
58 private:
59 };
60
61 } // end of namespace quadrature
62
63} // end of namespace dftefe
64
65#endif // dftefeQuadratureRuleAdaptive_h
std::shared_ptr< const basis::TriangulationCellBase > cell
Definition: QuadratureRuleAdaptive.cpp:153
An abstract class to map a real point to parametric point and vice-versa.
Definition: CellMappingBase.h:27
Definition: ParentToChildCellsManagerBase.h:13
An abstract class for an geometric cell. This is done to prevent the template (as required by deal....
Definition: TriangulationCellBase.h:20
static const size_type MAX_RECURSION
Definition: Defaults.h:47
static const double SMALLEST_CELL_VOLUME
Setting all the QuadratureRuleAdaptiveDefaults.
Definition: Defaults.h:42
Definition: QuadratureRuleAdaptive.h:21
static std::vector< QuadratureRule > QuadratureRuleAdaptiveBFS(const std::vector< std::shared_ptr< const basis::TriangulationCellBase > > &cells, const QuadratureRule &baseQuadratureRule, const basis::CellMappingBase &cellMapping, basis::ParentToChildCellsManagerBase &parentToChildCellsManager, std::vector< std::shared_ptr< const utils::ScalarSpatialFunctionReal > > functions, const std::vector< double > &absoluteTolerances, const std::vector< double > &relativeTolerances, const std::vector< double > &integralThresholds, std::map< std::string, double > &timer, const double smallestCellVolume=QuadratureRuleAdaptiveDefaults::SMALLEST_CELL_VOLUME, const dftefe::size_type maxRecursion=QuadratureRuleAdaptiveDefaults::MAX_RECURSION)
Definition: QuadratureRuleAdaptive.cpp:438
Definition: QuadratureRule.h:18
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9