24#ifndef DUMUX_DISCRETIZATION_ROTATION_SYMMETRIC_SUBCONTROLVOLUMEFACE_HH
25#define DUMUX_DISCRETIZATION_ROTATION_SYMMETRIC_SUBCONTROLVOLUMEFACE_HH
27#warning "This header is deprecated and will be removed after release 3.3"
39template<
class SubControlVolumeFace, RotationPolicy rotationPolicy>
48template<
class SubControlVolumeFace>
50:
public SubControlVolumeFace
52 using Scalar =
typename SubControlVolumeFace::Traits::Scalar;
53 static_assert(SubControlVolumeFace::Traits::Geometry::mydimension == 0,
"Rotation symmetric scvf with disc policy only works with 1d grids!");
54 static_assert(SubControlVolumeFace::Traits::Geometry::coorddimension == 1,
"Rotation symmetric scvf with disc policy only works with 1d grids!");
57 using SubControlVolumeFace::SubControlVolumeFace;
62 const auto radius = this->corner(0)[0];
63 return 2.0*M_PI*radius;
73template<
class SubControlVolumeFace>
75:
public SubControlVolumeFace
77 using Scalar =
typename SubControlVolumeFace::Traits::Scalar;
78 static_assert(SubControlVolumeFace::Traits::Geometry::mydimension == 0,
"Rotation symmetric scvf with ball policy only works with 1d grids!");
79 static_assert(SubControlVolumeFace::Traits::Geometry::coorddimension == 1,
"Rotation symmetric scvf with ball policy only works with 1d grids!");
82 using SubControlVolumeFace::SubControlVolumeFace;
87 const auto radius = this->corner(0)[0];
88 return 4.0*M_PI*radius*radius;
99template<
class SubControlVolumeFace>
101:
public SubControlVolumeFace
103 using Scalar =
typename SubControlVolumeFace::Traits::Scalar;
104 static_assert(SubControlVolumeFace::Traits::Geometry::mydimension == 1,
"Rotation symmetric scvf with toroid policy only works with 2d grids!");
105 static_assert(SubControlVolumeFace::Traits::Geometry::coorddimension == 2,
"Rotation symmetric scvf with toroid policy only works with 2d grids!");
108 using SubControlVolumeFace::SubControlVolumeFace;
113 const auto radius = this->center()[0];
114 return SubControlVolumeFace::area()*2.0*M_PI*radius;
Rotation policy for defining rotational symmetric grid geometries.
RotationPolicy
Rotation policies.
Definition: rotationpolicy.hh:39
Traits extracting the public Extrusion type from T Defaults to NoExtrusion if no such type is found.
Definition: extrusion.hh:166
Wrapper to make a sub control volume face rotation symmetric.
Definition: rotationsymmetricscvf.hh:40
Scalar area() const
The area of the sub control volume face (circumference of circle)
Definition: rotationsymmetricscvf.hh:60
Scalar area() const
The area of the sub control volume face (surface of sphere)
Definition: rotationsymmetricscvf.hh:85
Scalar area() const
The area of the sub control volume face (Guldinus theorem)
Definition: rotationsymmetricscvf.hh:111