differentialforms.hh

Go to the documentation of this file.
1 
7 #ifndef differentialforms_hh
8 #define differentialforms_hh
9 
10 #include "toolbox/array.hh"
11 #include "integration/quadRule.hh"
12 #include "geometry/cell3D.hh"
13 
14 namespace concepts
15 {
16 
21  {
22  public:
28  multilevelindex(const Array<int> & Nsize) : L_(Nsize.size()), Nsize_(Nsize)
29  {
30  N_ = 1;
31  for(int l=0; l<L_; ++l) N_ *= Nsize_[l];
32  };
34  int getL() {return L_; };
36  int getN() {return N_; };
38  Array<int> getNsize() {return Nsize_; };
40  Array<int> operator[] (const int n)
41  {
42  Array<int> k(L_);
43  int idxk=n;
44  for(int l=0; l<L_; ++l)
45  {
46  k[l] = idxk % Nsize_[l];
47  idxk /= Nsize_[l];
48  }
49  return k;
50  };
51 
52  protected:
54  int N_;
56  int L_;
59  };
60 
68 
75 
84 
92 
99  Real jacobianDeterminant(const Hexahedron3d & Hexa, const Real3d & xi);
100 
108 
109 }
110 
111 #endif // differentialforms_hh
Basic class for a 2D or 3D map.
Real quadratureWeightTensor(const Array< QuadratureRule1d * > &ArrayQuad1D, const Array< int > &Index)
Compute a quadrature weight tensor at a partical index point.
Stores a number of indices in a ordered fashion.
Definition: meshImport3D.hh:23
int N_
Size of the multi-dimensional array.
multilevelindex(const Array< int > &Nsize)
Constructor that takes an array into account.
int getN()
Return the total number of dimension.
A 3D cell: hexahedron.
Definition: cell3D.hh:317
Array< int > getNsize()
Return the array of local dimensions.
int getL()
Return the local dimension of the multi-level index.
Array< int > operator[](const int n)
Return the local l-uple .
int L_
Size of the local dimension.
Class for the multilevel index.
Real jacobianDeterminant(const Hexahedron3d &Hexa, const Real3d &xi)
Computes the Jacobian determinant .
~multilevelindex()
Default destructor.
multilevelindex()
Default constructor.
Mapping< Real, 3, 3 > jacobianTensor(const Hexahedron3d &Hexa, const Real3d &xi)
Compute the Jacobian tensor that goes from a reference element to M(3,3)
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