Circular sector as domain. Domain is bounded by curved boundary which is represented by a GeomObject. Domain is parametrised by three macro elements. More...
#include <quarter_circle_sector_domain.h>
Public Types | |
typedef double(* | BLSquashFctPt) (const double &s) |
Typedef for function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value. More... | |
Public Member Functions | |
QuarterCircleSectorDomain (GeomObject *boundary_geom_object_pt, const double &xi_lo, const double &fract_mid, const double &xi_hi) | |
Constructor: Pass boundary object and start and end coordinates and fraction along boundary object where outer ring is divided. More... | |
QuarterCircleSectorDomain (const QuarterCircleSectorDomain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const QuarterCircleSectorDomain &)=delete |
Broken assignment operator. More... | |
~QuarterCircleSectorDomain () | |
Destructor: empty; cleanup done in base class. More... | |
BLSquashFctPt & | bl_squash_fct_pt () |
Function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value. More... | |
double | s_squashed (const double &s) |
Function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value. More... | |
void | macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary i_direct (N/S/W/E) at time level t (t=0: present; t>0: previous): f(s). Note that the local coordinate s is a 1D Vector rather than a scalar – this is unavoidable because this function implements the pure virtual function in the Domain base class. More... | |
Public Member Functions inherited from oomph::Domain | |
Domain () | |
Constructor. More... | |
Domain (const Domain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const Domain &)=delete |
Broken assignment operator. More... | |
virtual | ~Domain () |
Destructor: Strictly speaking, whoever creates an object dynamically should be responsible for the cleanup of said object but it makes sense here for the Domain to generically kill any MacroElements left over in the MacroElement container (if it hasn't already been done in the derived class) to avoid memory leaks. More... | |
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) |
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at continuous time, t. More... | |
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
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) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More... | |
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at continuous time level t. Broken virtual. More... | |
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More... | |
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary seocond derivatives i_direct (e.g. N/S/W/E in 2D) at continuous time level t. Broken virtual. More... | |
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
Private Member Functions | |
void | r_top_left_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of top left macro element zeta . More... | |
void | r_top_left_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of top left macro element zeta . More... | |
void | r_top_left_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of top left macro element zeta . More... | |
void | r_top_left_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of top left macro element zeta . More... | |
void | r_bot_right_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of bottom right macro element zeta . More... | |
void | r_bot_right_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of bottom right macro element zeta . More... | |
void | r_bot_right_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of bottom right macro element zeta . More... | |
void | r_bot_right_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of bottom right macro element zeta . More... | |
void | r_centr_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of central box macro element zeta . More... | |
void | r_centr_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of central box macro element zeta . More... | |
void | r_centr_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of central box macro element zeta . More... | |
void | r_centr_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of central box macro element zeta . More... | |
Static Private Member Functions | |
static double | default_BL_squash_fct (const double &s) |
Default for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value: Identity. More... | |
Private Attributes | |
double | Xi_lo |
Lower limit for the (1D) coordinates along the wall. More... | |
double | Fract_mid |
Fraction along wall where outer ring is to be divided. More... | |
double | Xi_hi |
Upper limit for the (1D) coordinates along the wall. More... | |
GeomObject * | Wall_pt |
Pointer to geometric object that represents the curved wall. More... | |
BLSquashFctPt | BL_squash_fct_pt |
Function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value. More... | |
Additional Inherited Members | |
Protected Attributes inherited from oomph::Domain | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Circular sector as domain. Domain is bounded by curved boundary which is represented by a GeomObject. Domain is parametrised by three macro elements.
Definition at line 42 of file quarter_circle_sector_domain.h.
typedef double(* oomph::QuarterCircleSectorDomain::BLSquashFctPt) (const double &s) |
Typedef for function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value.
Definition at line 84 of file quarter_circle_sector_domain.h.
|
inline |
Constructor: Pass boundary object and start and end coordinates and fraction along boundary object where outer ring is divided.
Definition at line 47 of file quarter_circle_sector_domain.h.
References i, and oomph::Domain::Macro_element_pt.
|
delete |
Broken copy constructor.
|
inline |
Destructor: empty; cleanup done in base class.
Definition at line 78 of file quarter_circle_sector_domain.h.
|
inline |
Function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value.
Definition at line 91 of file quarter_circle_sector_domain.h.
References BL_squash_fct_pt.
Referenced by oomph::QuarterCircleSectorMesh< ELEMENT >::bl_squash_fct_pt().
|
inlinestaticprivate |
Default for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value: Identity.
Definition at line 142 of file quarter_circle_sector_domain.h.
References s.
|
virtual |
Vector representation of the i_macro-th macro element boundary i_direct (N/S/W/E) at time level t (t=0: present; t>0: previous): f(s). Note that the local coordinate s is a 1D Vector rather than a scalar – this is unavoidable because this function implements the pure virtual function in the Domain base class.
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
Vector representation of the imacro-th macro element boundary idirect (N/S/W/E) at time level t (t=0: present; t>0: previous): f(s)
Implements oomph::Domain.
Definition at line 219 of file quarter_circle_sector_domain.h.
References oomph::QuadTreeNames::E, oomph::QuadTreeNames::N, r_bot_right_E(), r_bot_right_N(), r_bot_right_S(), r_bot_right_W(), r_centr_E(), r_centr_N(), r_centr_S(), r_centr_W(), r_top_left_E(), r_top_left_N(), r_top_left_S(), r_top_left_W(), s, oomph::QuadTreeNames::S, t, and oomph::QuadTreeNames::W.
|
delete |
Broken assignment operator.
|
private |
Boundary of bottom right macro element zeta .
Eastern edge of bottom right macro element.
Definition at line 505 of file quarter_circle_sector_domain.h.
References Fract_mid, oomph::GeomObject::position(), s, t, Wall_pt, Xi_hi, and Xi_lo.
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right macro element zeta .
Northern edge of bottom right macro element.
Definition at line 451 of file quarter_circle_sector_domain.h.
References r_top_left_E(), s, and t.
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right macro element zeta .
Southern edge of bottom right macro element.
Definition at line 486 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, s_squashed(), t, Wall_pt, and Xi_lo.
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right macro element zeta .
Western edge of bottom right macro element.
Definition at line 461 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, t, Wall_pt, Xi_hi, and Xi_lo.
Referenced by macro_element_boundary(), and r_centr_E().
|
private |
Boundary of central box macro element zeta .
Eastern edge of central box.
Definition at line 532 of file quarter_circle_sector_domain.h.
References r_bot_right_W(), s, and t.
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element zeta .
Northern edge of central box.
Definition at line 521 of file quarter_circle_sector_domain.h.
References r_top_left_S(), s, and t.
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element zeta .
Southern edge of central box.
Definition at line 543 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, t, Wall_pt, and Xi_lo.
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element zeta .
Western edge of central box.
Definition at line 562 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, t, Wall_pt, and Xi_hi.
Referenced by macro_element_boundary().
|
private |
Boundary of top left macro element zeta .
Eastern edge of top left macro element .
Definition at line 417 of file quarter_circle_sector_domain.h.
References Fract_mid, oomph::GeomObject::position(), s, s_squashed(), t, Wall_pt, Xi_hi, and Xi_lo.
Referenced by macro_element_boundary(), and r_bot_right_N().
|
private |
Boundary of top left macro element zeta .
Northern edge of top left macro element .
Definition at line 354 of file quarter_circle_sector_domain.h.
References Fract_mid, oomph::GeomObject::position(), s, t, Wall_pt, Xi_hi, and Xi_lo.
Referenced by macro_element_boundary().
|
private |
Boundary of top left macro element zeta .
Southern edge of top left macro element .
Definition at line 390 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, t, Wall_pt, and Xi_hi.
Referenced by macro_element_boundary(), and r_centr_N().
|
private |
Boundary of top left macro element zeta .
Western edge of top left macro element .
Definition at line 370 of file quarter_circle_sector_domain.h.
References oomph::GeomObject::position(), s, s_squashed(), t, Wall_pt, and Xi_hi.
Referenced by macro_element_boundary().
|
inline |
Function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value.
Definition at line 100 of file quarter_circle_sector_domain.h.
References BL_squash_fct_pt, and s.
Referenced by r_bot_right_S(), r_top_left_E(), and r_top_left_W().
|
private |
Function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value.
Definition at line 136 of file quarter_circle_sector_domain.h.
Referenced by bl_squash_fct_pt(), and s_squashed().
|
private |
Fraction along wall where outer ring is to be divided.
Definition at line 124 of file quarter_circle_sector_domain.h.
Referenced by r_bot_right_E(), r_top_left_E(), and r_top_left_N().
|
private |
Pointer to geometric object that represents the curved wall.
Definition at line 130 of file quarter_circle_sector_domain.h.
Referenced by r_bot_right_E(), r_bot_right_S(), r_bot_right_W(), r_centr_S(), r_centr_W(), r_top_left_E(), r_top_left_N(), r_top_left_S(), and r_top_left_W().
|
private |
Upper limit for the (1D) coordinates along the wall.
Definition at line 127 of file quarter_circle_sector_domain.h.
Referenced by r_bot_right_E(), r_bot_right_W(), r_centr_W(), r_top_left_E(), r_top_left_N(), r_top_left_S(), and r_top_left_W().
|
private |
Lower limit for the (1D) coordinates along the wall.
Definition at line 121 of file quarter_circle_sector_domain.h.
Referenced by r_bot_right_E(), r_bot_right_S(), r_bot_right_W(), r_centr_S(), r_top_left_E(), and r_top_left_N().