Public Member Functions | Private Attributes | List of all members
oomph::AnnularDomain Class Reference

Annular domain. More...

#include <annular_domain.h>

+ Inheritance diagram for oomph::AnnularDomain:

Public Member Functions

 AnnularDomain (const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, const double &phi)
 Constructor: Specify azimuthal fraction (1.0 is 360 degrees) number of macro elements in azimuthal and radial direction, inner radius and thickness. Rotate mesh by angle phi. More...
 
 AnnularDomain (const AnnularDomain &)=delete
 Broken copy constructor. More...
 
void operator= (const AnnularDomain &)=delete
 Broken assignment operator. More...
 
 ~AnnularDomain ()
 Destructor: Empty; cleanup done in base class. 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 (N/S/W/E) 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 &)=delete
 Broken copy constructor. More...
 
void operator= (const Domain &)=delete
 Broken assignment operator. More...
 
virtual ~Domain ()
 Destructor: Strictly speaking, whoever creates an object dynamically should be responsible for the cleanup of said object but it makes sense here for the Domain to generically kill any MacroElements left over in the MacroElement container (if it hasn't already been done in the derived class) to avoid memory leaks. 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...
 
virtual void macro_element_boundary (const double &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 (e.g. N/S/W/E in 2D) at continuous time, t. 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...
 
virtual void dmacro_element_boundary (const double &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 continuous time level t. 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...
 
virtual void d2macro_element_boundary (const double &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 seocond derivatives i_direct (e.g. N/S/W/E in 2D) at continuous time level t. 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 Attributes

double Azimuthal_fraction
 Azimuthal fraction. More...
 
double Inner_radius
 Inner radius. More...
 
double Thickness
 Thickness. More...
 
unsigned Ntheta
 Number of macro elements in azimuthal direction. More...
 
unsigned Nr
 Number of macro elements in radial direction. More...
 
double Phi
 Rotation angle. More...
 

Additional Inherited Members

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

Detailed Description

Annular domain.

Definition at line 39 of file annular_domain.h.

Constructor & Destructor Documentation

◆ AnnularDomain() [1/2]

oomph::AnnularDomain::AnnularDomain ( const double &  azimuthal_fraction,
const unsigned &  ntheta,
const unsigned &  nr,
const double &  a,
const double &  h,
const double &  phi 
)
inline

Constructor: Specify azimuthal fraction (1.0 is 360 degrees) number of macro elements in azimuthal and radial direction, inner radius and thickness. Rotate mesh by angle phi.

Definition at line 45 of file annular_domain.h.

References i, and oomph::Domain::Macro_element_pt.

◆ AnnularDomain() [2/2]

oomph::AnnularDomain::AnnularDomain ( const AnnularDomain )
delete

Broken copy constructor.

◆ ~AnnularDomain()

oomph::AnnularDomain::~AnnularDomain ( )
inline

Destructor: Empty; cleanup done in base class.

Definition at line 75 of file annular_domain.h.

Member Function Documentation

◆ macro_element_boundary()

void oomph::AnnularDomain::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 (N/S/W/E) at time level t (t=0: present; t>0: previous): f(s).

////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////

Vector representation of the imacro-th macro element boundary idirect (N/S/W/E) at time level t (t=0: present; t>0: previous): f(s)

Implements oomph::Domain.

Definition at line 119 of file annular_domain.h.

References Azimuthal_fraction, oomph::QuadTreeNames::E, Inner_radius, oomph::QuadTreeNames::N, Nr, Ntheta, Phi, oomph::MathematicalConstants::Pi, s, oomph::QuadTreeNames::S, Thickness, and oomph::QuadTreeNames::W.

◆ operator=()

void oomph::AnnularDomain::operator= ( const AnnularDomain )
delete

Broken assignment operator.

Member Data Documentation

◆ Azimuthal_fraction

double oomph::AnnularDomain::Azimuthal_fraction
private

Azimuthal fraction.

Definition at line 90 of file annular_domain.h.

Referenced by macro_element_boundary().

◆ Inner_radius

double oomph::AnnularDomain::Inner_radius
private

Inner radius.

Definition at line 93 of file annular_domain.h.

Referenced by macro_element_boundary().

◆ Nr

unsigned oomph::AnnularDomain::Nr
private

Number of macro elements in radial direction.

Definition at line 102 of file annular_domain.h.

Referenced by macro_element_boundary().

◆ Ntheta

unsigned oomph::AnnularDomain::Ntheta
private

Number of macro elements in azimuthal direction.

Definition at line 99 of file annular_domain.h.

Referenced by macro_element_boundary().

◆ Phi

double oomph::AnnularDomain::Phi
private

Rotation angle.

Definition at line 105 of file annular_domain.h.

Referenced by macro_element_boundary().

◆ Thickness

double oomph::AnnularDomain::Thickness
private

Thickness.

Definition at line 96 of file annular_domain.h.

Referenced by macro_element_boundary().


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