26 #ifndef OOMPH_ANNULAR_DOMAIN_HEADER
27 #define OOMPH_ANNULAR_DOMAIN_HEADER
30 #include "../generic/quadtree.h"
31 #include "../generic/domain.h"
32 #include "../generic/geom_objects.h"
46 const unsigned& ntheta,
58 const unsigned n_macro = ntheta * nr;
62 for (
unsigned i = 0;
i < n_macro;
i++)
83 const unsigned& i_macro,
84 const unsigned& i_direct,
120 const unsigned& imacro,
121 const unsigned& idirect,
125 using namespace QuadTreeNames;
128 unsigned i_theta = imacro %
Ntheta;
129 unsigned i_r = (imacro - i_theta) /
Ntheta;
157 theta = theta_lo + 0.5 * (
s[0] + 1.0) * (theta_hi - theta_lo);
164 theta = theta_lo + 0.5 * (
s[0] + 1.0) * (theta_hi - theta_lo);
172 r = r_lo + 0.5 * (
s[0] + 1.0) * (r_hi - r_lo);
179 r = r_lo + 0.5 * (
s[0] + 1.0) * (r_hi - r_lo);
184 std::ostringstream error_stream;
185 error_stream <<
"idirect is " << idirect <<
" not one of N, S, W, E"
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Annular domain.
Definition: annular_domain.h:40
double Phi
Rotation angle.
Definition: annular_domain.h:105
unsigned Nr
Number of macro elements in radial direction.
Definition: annular_domain.h:102
AnnularDomain(const AnnularDomain &)=delete
Broken copy constructor.
double Thickness
Thickness.
Definition: annular_domain.h:96
double Inner_radius
Inner radius.
Definition: annular_domain.h:93
unsigned Ntheta
Number of macro elements in azimuthal direction.
Definition: annular_domain.h:99
~AnnularDomain()
Destructor: Empty; cleanup done in base class.
Definition: annular_domain.h:75
AnnularDomain(const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, const double &phi)
Definition: annular_domain.h:45
double Azimuthal_fraction
Azimuthal fraction.
Definition: annular_domain.h:90
void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
Definition: annular_domain.h:119
void operator=(const AnnularDomain &)=delete
Broken assignment operator.
Vector< MacroElement * > Macro_element_pt
Vector of pointers to macro elements.
Definition: domain.h:301
Definition: oomph_definitions.h:222
Definition: macro_element.h:279
@ N
Definition: constructor.cpp:22
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
RealScalar s
Definition: level1_cplx_impl.h:130
const Scalar * a
Definition: level2_cplx_impl.h:32
double theta
Definition: two_d_biharmonic.cc:236
double E
Elastic modulus.
Definition: TwenteMeshGluing.cpp:68
const double Pi
50 digits from maple
Definition: oomph_utilities.h:157
@ S
Definition: quadtree.h:62
@ W
Definition: quadtree.h:63
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
t
Definition: plotPSD.py:36
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86