19 #ifndef GEOSX_MESH_SIMPLEGEOMETRICOBJECTS_CUSTOMPOLAROBJECT_HPP_
20 #define GEOSX_MESH_SIMPLEGEOMETRICOBJECTS_CUSTOMPOLAROBJECT_HPP_
46 Group *
const parent );
93 m_coefficients = coefficients;
105 for(
auto coeff:m_coefficients )
107 radius = radius + coeff*cos( count*angle );
134 static constexpr
char const * centerString() {
return "center"; }
135 static constexpr
char const * coefficientsString() {
return "coefficients"; }
136 static constexpr
char const * toleranceString() {
return "tolerance"; }
Class to represent a geometric disc in GEOSX.
virtual void postProcessInput() override final
This function provides the capability to post process input values prior to any other initialization ...
bool isCoordInObject(real64 const (&coord)[3]) const override final
Check if the input coordinates are in the object.
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.