![]() |
|
#include <fish_domain.h>
Public Member Functions | |
FishDomain (GeomObject *back_pt, const double &xi_nose, const double &xi_tail) | |
FishDomain (const FishDomain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const FishDomain &)=delete |
Broken assignment operator. More... | |
virtual | ~FishDomain () |
Destructor for FishDomain: Empty; cleanup done in base class. More... | |
double & | x_fin () |
x-position of fin tip More... | |
double & | y_fin () |
y-position of fin tip More... | |
double & | x_mouth () |
x-position of mouth More... | |
double & | xi_nose () |
Start coordinate on wall (near nose) More... | |
double & | xi_tail () |
End coordinate on wall (near tail) More... | |
void | macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &zeta, Vector< double > &r) |
![]() | |
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 | r_upper_body_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper body macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_body_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper body macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_body_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper body macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_body_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper body macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_fin_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper fin macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_fin_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper fin macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_fin_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper fin macro element zeta \( \in [-1,1] \). More... | |
void | r_upper_fin_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of upper fin macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_body_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower body macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_body_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower body macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_body_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Southern boundary of lower body macro element zeta \(\in [-1,1] \). More... | |
void | r_lower_body_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower body macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_fin_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower fin macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_fin_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower fin macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_fin_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower fin macro element zeta \( \in [-1,1] \). More... | |
void | r_lower_fin_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &f) |
Boundary of lower fin macro element zeta \( \in [-1,1] \). More... | |
Private Attributes | |
double | Xi_nose |
"Nose" limit for the (1D) coordinates along the wall More... | |
double | Xi_tail |
"Tail" limit for the (1D) coordinates along the wall More... | |
double | X_fin |
X coordinate of fin tip. More... | |
double | Y_fin |
Y coordinate of fin tip. More... | |
double | X_mouth |
X coordinate of corner of mouth. More... | |
GeomObject * | Back_pt |
Pointer to the fish's back. More... | |
Additional Inherited Members | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Fish shaped domain, represented by four MacroElements. Shape is parametrised by GeomObject that represents the fish's back.
|
inline |
Constructor: Pass pointer to GeomObject that represents the (upper) curved boundary of the fish's body, and the start and end values of the Lagrangian coordinates along the GeomObject.
References i, oomph::Domain::Macro_element_pt, X_fin, X_mouth, and Y_fin.
|
delete |
Broken copy constructor.
|
inlinevirtual |
|
virtual |
Vector representation of the i_macro-th macro element boundary i_direct (N/S/W/E) at the discrete time level t (t=0: present; t>0: previous): \( {\bf r}({\bf zeta}) \) Note that the local coordinate zeta is a 1D Vector rather than a scalar – this is unavoidable because this function implements the pure virtual function in the Domain base class.
////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// Vector representation of the imacro-th macro element boundary idirect (N/S/W/E) at time level t (t=0: present; t>0: previous): \( {\bf r}({\bf zeta}) \) Note that the local coordinate zeta is a 1D Vector rather than a scalar – this is unavoidable because this function implements the pure virtual function in the Domain base class.
Implements oomph::Domain.
References Global_Physical_Variables::E, N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, UniformPSDSelfTest::r, r_lower_body_E(), r_lower_body_N(), r_lower_body_S(), r_lower_body_W(), r_lower_fin_E(), r_lower_fin_N(), r_lower_fin_S(), r_lower_fin_W(), r_upper_body_E(), r_upper_body_N(), r_upper_body_S(), r_upper_body_W(), r_upper_fin_E(), r_upper_fin_N(), r_upper_fin_S(), r_upper_fin_W(), oomph::QuadTreeNames::S, plotPSD::t, oomph::QuadTreeNames::W, and Eigen::zeta().
|
delete |
Broken assignment operator.
|
inlineprivate |
Boundary of lower body macro element zeta \( \in [-1,1] \).
References f(), r_upper_body_E(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower body macro element zeta \( \in [-1,1] \).
References f(), r_upper_body_S(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Southern boundary of lower body macro element zeta \(\in [-1,1] \).
References f(), r_upper_body_N(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower body macro element zeta \( \in [-1,1] \).
References f(), r_upper_body_W(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower fin macro element zeta \( \in [-1,1] \).
References f(), r_upper_fin_E(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower fin macro element zeta \( \in [-1,1] \).
References f(), r_upper_fin_S(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower fin macro element zeta \( \in [-1,1] \).
References f(), r_upper_fin_N(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
inlineprivate |
Boundary of lower fin macro element zeta \( \in [-1,1] \).
References f(), r_upper_fin_W(), plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
private |
Boundary of upper body macro element zeta \( \in [-1,1] \).
Eastern edge of upper body macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, Xi_tail, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_body_E().
|
private |
Boundary of upper body macro element zeta \( \in [-1,1] \).
Northern edge of upper body macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, Xi_nose, Xi_tail, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_body_S().
|
private |
Boundary of upper body macro element zeta \( \in [-1,1] \).
Southern edge of upper body macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, X_mouth, Xi_tail, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_body_N().
|
private |
Boundary of upper body macro element zeta \( \in [-1,1] \).
Western edge of upper body macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, X_mouth, Xi_nose, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_body_W().
|
private |
Boundary of upper fin macro element zeta \( \in [-1,1] \).
Eastern edge of upper fin macro element; \( \zeta \in [-1,1] \).
References UniformPSDSelfTest::r, X_fin, Y_fin, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_fin_E().
|
private |
Boundary of upper fin macro element zeta \( \in [-1,1] \).
Northern edge of upper fin macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, X_fin, Xi_tail, Y_fin, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_fin_S().
|
private |
Boundary of upper fin macro element zeta \( \in [-1,1] \).
Southern edge of upper fin macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, Xi_tail, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_fin_N().
|
private |
Boundary of upper fin macro element zeta \( \in [-1,1] \).
Western edge of upper fin macro element; \( \zeta \in [-1,1] \).
References Back_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, plotDoE::x, Xi_tail, and Eigen::zeta().
Referenced by macro_element_boundary(), and r_lower_fin_W().
|
inline |
|
inline |
|
inline |
Start coordinate on wall (near nose)
References Xi_nose.
Referenced by oomph::AlgebraicFishMesh< ELEMENT >::update_node_update().
|
inline |
End coordinate on wall (near tail)
References Xi_tail.
Referenced by oomph::AlgebraicFishMesh< ELEMENT >::update_node_update().
|
inline |
|
private |
Pointer to the fish's back.
Referenced by r_upper_body_E(), r_upper_body_N(), r_upper_body_S(), r_upper_body_W(), r_upper_fin_N(), r_upper_fin_S(), and r_upper_fin_W().
|
private |
X coordinate of fin tip.
Referenced by FishDomain(), r_upper_fin_E(), r_upper_fin_N(), and x_fin().
|
private |
X coordinate of corner of mouth.
Referenced by FishDomain(), r_upper_body_S(), r_upper_body_W(), and x_mouth().
|
private |
"Nose" limit for the (1D) coordinates along the wall
Referenced by r_upper_body_N(), r_upper_body_W(), and xi_nose().
|
private |
"Tail" limit for the (1D) coordinates along the wall
Referenced by r_upper_body_E(), r_upper_body_N(), r_upper_body_S(), r_upper_fin_N(), r_upper_fin_S(), r_upper_fin_W(), and xi_tail().
|
private |
Y coordinate of fin tip.
Referenced by FishDomain(), r_upper_fin_E(), r_upper_fin_N(), and y_fin().