Helper class to integrate over an elliptic cylinder domain.
More...
#include <dumux/multidomain/embedded/cylinderintegration.hh>
template<class Scalar>
class Dumux::EmbeddedCoupling::EllipticCylinderIntegration< Scalar >
Helper class to integrate over an elliptic cylinder domain.
- Note
- The cylinder caps do not have to be orthogonal to the centerline axis but top and bottom cap are parallel planes
-
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 is based on evenly spaced area elements with rejection sampling. To improve the quality of the integral, increase the sample size.
-
The volume integral of a constant function is exact See Koch et al. (2020) https://doi.org/10.1016/j.jcp.2020.109369
◆ EllipticCylinderIntegration()
Constructor.
- Parameters
-
relCharLength | characteristic relative integration length (real number between 0 and 1) |
- Note
- half the characteristic length means 2*2*2=8 times more integration points
◆ integrationElement()
obtain ith integration element
◆ integrationPoint()
obtain ith integration point
◆ setGeometry()
Set the geometry of elliptic cylinder.
- Parameters
-
bottomCenter | bottom center position |
topCenter | top center position |
firstAxis | first ellipse axis (length corresponding to axis length) |
secondAxis | second ellipse axis (length corresponding to axis length) |
verbosity | the verbosity level (default: 0 -> no terminal output) |
◆ size()
The documentation for this class was generated from the following file: