20 #ifndef GEOS_MESH_SIMPLEGEOMETRICOBJECTS_CUSTOMPOLAROBJECT_HPP_
21 #define GEOS_MESH_SIMPLEGEOMETRICOBJECTS_CUSTOMPOLAROBJECT_HPP_
47 Group *
const parent );
94 m_coefficients = coefficients;
106 for(
auto coeff:m_coefficients )
108 radius = radius + coeff*cos( count*angle );
135 static constexpr
char const * centerString() {
return "center"; }
136 static constexpr
char const * coefficientsString() {
return "coefficients"; }
137 static constexpr
char const * toleranceString() {
return "tolerance"; }
Class to represent a geometric disc in GEOSX.
bool isCoordInObject(real64 const (&coord)[3]) const override final
Check if the input coordinates are in the object.
virtual void postInputInitialization() override final
This function provides the capability to post process input values prior to any other initialization ...
static string catalogName()
Get the catalog name.
void setCustomPolarObjectFunction(array1d< real64 > &coefficients)
Update the geometric function describing the boundary of the object.
CustomPolarObject(const string &name, Group *const parent)
Constructor.
virtual R1Tensor & getCenter() override final
Get the center of the CustomPolarObject.
virtual R1Tensor const & getCenter() const override final
Get the center of the CustomPolarObject.
real64 getRadius(real64 angle) const
Get value of the radius of the surface for each angle theta.
virtual ~CustomPolarObject() override
Default destructor.
Abstract class to implement functions used by all bounded geometric objects in GEOSX,...
double real64
64-bit floating point type.
std::int32_t integer
Signed integer type.
Array< T, 1 > array1d
Alias for 1D array.
Structure to hold scoped key names.