![]() |
|
#include <quarter_tube_domain.h>
Public Types | |
typedef double(* | BLSquashFctPt) (const double &s) |
typedef double(* | AxialSpacingFctPt) (const double &xi) |
Public Member Functions | |
QuarterTubeDomain (GeomObject *boundary_geom_object_pt, const Vector< double > &xi_lo, const double &fract_mid, const Vector< double > &xi_hi, const unsigned &nlayer) | |
QuarterTubeDomain (const QuarterTubeDomain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const QuarterTubeDomain &)=delete |
Broken assignment operator. More... | |
~QuarterTubeDomain () | |
Destructor: empty; cleanup done in base class. More... | |
BLSquashFctPt & | bl_squash_fct_pt () |
double | s_squashed (const double &s) |
AxialSpacingFctPt & | axial_spacing_fct_pt () |
double | axial_spacing_fct (const double &xi) |
void | macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, 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 Member Functions | |
void | r_centr_L (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_centr_R (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_centr_D (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_centr_U (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_centr_B (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_centr_F (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_L (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_R (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_D (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_U (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_B (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_bot_right_F (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_L (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_R (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_D (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_U (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_B (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
void | r_top_left_F (const unsigned &t, const Vector< double > &zeta, const unsigned &i_layer, Vector< double > &f) |
Static Private Member Functions | |
static double | default_BL_squash_fct (const double &s) |
static double | default_axial_spacing_fct (const double &xi) |
Private Attributes | |
Vector< double > | Xi_lo |
Lower limit for the coordinates along the wall. More... | |
double | Fract_mid |
Fraction along wall where outer ring is to be divided. More... | |
Vector< double > | Xi_hi |
Upper limit for the coordinates along the wall. More... | |
unsigned | Nlayer |
Number of layers. More... | |
GeomObject * | Wall_pt |
Pointer to geometric object that represents the curved wall. More... | |
BLSquashFctPt | BL_squash_fct_pt |
AxialSpacingFctPt | Axial_spacing_fct_pt |
Additional Inherited Members | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Quarter tube as domain. Domain is bounded by curved boundary which is represented by a GeomObject. Domain is parametrised by three macro elements in each of the nlayer slices
Typedef for function pointer for function that implements axial spacing of macro elements
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
|
inline |
Constructor: Pass boundary object and start and end coordinates and fraction along boundary object where outer ring is divided. We form nlayer axial slices.
References i, and oomph::Domain::Macro_element_pt.
|
delete |
Broken copy constructor.
|
inline |
Function that implements axial spacing of macro elements
References Axial_spacing_fct_pt.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_F(), r_top_left_L(), and r_top_left_U().
|
inline |
Function pointer for function that implements axial spacing of macro elements
References Axial_spacing_fct_pt.
Referenced by oomph::QuarterTubeMesh< ELEMENT >::axial_spacing_fct_pt(), and oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::axial_spacing_fct_pt().
|
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
References BL_squash_fct_pt.
Referenced by oomph::QuarterTubeMesh< ELEMENT >::bl_squash_fct_pt().
|
virtual |
Vector representation of the i_macro-th macro element boundary i_direct (L/R/D/U/B/F) at time level t (t=0: present; t>0: previous): f(s).
////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// Vector representation of the imacro-th macro element boundary idirect (L/R/D/U/B/F) at time level t (t=0: present; t>0: previous): f(s)
Implements oomph::Domain.
References D, f(), oomph::OcTreeNames::F, L, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, R, r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_L(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_D(), r_top_left_F(), r_top_left_L(), r_top_left_R(), r_top_left_U(), s, plotPSD::t, and RachelsAdvectionDiffusion::U.
|
delete |
Broken assignment operator.
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), r_centr_R(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), r_centr_R(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References f(), r_centr_R(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of bottom right box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), r_centr_R(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_top_left_R().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary(), r_bot_right_B(), r_bot_right_F(), r_bot_right_L(), and r_bot_right_U().
|
private |
Boundary of central box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary(), r_top_left_B(), r_top_left_D(), and r_top_left_F().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), r_centr_U(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References f(), r_centr_U(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), r_centr_U(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Nlayer, oomph::GeomObject::position(), s_squashed(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References f(), r_bot_right_U(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of top left box macro element in layer i_layer zeta \( \in [-1,1]^2 \)
References axial_spacing_fct(), f(), Fract_mid, Nlayer, oomph::GeomObject::position(), plotPSD::t, Wall_pt, plotDoE::x, Xi_hi, Xi_lo, and Eigen::zeta().
Referenced by macro_element_boundary().
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.
References BL_squash_fct_pt, and s.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_U(), r_top_left_B(), r_top_left_F(), and r_top_left_L().
|
private |
Function pointer for function that implements axial spacing of macro elements
Referenced by axial_spacing_fct(), and axial_spacing_fct_pt().
|
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
Referenced by bl_squash_fct_pt(), and s_squashed().
|
private |
Fraction along wall where outer ring is to be divided.
Referenced by r_bot_right_B(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_top_left_B(), r_top_left_F(), and r_top_left_U().
|
private |
Number of layers.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_F(), r_top_left_L(), and r_top_left_U().
|
private |
Pointer to geometric object that represents the curved wall.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_F(), r_top_left_L(), and r_top_left_U().
Upper limit for the coordinates along the wall.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_F(), r_top_left_L(), and r_top_left_U().
Lower limit for the coordinates along the wall.
Referenced by r_bot_right_B(), r_bot_right_D(), r_bot_right_F(), r_bot_right_R(), r_bot_right_U(), r_centr_B(), r_centr_D(), r_centr_F(), r_centr_L(), r_centr_R(), r_centr_U(), r_top_left_B(), r_top_left_F(), r_top_left_L(), and r_top_left_U().