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 &) | |
Broken copy constructor. More... | |
void | operator= (const QuarterPipeDomain &) |
Broken assignment operator. More... | |
~QuarterPipeDomain () | |
Destructor: Cleanup. 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... | |
![]() | |
Domain () | |
Constructor. More... | |
Domain (const Domain &) | |
Broken copy constructor. More... | |
void | operator= (const Domain &) |
Broken assignment operator. More... | |
virtual | ~Domain () |
Virtual destructor: Empty. 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... | |
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... | |
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... | |
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_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... | |
Additional Inherited Members | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Domain representing a quarter pipe.
Definition at line 46 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 105 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 53 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, oomph::Domain::Macro_element_pt, and Outer_boundary_cross_section_pt.
|
inline |
Broken copy constructor.
Definition at line 79 of file quarter_pipe_domain.h.
References oomph::BrokenCopy::broken_copy().
|
inline |
Destructor: Cleanup.
Definition at line 92 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, oomph::Domain::Macro_element_pt, Nr, Ntheta, Nz, and Outer_boundary_cross_section_pt.
|
inline |
Function that implements axial spacing of macro elements.
Definition at line 116 of file quarter_pipe_domain.h.
References Axial_spacing_fct_pt, macro_element_boundary(), s, and t.
Referenced by macro_element_boundary().
|
inline |
Function pointer for function that implements axial spacing of macro elements.
Definition at line 109 of file quarter_pipe_domain.h.
References Axial_spacing_fct_pt.
|
inlinestaticprivate |
|
virtual |
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)
Implements oomph::Domain.
Definition at line 222 of file quarter_pipe_domain.h.
References axial_spacing_fct(), oomph::OcTreeNames::B, oomph::OcTreeNames::D, oomph::OcTreeNames::F, oomph::BinaryTreeNames::L, Length, Nr, Ntheta, Nz, oomph::MathematicalConstants::Pi, oomph::BinaryTreeNames::R, r_B(), r_D(), r_F(), r_L(), r_R(), r_U(), Rmax, Rmin, and oomph::OcTreeNames::U.
Referenced by axial_spacing_fct().
|
inline |
Broken assignment operator.
Definition at line 86 of file quarter_pipe_domain.h.
References oomph::BrokenCopy::broken_assign().
|
private |
Boundary of macro element zeta .
Back face of a macro element .
Definition at line 472 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Boundary of macro element zeta .
Left face of a macro element .
Definition at line 376 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Boundary of macro element zeta .
Front face of a macro element .
Definition at line 441 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Boundary of macro element zeta .
Left face of a macro element .
Definition at line 300 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Boundary of macro element zeta .
Right face of a macro element .
Definition at line 336 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Boundary of macro element zeta .
Right face of a macro element .
Definition at line 408 of file quarter_pipe_domain.h.
References i, Inner_boundary_cross_section_pt, Outer_boundary_cross_section_pt, oomph::GeomObject::position(), Rmax, and Rmin.
Referenced by default_axial_spacing_fct(), and macro_element_boundary().
|
private |
Function pointer for function that implements axial spacing of macro elements.
Definition at line 160 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 156 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 148 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary().
|
private |
Number of elements radial direction.
Definition at line 136 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), and ~QuarterPipeDomain().
|
private |
Number of elements azimuthal direction.
Definition at line 133 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), and ~QuarterPipeDomain().
|
private |
Number of elements axial direction.
Definition at line 139 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), and ~QuarterPipeDomain().
|
private |
Geom object representing the outer boundary of the cross section.
Definition at line 152 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 145 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 142 of file quarter_pipe_domain.h.
Referenced by macro_element_boundary(), r_B(), r_D(), r_F(), r_L(), r_R(), and r_U().