sumfact.hh

Go to the documentation of this file.
1 
6 #ifndef sumfact_hh
7 #define sumfact_hh
8 
9 #include "toolbox/array.hh"
10 
11 namespace concepts {
12 
13  // forward declarations
14  template<typename T>
15  class ElementMatrix;
16 
17  class InOutParameters;
18 } // namespace concepts
19 
20 namespace hp3D {
21 
22  using concepts::Real;
23  using concepts::Cmplx;
24 
25  // forward declarations
26  template<typename F>
27  class ShapeFunction3D;
28 
29  // ****************************************************** SumFactorization **
30 
43  template<typename F = Real>
45  public:
54  template<typename T>
56  const concepts::Array<F>& jacobian, T* coeff,
57  const ShapeFunction3D<Real>& u,
58  const ShapeFunction3D<Real>& v);
59 
90  static bool timings();
92  private:
95 
99  static uint timeCntr_;
100  };
101 
102 } // namespace hp3D
103 
104 
105 #endif // sumfact_hh
Holds parameters in hashes.
Definition: inputOutput.hh:75
static bool timings()
Returns true if the class is able to do timings.
static void setTimings(concepts::InOutParameters *timings)
Sets the class to store the timing values in.
static uint timeCntr_
Counter for timing table.
Definition: sumfact.hh:99
An array of objects.
Definition: bilinearForm.hh:23
concepts::Array< F > sumfact2_
Intermediate matrices for sum factorization.
Definition: sumfact.hh:94
void operator()(concepts::ElementMatrix< F > &em, const concepts::Array< F > &jacobian, T *coeff, const ShapeFunction3D< Real > &u, const ShapeFunction3D< Real > &v)
Application operator.
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
static concepts::InOutParameters * timings_
Place to store timing values.
Definition: sumfact.hh:97
Sum factorization for an element matrix.
Definition: sumfact.hh:44
Element matrix.
Definition: linearForm.hh:18
concepts::Array< F > sumfact1_
Intermediate matrices for sum factorization.
Definition: sumfact.hh:94
3D hp-FEM for H1-conforming elements.
Definition: meshDX.hh:23
Collecting the data of a 3D shape function in one class.
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich