Domain representing a quarter pipe. More...
#include <quarter_pipe_domain.h>
Public Types | |
typedef double(* | AxialSpacingFctPt) (const double &xi) |
Typedef for function pointer for function that implements axial spacing of macro elements. More... | |
Public Member Functions | |
QuarterPipeDomain (const unsigned &ntheta, const unsigned &nr, const unsigned &nz, const double &rmin, const double &rmax, const double &length) | |
Constructor: Pass number of elements in various directions, the inner and outer radius and the length of the tube. More... | |
QuarterPipeDomain (const QuarterPipeDomain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const QuarterPipeDomain &)=delete |
Broken assignment operator. More... | |
~QuarterPipeDomain () | |
Destructor: More... | |
AxialSpacingFctPt & | axial_spacing_fct_pt () |
Function pointer for function that implements axial spacing of macro elements. More... | |
double | axial_spacing_fct (const double &xi) |
Function that implements axial spacing of macro elements. 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 (U/D/L/R/F/B) at time level t (t=0: present; t>0: previous): f(s). More... | |
Private Member Functions | |
void | r_U (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
void | r_L (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
void | r_D (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
void | r_R (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
void | r_F (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
void | r_B (const unsigned &t, const Vector< double > &zeta, Vector< double > &f, const double &rmin, const double &rmax, const double &thetamin, const double &thetamax, const double &zmin, const double &zmax) |
Boundary of macro element zeta . More... | |
Static Private Member Functions | |
static double | default_axial_spacing_fct (const double &xi) |
Default for function that implements axial spacing of macro elements. More... | |
Private Attributes | |
unsigned | Ntheta |
Number of elements azimuthal direction. More... | |
unsigned | Nr |
Number of elements radial direction. More... | |
unsigned | Nz |
Number of elements axial direction. More... | |
double | Rmin |
Inner radius. More... | |
double | Rmax |
Outer radius. More... | |
double | Length |
Length. More... | |
GeomObject * | Outer_boundary_cross_section_pt |
Geom object representing the outer boundary of the cross section. More... | |
GeomObject * | Inner_boundary_cross_section_pt |
Geom object representing the inner boundary of the cross section. More... | |
AxialSpacingFctPt | Axial_spacing_fct_pt |
Function pointer for function that implements axial spacing of macro elements. More... | |
Domain representing a quarter pipe.
Definition at line 40 of file quarter_pipe_domain.h.
typedef double(* oomph::QuarterPipeDomain::AxialSpacingFctPt) (const double &xi) |
Typedef for function pointer for function that implements axial spacing of macro elements.
Definition at line 93 of file quarter_pipe_domain.h.
|
inline |
Constructor: Pass number of elements in various directions, the inner and outer radius and the length of the tube.
Definition at line 45 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, and Outer_boundary_cross_section_pt.
|
delete |
Broken copy constructor.
|
inline |
Destructor:
Definition at line 84 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, and Outer_boundary_cross_section_pt.
|
inline |
Function that implements axial spacing of macro elements.
Definition at line 104 of file quarter_pipe_domain.h.
References Axial_spacing_fct_pt.
Referenced by macro_element_boundary().
|
inline |
Function pointer for function that implements axial spacing of macro elements.
Definition at line 97 of file quarter_pipe_domain.h.
References Axial_spacing_fct_pt.
|
inlinestaticprivate |
Default for function that implements axial spacing of macro elements.
Definition at line 151 of file quarter_pipe_domain.h.
void oomph::QuarterPipeDomain::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 (U/D/L/R/F/B) at time level t (t=0: present; t>0: previous): f(s).
Vector representation of the imacro-th macro element boundary idirect (U/D/L/R/F/B) at time level t: f(s)
Definition at line 230 of file quarter_pipe_domain.h.
References axial_spacing_fct(), Length, Nr, Ntheta, Nz, r_B(), r_D(), r_F(), r_L(), r_R(), r_U(), Rmax, and Rmin.
|
delete |
Broken assignment operator.
|
private |
Boundary of macro element zeta .
Back face of a macro element .
Definition at line 490 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Boundary of macro element zeta .
Left face of a macro element .
Definition at line 387 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Boundary of macro element zeta .
Front face of a macro element .
Definition at line 455 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Boundary of macro element zeta .
Left face of a macro element .
Definition at line 304 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Boundary of macro element zeta .
Right face of a macro element .
Definition at line 345 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Boundary of macro element zeta .
Right face of a macro element .
Definition at line 421 of file quarter_pipe_domain.h.
References Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, Rmax, and Rmin.
Referenced by macro_element_boundary().
|
private |
Function pointer for function that implements axial spacing of macro elements.
Definition at line 147 of file quarter_pipe_domain.h.
Referenced by axial_spacing_fct(), and axial_spacing_fct_pt().
|
private |
Geom object representing the inner boundary of the cross section.
Definition at line 143 of file quarter_pipe_domain.h.
Referenced by QuarterPipeDomain(), r_B(), r_D(), r_F(), r_L(), r_R(), r_U(), and ~QuarterPipeDomain().
|
private |
Length.
Definition at line 135 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary().
|
private |
Number of elements radial direction.
Definition at line 123 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary().
|
private |
Number of elements azimuthal direction.
Definition at line 120 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary().
|
private |
Number of elements axial direction.
Definition at line 126 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary().
|
private |
Geom object representing the outer boundary of the cross section.
Definition at line 139 of file quarter_pipe_domain.h.
Referenced by QuarterPipeDomain(), r_B(), r_D(), r_F(), r_L(), r_R(), r_U(), and ~QuarterPipeDomain().
|
private |
Outer radius.
Definition at line 132 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), r_B(), r_D(), r_F(), r_L(), r_R(), and r_U().
|
private |
Inner radius.
Definition at line 129 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), r_B(), r_D(), r_F(), r_L(), r_R(), and r_U().