DUNE-ACFEM (2.5.1)

geometry.hh
1#ifndef __DUNE_ACFEM_GEOMETRY_HH__
2#define __DUNE_ACFEM_GEOMETRY_HH__
3
4#include <cmath>
5
6namespace Dune {
7
8 namespace ACFem {
9
17 template<class Geometry>
18 typename Geometry::ctype h2Estimate(const Geometry& geometry)
19 {
20 const int dimension = Geometry::mydimension;
21 typename Geometry::ctype volume = geometry.volume();
22
23 switch(dimension) {
24 case 1:
25 return volume*volume;
26 case 2:
27 return volume;
28 case 3:
29 return std::pow(volume, 2.0/(double)dimension);
30 default:
31 return -1.0;
32 }
33 }
34
38 template<class Geometry>
39 typename Geometry::ctype hEstimate(const Geometry& geometry)
40 {
41 typedef typename Geometry::ctype ctype;
42 const int dimension = Geometry::mydimension;
43 const ctype volume = geometry.volume();
44
45 switch(dimension) {
46 case 1:
47 return volume;
48 case 2:
49 return std::sqrt(volume);
50 case 3:
51 return std::pow(volume, 1.0/(double)dimension);
52 default:
53 return -1.0;
54 }
55 }
56
59 } // namespace ACFem
60
61} // namespace Dune
62
63#endif // __DUNE_ACFEM_GEOMETRY_HH__
Geometry::ctype h2Estimate(const Geometry &geometry)
Compute a rough estimate of the square of the diameter of the element's Geometry.
Definition: geometry.hh:18
Geometry::ctype hEstimate(const Geometry &geometry)
Compute a rough estimate of the diameter of the element's Geometry.
Definition: geometry.hh:39
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Mar 12, 23:28, 2025)