23 static constexpr mfem::real_t
two_pi =
24 6.283185307179586476925286766559005768;
27 static constexpr bool enabled =
true;
32 MFEM_HOST_DEVICE
static mfem::real_t
Radius(
const mfem::real_t *physical)
38 bool axisymmetric, mfem::real_t radius)
40 return axisymmetric ?
two_pi*radius : 1.0;
44 const std::string &location)
48 throw std::invalid_argument(
49 "axisymmetric geometry has an invalid radial coordinate at " +
50 location +
": r = " + std::to_string(radius));
52 return radius < 0.0 ? 0.0 : radius;
Definition AxisymmetricGeometry.hpp:15
Coordinate and cached-radius contract for swirl-free (z,r) geometry.
Definition AxisymmetricGeometry.hpp:18
static mfem::real_t ValidateRadius(mfem::real_t radius, const std::string &location)
Definition AxisymmetricGeometry.hpp:43
static constexpr bool enabled
Definition AxisymmetricGeometry.hpp:29
static constexpr mfem::real_t radius_tolerance
Definition AxisymmetricGeometry.hpp:22
static constexpr int axial_coordinate
Definition AxisymmetricGeometry.hpp:19
static constexpr mfem::real_t two_pi
Definition AxisymmetricGeometry.hpp:23
static constexpr int radial_coordinate
Definition AxisymmetricGeometry.hpp:20
static MFEM_HOST_DEVICE mfem::real_t Radius(const mfem::real_t *physical)
Definition AxisymmetricGeometry.hpp:32
static constexpr int spatial_dimension
Definition AxisymmetricGeometry.hpp:21
static MFEM_HOST_DEVICE mfem::real_t MeasureMultiplier(bool axisymmetric, mfem::real_t radius)
Definition AxisymmetricGeometry.hpp:37