Rectangular domain with circular whole DRAIG: This looks like a redefinition of the RectangleWithHoleAndAnnularRegionDomain in src/meshes but it creates 8 macro-elements instead of 4 macro-elements and creates an annular region around the cylinder. It's probably a good idea to rename this class to avoid ambiguity and a name clash... More...
#include <rectangle_with_moving_cylinder_mesh.template.h>
Public Member Functions | |
RectangleWithHoleAndAnnularRegionDomain (GeomObject *cylinder_pt, const double &annular_region_radius, const double &length) | |
Constructor. Pass pointer to geometric object that represents the cylinder, the length of the (square) domain. The GeomObject must be parametrised such that sweeps around the circumference in anticlockwise direction. More... | |
~RectangleWithHoleAndAnnularRegionDomain () | |
Destructor: Empty; macro elements are deleted in base class destructor. More... | |
void | project_point_on_cylinder_to_annular_boundary (const unsigned &time, const Vector< double > &xi, Vector< double > &r) |
Helper function that, given the Lagrangian coordinate, xi, (associated with a point on the cylinder), returns the corresponding point on the outer boundary of the annular region (where the inner boundary is prescribed by the boundary of the cylinder) More... | |
void | project_point_on_cylinder_to_annular_boundary (const double &time, const Vector< double > &xi, Vector< double > &r) |
Helper function that, given the Lagrangian coordinate, xi, (associated with a point on the cylinder), returns the corresponding point on the outer boundary of the annular region (where the inner boundary is prescribed by the boundary of the cylinder) More... | |
void | linear_interpolate (const Vector< double > &left, const Vector< double > &right, const double &s, Vector< double > &f) |
Helper function to interpolate linearly between the "right" and "left" points; . More... | |
void | macro_element_boundary (const double &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f) |
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 specified discrete time level (time=0: present; time>0: previous) More... | |
void | macro_element_boundary (const unsigned &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f) |
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 specified discrete time level (time=0: present; time>0: previous) More... | |
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... | |
double | Annular_region_radius |
The radius of the outer boundary of the annular region whose inner boundary is described by Cylinder_pt and outer boundary is a circle with radius lying between half the length of the bounding box and the radius cylinder. More... | |
Rectangular domain with circular whole DRAIG: This looks like a redefinition of the RectangleWithHoleAndAnnularRegionDomain in src/meshes but it creates 8 macro-elements instead of 4 macro-elements and creates an annular region around the cylinder. It's probably a good idea to rename this class to avoid ambiguity and a name clash...
Definition at line 53 of file rectangle_with_moving_cylinder_mesh.template.h.
|
inline |
Constructor. Pass pointer to geometric object that represents the cylinder, the length of the (square) domain. The GeomObject must be parametrised such that sweeps around the circumference in anticlockwise direction.
Definition at line 61 of file rectangle_with_moving_cylinder_mesh.template.h.
References Lower_left, Lower_mid_left, Lower_mid_right, Lower_right, Upper_left, Upper_mid_left, Upper_mid_right, and Upper_right.
Referenced by oomph::RectangleWithHoleAndAnnularRegionMesh< ELEMENT >::RectangleWithHoleAndAnnularRegionMesh().
|
inline |
Destructor: Empty; macro elements are deleted in base class destructor.
Definition at line 117 of file rectangle_with_moving_cylinder_mesh.template.h.
|
inline |
Helper function to interpolate linearly between the "right" and "left" points; .
Definition at line 139 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary().
void oomph::RectangleWithHoleAndAnnularRegionDomain::macro_element_boundary | ( | const double & | time, |
const unsigned & | m, | ||
const unsigned & | direction, | ||
const Vector< double > & | s, | ||
Vector< double > & | f | ||
) |
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 specified discrete time level (time=0: present; time>0: previous)
Definition at line 127 of file rectangle_with_moving_cylinder_mesh.template.cc.
References Cylinder_pt, linear_interpolate(), Lower_mid_left, Lower_mid_right, project_point_on_cylinder_to_annular_boundary(), Upper_mid_left, and Upper_mid_right.
void oomph::RectangleWithHoleAndAnnularRegionDomain::macro_element_boundary | ( | const unsigned & | time, |
const unsigned & | m, | ||
const unsigned & | direction, | ||
const Vector< double > & | s, | ||
Vector< double > & | f | ||
) |
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 specified discrete time level (time=0: present; time>0: previous)
Definition at line 517 of file rectangle_with_moving_cylinder_mesh.template.cc.
References Cylinder_pt, linear_interpolate(), Lower_mid_left, Lower_mid_right, project_point_on_cylinder_to_annular_boundary(), Upper_mid_left, and Upper_mid_right.
void oomph::RectangleWithHoleAndAnnularRegionDomain::project_point_on_cylinder_to_annular_boundary | ( | const double & | time, |
const Vector< double > & | xi, | ||
Vector< double > & | r | ||
) |
Helper function that, given the Lagrangian coordinate, xi, (associated with a point on the cylinder), returns the corresponding point on the outer boundary of the annular region (where the inner boundary is prescribed by the boundary of the cylinder)
Definition at line 83 of file rectangle_with_moving_cylinder_mesh.template.cc.
References Annular_region_radius, and Cylinder_pt.
void oomph::RectangleWithHoleAndAnnularRegionDomain::project_point_on_cylinder_to_annular_boundary | ( | const unsigned & | time, |
const Vector< double > & | xi, | ||
Vector< double > & | r | ||
) |
Helper function that, given the Lagrangian coordinate, xi, (associated with a point on the cylinder), returns the corresponding point on the outer boundary of the annular region (where the inner boundary is prescribed by the boundary of the cylinder)
Rectangular domain with circular whole.
Definition at line 38 of file rectangle_with_moving_cylinder_mesh.template.cc.
References Annular_region_radius, and Cylinder_pt.
Referenced by macro_element_boundary().
|
private |
The radius of the outer boundary of the annular region whose inner boundary is described by Cylinder_pt and outer boundary is a circle with radius lying between half the length of the bounding box and the radius cylinder.
Definition at line 205 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by project_point_on_cylinder_to_annular_boundary().
|
private |
Pointer to geometric object that represents the central cylinder.
Definition at line 199 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary(), and project_point_on_cylinder_to_annular_boundary().
|
private |
Lower left corner of rectangle.
Definition at line 175 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by RectangleWithHoleAndAnnularRegionDomain().
|
private |
Where the "radial" line from circle meets lower boundary on left.
Definition at line 181 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary(), and RectangleWithHoleAndAnnularRegionDomain().
|
private |
Where the "radial" line from circle meets lower boundary on right.
Definition at line 184 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary(), and RectangleWithHoleAndAnnularRegionDomain().
|
private |
Lower right corner of rectangle.
Definition at line 178 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by RectangleWithHoleAndAnnularRegionDomain().
|
private |
Upper left corner of rectangle.
Definition at line 187 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by RectangleWithHoleAndAnnularRegionDomain().
|
private |
Where the "radial" line from circle meets upper boundary on left.
Definition at line 193 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary(), and RectangleWithHoleAndAnnularRegionDomain().
|
private |
Where the "radial" line from circle meets upper boundary on right.
Definition at line 196 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by macro_element_boundary(), and RectangleWithHoleAndAnnularRegionDomain().
|
private |
Upper right corner of rectangle.
Definition at line 190 of file rectangle_with_moving_cylinder_mesh.template.h.
Referenced by RectangleWithHoleAndAnnularRegionDomain().