Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
oomph::QuarterPipeDomain Class Reference

Domain representing a quarter pipe. More...

#include <quarter_pipe_domain.h>

+ Inheritance diagram for oomph::QuarterPipeDomain:

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...
 
AxialSpacingFctPtaxial_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...
 
- Public Member Functions inherited from oomph::Domain
 Domain ()
 Constructor. More...
 
 Domain (const Domain &)
 Broken copy constructor. More...
 
void operator= (const Domain &)
 Broken assignment operator. More...
 
virtual ~Domain ()
 Virtual destructor: Empty. More...
 
MacroElementmacro_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 $ \in [-1,1]x[-1,1] $. 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 $ \in [-1,1]x[-1,1] $. 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 $ \in [-1,1]x[-1,1] $. 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 $ \in [-1,1]x[-1,1] $. 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 $ \in [-1,1]x[-1,1] $. 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 $ \in [-1,1]x[-1,1] $. 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...
 
GeomObjectOuter_boundary_cross_section_pt
 Geom object representing the outer boundary of the cross section. More...
 
GeomObjectInner_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

- Protected Attributes inherited from oomph::Domain
Vector< MacroElement * > Macro_element_pt
 Vector of pointers to macro elements. More...
 

Detailed Description

Domain representing a quarter pipe.

Definition at line 46 of file quarter_pipe_domain.h.

Member Typedef Documentation

◆ AxialSpacingFctPt

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.

Constructor & Destructor Documentation

◆ QuarterPipeDomain() [1/2]

oomph::QuarterPipeDomain::QuarterPipeDomain ( const unsigned &  ntheta,
const unsigned &  nr,
const unsigned &  nz,
const double &  rmin,
const double &  rmax,
const double &  length 
)
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.

◆ QuarterPipeDomain() [2/2]

oomph::QuarterPipeDomain::QuarterPipeDomain ( const QuarterPipeDomain )
inline

Broken copy constructor.

Definition at line 79 of file quarter_pipe_domain.h.

References oomph::BrokenCopy::broken_copy().

◆ ~QuarterPipeDomain()

oomph::QuarterPipeDomain::~QuarterPipeDomain ( )
inline

Member Function Documentation

◆ axial_spacing_fct()

double oomph::QuarterPipeDomain::axial_spacing_fct ( const double &  xi)
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().

◆ axial_spacing_fct_pt()

AxialSpacingFctPt& oomph::QuarterPipeDomain::axial_spacing_fct_pt ( )
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.

◆ default_axial_spacing_fct()

static double oomph::QuarterPipeDomain::default_axial_spacing_fct ( const double &  xi)
inlinestaticprivate

Default for function that implements axial spacing of macro elements.

Definition at line 164 of file quarter_pipe_domain.h.

References r_B(), r_D(), r_F(), r_L(), r_R(), and r_U().

◆ macro_element_boundary()

void oomph::QuarterPipeDomain::macro_element_boundary ( const unsigned &  t,
const unsigned &  imacro,
const unsigned &  idirect,
const Vector< double > &  s,
Vector< double > &  f 
)
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().

◆ operator=()

void oomph::QuarterPipeDomain::operator= ( const QuarterPipeDomain )
inline

Broken assignment operator.

Definition at line 86 of file quarter_pipe_domain.h.

References oomph::BrokenCopy::broken_assign().

◆ r_B()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Back face of a macro element $ s \in [-1,1]*[-1,1] $.

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

◆ r_D()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Left face of a macro element $s \in [-1,1]*[-1,1] $.

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

◆ r_F()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Front face of a macro element $ s \in [-1,1]*[-1,1] $.

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

◆ r_L()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Left face of a macro element $ s \in [-1,1]*[-1,1] $.

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

◆ r_R()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Right face of a macro element $ s \in [-1,1]*[-1,1] $.

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

◆ r_U()

void oomph::QuarterPipeDomain::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 
)
private

Boundary of macro element zeta $ \in [-1,1]x[-1,1] $.

Right face of a macro element $ s \in [-1,1]*[-1,1] $.

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

Member Data Documentation

◆ Axial_spacing_fct_pt

AxialSpacingFctPt oomph::QuarterPipeDomain::Axial_spacing_fct_pt
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().

◆ Inner_boundary_cross_section_pt

GeomObject* oomph::QuarterPipeDomain::Inner_boundary_cross_section_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().

◆ Length

double oomph::QuarterPipeDomain::Length
private

Length.

Definition at line 148 of file quarter_pipe_domain.h.

Referenced by macro_element_boundary().

◆ Nr

unsigned oomph::QuarterPipeDomain::Nr
private

Number of elements radial direction.

Definition at line 136 of file quarter_pipe_domain.h.

Referenced by macro_element_boundary(), and ~QuarterPipeDomain().

◆ Ntheta

unsigned oomph::QuarterPipeDomain::Ntheta
private

Number of elements azimuthal direction.

Definition at line 133 of file quarter_pipe_domain.h.

Referenced by macro_element_boundary(), and ~QuarterPipeDomain().

◆ Nz

unsigned oomph::QuarterPipeDomain::Nz
private

Number of elements axial direction.

Definition at line 139 of file quarter_pipe_domain.h.

Referenced by macro_element_boundary(), and ~QuarterPipeDomain().

◆ Outer_boundary_cross_section_pt

GeomObject* oomph::QuarterPipeDomain::Outer_boundary_cross_section_pt
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().

◆ Rmax

double oomph::QuarterPipeDomain::Rmax
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().

◆ Rmin

double oomph::QuarterPipeDomain::Rmin
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().


The documentation for this class was generated from the following file: