![]() |
|
Rectangular domain with circular whole. More...
#include <rectangle_with_hole_domain.h>
Public Member Functions | |
RectangleWithHoleDomain (GeomObject *cylinder_pt, const double &length) | |
~RectangleWithHoleDomain () | |
Destructor: Empty; cleanup done in base class. More... | |
void | linear_interpolate (Vector< double > left, Vector< double > right, const double &s, Vector< double > &f) |
void | macro_element_boundary (const unsigned &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f) |
![]() | |
Domain () | |
Constructor. More... | |
Domain (const Domain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const Domain &)=delete |
Broken assignment operator. More... | |
virtual | ~Domain () |
MacroElement * | macro_element_pt (const unsigned &i) |
Access to i-th macro element. More... | |
unsigned | nmacro_element () |
Number of macro elements in domain. More... | |
void | output (const std::string &filename, const unsigned &nplot) |
Output macro elements. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
Output macro elements. More... | |
virtual void | macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | output_macro_element_boundaries (const std::string &filename, const unsigned &nplot) |
Output all macro element boundaries as tecplot zones. More... | |
void | output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot) |
Output all macro element boundaries as tecplot zones. More... | |
virtual void | dmacro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Private Attributes | |
Vector< double > | Lower_left |
Lower left corner of rectangle. More... | |
Vector< double > | Lower_right |
Lower right corner of rectangle. More... | |
Vector< double > | Lower_mid_left |
Where the "radial" line from circle meets lower boundary on left. More... | |
Vector< double > | Lower_mid_right |
Where the "radial" line from circle meets lower boundary on right. More... | |
Vector< double > | Upper_left |
Upper left corner of rectangle. More... | |
Vector< double > | Upper_right |
Upper right corner of rectangle. More... | |
Vector< double > | Upper_mid_left |
Where the "radial" line from circle meets upper boundary on left. More... | |
Vector< double > | Upper_mid_right |
Where the "radial" line from circle meets upper boundary on right. More... | |
GeomObject * | Cylinder_pt |
Pointer to geometric object that represents the central cylinder. More... | |
Additional Inherited Members | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Rectangular domain with circular whole.
|
inline |
Constructor. Pass pointer to geometric object that represents the cylinder, the length of the (square) domain. The GeomObject must be parametrised such that \(\zeta \in [0,2\pi]\) sweeps around the circumference in anticlockwise direction.
References i, Lower_left, Lower_mid_left, Lower_mid_right, Lower_right, oomph::Domain::Macro_element_pt, Upper_left, Upper_mid_left, Upper_mid_right, and Upper_right.
|
inline |
|
inline |
Helper function to interpolate linearly between the "right" and "left" points; \( s \in [-1,1] \)
Referenced by macro_element_boundary().
|
inlinevirtual |
Parametrisation of macro element boundaries: f(s) is the position vector to macro-element m's boundary in the specified direction [N/S/E/W] at the specfied discrete time level (time=0: present; time>0: previous)
Implements oomph::Domain.
References Eigen::bfloat16_impl::atan(), Cylinder_pt, Global_Physical_Variables::E, f(), linear_interpolate(), Lower_mid_left, Lower_mid_right, m, N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::GeomObject::position(), s, oomph::QuadTreeNames::S, Upper_mid_left, Upper_mid_right, and oomph::QuadTreeNames::W.
|
private |
Pointer to geometric object that represents the central cylinder.
Referenced by macro_element_boundary().
Lower left corner of rectangle.
Referenced by RectangleWithHoleDomain().
Where the "radial" line from circle meets lower boundary on left.
Referenced by macro_element_boundary(), and RectangleWithHoleDomain().
Where the "radial" line from circle meets lower boundary on right.
Referenced by macro_element_boundary(), and RectangleWithHoleDomain().
Lower right corner of rectangle.
Referenced by RectangleWithHoleDomain().
Upper left corner of rectangle.
Referenced by RectangleWithHoleDomain().
Where the "radial" line from circle meets upper boundary on left.
Referenced by macro_element_boundary(), and RectangleWithHoleDomain().
Where the "radial" line from circle meets upper boundary on right.
Referenced by macro_element_boundary(), and RectangleWithHoleDomain().
Upper right corner of rectangle.
Referenced by RectangleWithHoleDomain().