27#ifndef OOMPH_EIGHTH_SPHERE_DOMAIN_HEADER
28#define OOMPH_EIGHTH_SPHERE_DOMAIN_HEADER
80 using namespace OcTreeNames;
82#ifdef WARN_ABOUT_SUBTLY_CHANGED_OOMPH_INTERFACES
85 "Order of function arguments has changed between versions 0.8 and 0.85",
86 "EighthSphereDomain::macro_element_boundary(...)",
123 std::ostringstream error_message;
125 <<
"not one of L, R, U, D, B, F" << std::endl;
164 std::ostringstream error_message;
166 <<
"not one of L, R, U, D, B, F" << std::endl;
205 std::ostringstream error_message;
207 <<
"not one of L, R, U, D, B, F" << std::endl;
245 std::ostringstream error_message;
247 <<
"not one of L, R, U, D, B, F" << std::endl;
258 std::ostringstream error_message;
260 <<
", but should be in the range 0-3" << std::endl;
518 double k0 = 0.5 * (1.0 +
zeta[0]);
519 double k1 = 0.5 * (1.0 +
zeta[1]);
531 for (
unsigned i = 0;
i < 3;
i++)
535 double alpha =
Radius / std::sqrt(
p[0] *
p[0] +
p[1] *
p[1] +
p[2] *
p[2]);
537 for (
unsigned i = 0;
i < 3;
i++)
564 for (
unsigned i = 0;
i < 3;
i++)
592 for (
unsigned i = 0;
i < 3;
i++)
620 for (
unsigned i = 0;
i < 3;
i++)
648 for (
unsigned i = 0;
i < 3;
i++)
676 for (
unsigned i = 0;
i < 3;
i++)
713 double k0 = 0.5 * (1.0 +
zeta[0]);
714 double k1 = 0.5 * (1.0 +
zeta[1]);
726 for (
unsigned i = 0;
i < 3;
i++)
730 double alpha =
Radius / std::sqrt(
p[0] *
p[0] +
p[1] *
p[1] +
p[2] *
p[2]);
732 for (
unsigned i = 0;
i < 3;
i++)
759 for (
unsigned i = 0;
i < 3;
i++)
787 for (
unsigned i = 0;
i < 3;
i++)
815 for (
unsigned i = 0;
i < 3;
i++)
857 for (
unsigned i = 0;
i < 3;
i++)
894 double k0 = 0.5 * (1.0 +
zeta[0]);
895 double k1 = 0.5 * (1.0 +
zeta[1]);
907 for (
unsigned i = 0;
i < 3;
i++)
911 double alpha =
Radius / std::sqrt(
p[0] *
p[0] +
p[1] *
p[1] +
p[2] *
p[2]);
913 for (
unsigned i = 0;
i < 3;
i++)
Base class for Domains with curvilinear and/or time-dependent boundaries. Domain boundaries are typic...
Vector< MacroElement * > Macro_element_pt
Vector of pointers to macro elements.
Eighth sphere as domain. Domain is parametrised by four macro elements.
void r_right_U(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
void r_centr_F(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
void r_front_L(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_centr_R(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
void macro_element_boundary(const unsigned &t, const unsigned &imacro, const unsigned &idirect, const Vector< double > &s, Vector< double > &f)
Vector representation of the imacro-th macro element boundary idirect (L/R/D/U/B/F) at time level t (...
void r_up_U(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_centr_B(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
void r_front_D(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_right_R(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
void r_front_R(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
EighthSphereDomain(const EighthSphereDomain &)=delete
Broken copy constructor.
void r_front_F(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_right_D(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
EighthSphereDomain(const double &radius)
Constructor: Pass the radius of the sphere.
void operator=(const EighthSphereDomain &)=delete
Broken assignment operator.
void r_up_F(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_right_F(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
void r_front_B(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_centr_D(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
void r_up_B(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
~EighthSphereDomain()
Destructor: Empty; cleanup done in base class.
void r_right_B(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
void r_right_L(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of right box macro element zeta .
void r_up_R(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_up_D(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_centr_L(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
void r_front_U(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_up_L(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of top left box macro element zeta .
void r_centr_U(const unsigned &t, const Vector< double > &zeta, Vector< double > &f)
Boundary of central box macro element zeta .
static Vector< std::string > Direct_string
Translate (enumerated) directions into strings.
An OomphLibError object which should be thrown when an run-time error is encountered....
An OomphLibWarning object which should be created as a temporary object to issue a warning....
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).