27#ifndef OOMPH_FISH_DOMAIN_HEADER
28#define OOMPH_FISH_DOMAIN_HEADER
31#include "generic/quadtree.h"
32#include "generic/domain.h"
33#include "generic/geom_objects.h"
313#ifdef WARN_ABOUT_SUBTLY_CHANGED_OOMPH_INTERFACES
316 "Order of function arguments has changed between versions 0.8 and 0.85",
317 "FishDomain::macro_element_boundary(...)",
Fish shaped domain, represented by four MacroElements. Shape is parametrised by GeomObject that repre...
void r_upper_fin_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper fin macro element zeta .
double Y_fin
Y coordinate of fin tip.
void r_lower_fin_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower fin macro element zeta .
double & xi_nose()
Start coordinate on wall (near nose)
void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &zeta, Vector< double > &r)
Vector representation of the i_macro-th macro element boundary i_direct (N/S/W/E) at the discrete tim...
double Xi_tail
"Tail" limit for the (1D) coordinates along the wall
void operator=(const FishDomain &)=delete
Broken assignment operator.
void r_lower_body_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower body macro element zeta .
void r_upper_body_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper body macro element zeta .
void r_upper_body_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper body macro element zeta .
void r_upper_fin_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper fin macro element zeta .
void r_lower_fin_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower fin macro element zeta .
void r_upper_fin_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper fin macro element zeta .
void r_lower_body_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower body macro element zeta .
FishDomain(const FishDomain &)=delete
Broken copy constructor.
double & y_fin()
y-position of fin tip
void r_lower_fin_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower fin macro element zeta .
double & x_mouth()
x-position of mouth
FishDomain(GeomObject *back_pt, const double &xi_nose, const double &xi_tail)
Constructor: Pass pointer to GeomObject that represents the (upper) curved boundary of the fish's bod...
double X_mouth
X coordinate of corner of mouth.
void r_lower_body_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Southern boundary of lower body macro element zeta .
void r_lower_fin_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower fin macro element zeta .
virtual ~FishDomain()
Destructor for FishDomain: Empty; cleanup done in base class.
void r_lower_body_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of lower body macro element zeta .
void r_upper_body_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper body macro element zeta .
void r_upper_fin_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper fin macro element zeta .
double & x_fin()
x-position of fin tip
GeomObject * Back_pt
Pointer to the fish's back.
double X_fin
X coordinate of fin tip.
void r_upper_body_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of upper body macro element zeta .
double Xi_nose
"Nose" limit for the (1D) coordinates along the wall
double & xi_tail()
End coordinate on wall (near tail)
Collapsible channel mesh with MacroElement-based node update. The collapsible segment is represented ...