27 #ifndef OOMPH_TOPOLOGICALLY_RECTANGULAR_DOMAIN_HEADER 
   28 #define OOMPH_TOPOLOGICALLY_RECTANGULAR_DOMAIN_HEADER 
   33 #include <oomph-lib-config.h> 
   38 #include "../generic/domain.h" 
  127                                 const unsigned& i_macro,
 
  128                                 const unsigned& i_direct,
 
  129                                 const Vector<double>& s,
 
  137                                  const unsigned& i_macro,
 
  138                                  const unsigned& i_direct,
 
  139                                  const Vector<double>& s,
 
  147                                   const unsigned& i_macro,
 
  148                                   const unsigned& i_direct,
 
  149                                   const Vector<double>& s,
 
  220     void r_N(
const Vector<double>& s, Vector<double>& f);
 
  224     void r_E(
const Vector<double>& s, Vector<double>& f);
 
  228     void r_S(
const Vector<double>& s, Vector<double>& f);
 
  233     void r_W(
const Vector<double>& s, Vector<double>& f);
 
  239     void dr_N(
const Vector<double>& s, Vector<double>& dr);
 
  244     void dr_E(
const Vector<double>& s, Vector<double>& dr);
 
  249     void dr_S(
const Vector<double>& s, Vector<double>& dr);
 
  254     void dr_W(
const Vector<double>& s, Vector<double>& dr);
 
  260     void d2r_N(
const Vector<double>& s, Vector<double>& d2r);
 
  265     void d2r_E(
const Vector<double>& s, Vector<double>& d2r);
 
  270     void d2r_S(
const Vector<double>& s, Vector<double>& d2r);
 
  275     void d2r_W(
const Vector<double>& s, Vector<double>& d2r);
 
Topologically Rectangular Domain - a domain dexcribing a topologically rectangular problem - primaril...
void r_E(const Vector< double > &s, Vector< double > &f)
takes the macro element coordinate position along the east boundary and returns the global coordinate...
void d2macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
returns the second derivates of the global coordinate position (f) wrt to the macro element coordinat...
BoundaryFctPt d2North_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
void dmacro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
returns the derivates of the global coordinate position (f) wrt to the macro element coordinate at ma...
void dr_E(const Vector< double > &s, Vector< double > &dr)
takes the macro element coordinate position along the E boundary and returns the derivates of the glo...
void dr_S(const Vector< double > &s, Vector< double > &dr)
takes the macro element coordinate position along the south boundary and returns the derivates of the...
void operator=(const TopologicallyRectangularDomain &)=delete
Broken assignment operator.
Vector< double > x_south_west
coordinate position of south west corner of domain (only used if boundary functions are not used)
BoundaryFctPt d2East_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
void d2r_W(const Vector< double > &s, Vector< double > &d2r)
takes the macro element coordinate position along the west boundary and returns the second derivates ...
BoundaryFctPt South_boundary_fn_pt
Function pointer to prescribe the north boundary of this topologically rectangular domain.
TopologicallyRectangularDomain(const TopologicallyRectangularDomain &)=delete
Broken copy constructor.
void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
returns the global coordinate position (f) of macro element position s on boundary i_direct (e....
BoundaryFctPt dEast_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
BoundaryFctPt d2West_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
void set_boundary_second_derivative_functions(BoundaryFctPt d2_north_pt, BoundaryFctPt d2_east_pt, BoundaryFctPt d2_south_pt, BoundaryFctPt d2_west_pt)
allows the boundary second derivate function pointers to be set. To compute the second derivatives of...
void r_N(const Vector< double > &s, Vector< double > &f)
takes the macro element coordinate position along the north boundary and returns the global coordinat...
void d2r_N(const Vector< double > &s, Vector< double > &d2r)
takes the macro element coordinate position along the north boundary and returns the second derivates...
BoundaryFctPt d2South_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
void r_S(const Vector< double > &s, Vector< double > &f)
takes the macro element coordinate position along the south boundary and returns the global coordinat...
BoundaryFctPt North_boundary_fn_pt
Function pointer to prescribe the north boundary of this topologically rectangular domain.
void set_boundary_derivative_functions(BoundaryFctPt d_north_pt, BoundaryFctPt d_east_pt, BoundaryFctPt d_south_pt, BoundaryFctPt d_west_pt)
allows the boundary derivate function pointers to be set. To compute the derivatives of the problem d...
void(* BoundaryFctPt)(const double &s, Vector< double > &r)
boundary function pointer - for a given boundary takes the macro element coordinate position on that ...
BoundaryFctPt dWest_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
void dr_W(const Vector< double > &s, Vector< double > &dr)
takes the macro element coordinate position along the W boundary and returns the derivates of the glo...
void r_W(const Vector< double > &s, Vector< double > &f)
takes the macro element coordinate position along the west boundary and returns the global coordinate...
~TopologicallyRectangularDomain()
Destructor - empty; clean up done in base class.
void d2r_E(const Vector< double > &s, Vector< double > &d2r)
takes the macro element coordinate position along the east boundary and returns the second derivates ...
BoundaryFctPt West_boundary_fn_pt
Function pointer to prescribe the west boundary of this topologically rectangular domain.
BoundaryFctPt East_boundary_fn_pt
Function pointer to prescribe the east boundary of this topologically rectangular domain.
TopologicallyRectangularDomain(BoundaryFctPt north_pt, BoundaryFctPt east_pt, BoundaryFctPt south_pt, BoundaryFctPt west_pt)
Constructor - domain boundaries are described with four boundary function pointers describing the top...
void dr_N(const Vector< double > &s, Vector< double > &dr)
takes the macro element coordinate position along the north boundary and returns the derivates of the...
void d2r_S(const Vector< double > &s, Vector< double > &d2r)
takes the macro element coordinate position along the south boundary and returns the second derivates...
Vector< double > x_north_east
coordinate position of north east corner of domain (only used if boundary functions are not used)
BoundaryFctPt dSouth_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
BoundaryFctPt dNorth_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
////////////////////////////////////////////////////////////////////// //////////////////////////////...