template<class Scalar>
class Dumux::EmbeddedCoupling::CylinderIntegration< Scalar >
Helper class to integrate over a cylinder domain.
- Note
- This is mostly useful if the integral is known and the integral mass has to be locally distributed to some non-matching domain
-
The algorithm creates (almost) evenly spaced area elements on a circle and extrudes this pattern into a cylinder. Each sub-cell is an integration point with constant ansatz on the sub-cell (lowest order integration formula). Hence to improve the quality of the integral, increase the sample size.
-
The volume integral of a constant function is exact See Beckers & Beckers (2012) doi:10.1016/j.comgeo.2012.01.011 for circle distribution and T. Koch PhD thesis (2020), Section 7.2.4.
|
| | CylinderIntegration (const Scalar rStep) |
| | Constructor.
|
| | CylinderIntegration (const Scalar rStep, const Scalar zStep) |
| | Constructor.
|
| void | setGeometry (const GlobalPosition &bottomCenter, const GlobalPosition &topCenter, const Scalar radius, int verbosity=0) |
| | Set the geometry of the cylinder.
|
| Scalar | integrationElement (std::size_t i) const |
| | The integration element of the ith integration point.
|
| const GlobalPosition & | integrationPoint (std::size_t i) const |
| | The ith integration point.
|
| std::size_t | size () const |
| | The number of integration points.
|