![]() |
|
#include <full_circle_domain.h>
Public Member Functions | |
FullCircleDomain (GeomObject *area_geom_object_pt, const Vector< double > &theta_positions, const Vector< double > &radius_box) | |
FullCircleDomain (const FullCircleDomain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const FullCircleDomain &)=delete |
Broken assignment operator. More... | |
~FullCircleDomain () | |
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) |
![]() | |
Domain () | |
Constructor. More... | |
Domain (const Domain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const Domain &)=delete |
Broken assignment operator. More... | |
virtual | ~Domain () |
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... | |
virtual void | macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
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) |
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Private Member Functions | |
void | lin_interpolate (const Vector< double > &low, const Vector< double > &high, const double &s, Vector< double > &f) |
Private Attributes | |
Vector< double > | Theta_positions |
Vector< double > | Radius_box |
GeomObject * | Area_pt |
Pointer to geometric object that represents the domain. More... | |
Additional Inherited Members | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Topologically circular domain, e.g. a tube cross section. The entire domain must be defined by a GeomObject with the following convention: zeta[0] is the radial coordinate and zeta[1] is the theta coordinate around the cross-sectin. The outer boundary must lie at zeta[0] = 1.
The domain is parametrised by five macro elements (a central box surrounded by four curved elements). The labelling of the macro elements is shown below.
|\ /| | \ Macro / | | 3 Element 3 2 | | \ / | | -------------—/ | | | | | | 4 | Macro | | | | Element 0 | 2 | | | | | | --------------— | | / \ | | 0 Macro 1 | | / Element 1 \ | | / | |/----------------------—|
|
inline |
Constructor: Pass geometric object; the theta locations marking the division between the elements of the outer ring, labelled from the lower left to the upper left in order, theta should be in the range \(-\pi\) to \(\pi\); and the corresponding fractions of the radius at which the central box is to be placed.
References i, and oomph::Domain::Macro_element_pt.
|
delete |
Broken copy constructor.
|
inline |
|
inlineprivate |
A very little linear interpolation helper. Interpolate from the low point to the high point using the coordinate s, which is assumed to run from -1 to 1.
Referenced by macro_element_boundary().
|
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.
References Area_pt, Global_Physical_Variables::E, f(), j, lin_interpolate(), N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, constants::pi, oomph::MathematicalConstants::Pi, oomph::GeomObject::position(), Radius_box, s, oomph::QuadTreeNames::S, plotPSD::t, Theta_positions, oomph::QuadTreeNames::W, and Eigen::zeta().
|
delete |
Broken assignment operator.
|
private |
Pointer to geometric object that represents the domain.
Referenced by macro_element_boundary().
Storage for the fraction of the radius at which the central box should be located corresponding to the chosen values of theta.
Referenced by macro_element_boundary().
Storage for the dividing lines on the boundary starting from the lower left and proceeding anticlockwise to the upper left
Referenced by macro_element_boundary().