26#ifndef OOMPH_DOMAIN_HEADER
27#define OOMPH_DOMAIN_HEADER
32#include <oomph-lib-config.h>
167 throw OomphLibError(
"Domain::macro_element_boundary() is broken virtual.",
188 const unsigned&
nplot)
198 const unsigned&
nplot)
219 "Domain::dmacro_element_boundary() is broken virtual.",
235 "Domain::dmacro_element_boundary() is broken virtual.",
265 "Domain::d2macro_element_boundary() is broken virtual.",
280 "Domain::d2macro_element_boundary() is broken virtual.",
Base class for Domains with curvilinear and/or time-dependent boundaries. Domain boundaries are typic...
virtual void macro_element_boundary(const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at conti...
void operator=(const Domain &)=delete
Broken assignment operator.
Vector< MacroElement * > Macro_element_pt
Vector of pointers to macro elements.
unsigned nmacro_element()
Number of macro elements in domain.
void output_macro_element_boundaries(std::ostream &outfile, const unsigned &nplot)
Output all macro element boundaries as tecplot zones.
virtual void d2macro_element_boundary(const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary seocond derivatives i_direct (e....
void dmacro_element_boundary(const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e....
void output(const std::string &filename, const unsigned &nplot)
Output macro elements.
void d2macro_element_boundary(const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e....
virtual void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)=0
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at time ...
void macro_element_boundary(const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at curre...
void output(std::ostream &outfile, const unsigned &nplot)
Output macro elements.
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
void output_macro_element_boundaries(const std::string &filename, const unsigned &nplot)
Output all macro element boundaries as tecplot zones.
Domain(const Domain &)=delete
Broken copy constructor.
virtual void dmacro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e....
virtual void dmacro_element_boundary(const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e....
virtual ~Domain()
Destructor: Strictly speaking, whoever creates an object dynamically should be responsible for the cl...
virtual void d2macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e....
double size() const
Calculate the size of the element (length, area, volume,...) in Eulerian computational coordinates....
Base class for MacroElement s that are used during mesh refinement in domains with curvlinear and/or ...
virtual void output_macro_element_boundaries(std::ostream &outfile, const unsigned &nplot)=0
Output all macro element boundaries as tecplot zones.
An OomphLibError object which should be thrown when an run-time error is encountered....
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
void output(std::ostream &outfile)
Output function: x,y,u or x,y,z,u.
Warped cube as domain which is parametrised by a single macro element.
void r_U(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Up boundary face zeta .
void operator=(const WarpedCubeDomain &)=delete
Broken assignment operator.
void r_R(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Right boundary face zeta .
void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Vector representation of the i_macro-th macro element boundary i_direct (L/R/D/U/B/F) at time level t...
WarpedCubeDomain(const WarpedCubeDomain &)=delete
Broken copy constructor.
void r_F(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Front boundary face zeta .
void r_L(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Left boundary face zeta .
void r_D(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Down boundary face zeta .
void r_B(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Back boundary face zeta .
void warp_it(Vector< double > &f)
Warp the unit cube.
WarpedCubeDomain()
Constructor:
~WarpedCubeDomain()
Destructor (empty; clean up handled in base class)
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).