31 #ifndef OOMPH_TOPOLOGICALLY_RECTANGULAR_DOMAIN_HEADER 32 #define OOMPH_TOPOLOGICALLY_RECTANGULAR_DOMAIN_HEADER 37 #include <oomph-lib-config.h> 42 #include "../generic/domain.h" 85 const double& y_min,
const double& y_max);
91 BrokenCopy::broken_copy(
"TopologicallyRectangularDomain");
98 BrokenCopy::broken_assign(
"TopologicallyRectangularDomain");
105 delete Macro_element_pt[0];
106 Macro_element_pt[0] = 0;
144 const unsigned& i_macro,
145 const unsigned& i_direct,
146 const Vector<double>& s,
154 const unsigned& i_macro,
155 const unsigned& i_direct,
156 const Vector<double>& s,
164 const unsigned& i_macro,
165 const unsigned& i_direct,
166 const Vector<double>& s,
238 void r_N(
const Vector<double>& s, Vector<double>& f);
242 void r_E(
const Vector<double>& s, Vector<double>& f);
246 void r_S(
const Vector<double>& s, Vector<double>& f);
251 void r_W(
const Vector<double>& s, Vector<double>& f);
257 void dr_N(
const Vector<double>& s, Vector<double>& dr);
262 void dr_E(
const Vector<double>& s, Vector<double>& dr);
267 void dr_S(
const Vector<double>& s, Vector<double>& dr);
272 void dr_W(
const Vector<double>& s, Vector<double>& dr);
278 void d2r_N(
const Vector<double>& s, Vector<double>& d2r);
283 void d2r_E(
const Vector<double>& s, Vector<double>& d2r);
288 void d2r_S(
const Vector<double>& s, Vector<double>& d2r);
293 void d2r_W(
const Vector<double>& s, Vector<double>& d2r);
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...
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...
BoundaryFctPt d2East_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
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...
BoundaryFctPt d2North_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
BoundaryFctPt dSouth_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
TopologicallyRectangularDomain(const TopologicallyRectangularDomain &)
Broken copy constructor.
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...
BoundaryFctPt dEast_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
void dmacro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
BoundaryFctPt West_boundary_fn_pt
Function pointer to prescribe the west boundary of this topologically rectangular domain...
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...
BoundaryFctPt dWest_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
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 ...
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(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...
BoundaryFctPt South_boundary_fn_pt
Function pointer to prescribe the north boundary of this topologically rectangular domain...
BoundaryFctPt dNorth_boundary_fn_pt
Function pointer to prescribe the derivates of global coordinates wrt to the macro element coordinate...
void operator=(const TopologicallyRectangularDomain &)
Broken assignment operator.
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 d2South_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
Topologically Rectangular Domain - a domain dexcribing a topologically rectangular problem - primaril...
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 d2r_E(const Vector< double > &s, Vector< double > &d2r)
takes the macro element coordinate position along the east boundary and returns the second derivates ...
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(* BoundaryFctPt)(const double &s, Vector< double > &r)
boundary function pointer - for a given boundary takes the macro element coordinate position on that ...
BoundaryFctPt d2West_boundary_fn_pt
Function pointer to prescribe the second derivates of global coordinates wrt to the macro element coo...
BoundaryFctPt North_boundary_fn_pt
Function pointer to prescribe the north boundary of this topologically rectangular domain...
Vector< double > x_south_west
coordinate position of south west corner of domain (only used if boundary functions are not used) ...
void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
~TopologicallyRectangularDomain()
Destructor - deletes the underlying macro element.
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 East_boundary_fn_pt
Function pointer to prescribe the east boundary of this topologically rectangular domain...
Vector< double > x_north_east
coordinate position of north east corner of domain (only used if boundary functions are not used) ...
void d2macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
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 r_E(const Vector< double > &s, Vector< double > &f)
takes the macro element coordinate position along the east boundary and returns the global coordinate...