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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
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().