|
| HalfRectangleWithHoleDomain (GeomObject *cylinder_pt, const double &radius, const double &length, const double &up_length, const unsigned &nup, const double &down_length, const unsigned &ndown, const double &width_near_cylinder, const unsigned &ncolumn) |
|
| ~HalfRectangleWithHoleDomain () |
| Destructor: Empty; cleanup done in base class. More...
|
|
void | linear_interpolate (Vector< double > left, Vector< double > right, const double &s, Vector< double > &f) |
|
void | macro_element_boundary (const unsigned &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f) |
|
| HalfRectangleWithHoleDomain (GeomObject *cylinder_pt, const double &radius, const double &length, const double &up_length, const unsigned &nup, const double &down_length, const unsigned &ndown, const double &width_near_cylinder, const unsigned &ncolumn) |
|
| ~HalfRectangleWithHoleDomain () |
| Destructor: Empty; cleanup done in base class. More...
|
|
void | linear_interpolate (Vector< double > left, Vector< double > right, const double &s, Vector< double > &f) |
|
void | macro_element_boundary (const unsigned &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f) |
|
Public Member Functions inherited from oomph::Domain |
| Domain () |
| Constructor. More...
|
|
| Domain (const Domain &)=delete |
| Broken copy constructor. More...
|
|
void | operator= (const Domain &)=delete |
| Broken assignment operator. More...
|
|
virtual | ~Domain () |
|
MacroElement * | macro_element_pt (const unsigned &i) |
| Access to i-th macro element. More...
|
|
unsigned | nmacro_element () |
| Number of macro elements in domain. More...
|
|
void | output (const std::string &filename, const unsigned &nplot) |
| Output macro elements. More...
|
|
void | output (std::ostream &outfile, const unsigned &nplot) |
| Output macro elements. More...
|
|
virtual void | macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | output_macro_element_boundaries (const std::string &filename, const unsigned &nplot) |
| Output all macro element boundaries as tecplot zones. More...
|
|
void | output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot) |
| Output all macro element boundaries as tecplot zones. More...
|
|
virtual void | dmacro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
Rectangular domain with Half-elliptical hole.
///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
Parametrisation of macro element boundaries: f(s) is the position vector to macro-element m's boundary in the specified direction [N/S/E/W] at the specfied discrete time level (time=0: present; time>0: previous)
Implements oomph::Domain.
221 Vector<double> xi(1);
224 Vector<double> point_on_circle(2);
251 std::ostringstream error_stream;
252 error_stream <<
"Direction is incorrect: " << direction << std::endl;
263 unsigned m_mod =
m -
Nup;
274 xi[0] = 4.0*
atan(1.0) -
atan(1.0)*0.5*(1.0+
s[0]);
283 xi[0] = 4.0*
atan(1.0);
289 xi[0] = 3.0*
atan(1.0);
296 std::ostringstream error_stream;
297 error_stream <<
"Direction is incorrect: " << direction
319 xi[0] = 3.0*
atan(1.0);
325 xi[0] = 3.0*
atan(1.0) - 2.0*
atan(1.0)*0.5*(1.0+
s[0]);
335 std::ostringstream error_stream;
336 error_stream <<
"Direction is incorrect: " << direction << std::endl;
355 xi[0] =
atan(1.0)*0.5*(1.0+
s[0]);
374 std::ostringstream error_stream;
375 error_stream <<
"Direction is incorrect: " << direction << std::endl;
376 throw OomphLibError(error_stream.str(),
388 unsigned m_mod =
m -
Nup -3;
412 std::ostringstream error_stream;
413 error_stream <<
"Direction is incorrect: " << direction << std::endl;
425 unsigned j_col = 1 + m_col/(
Nup+
Ndown+1);
427 unsigned m_mod = m_col%(
Nup+
Ndown+1);
452 std::ostringstream error_stream;
453 error_stream <<
"Direction is incorrect: " << direction << std::endl;
483 std::ostringstream error_stream;
484 error_stream <<
"Direction is incorrect: " << direction << std::endl;
493 unsigned m_mod2 = m_mod -
Nup -1;
517 std::ostringstream error_stream;
518 error_stream <<
"Direction is incorrect: " << direction << std::endl;
528 std::ostringstream error_stream;
529 error_stream <<
"Wrong macro element number" <<
m << std::endl;
virtual void position(const Vector< double > &zeta, Vector< double > &r) const =0
Parametrised position on object at current time: r(zeta).
void linear_interpolate(Vector< double > left, Vector< double > right, const double &s, Vector< double > &f)
Definition: axisym_heat_sphere/half_rectangle_with_hole_mesh.h:200
@ N
Definition: constructor.cpp:22
int * m
Definition: level2_cplx_impl.h:294
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan(const bfloat16 &a)
Definition: BFloat16.h:636
double E
Elastic modulus.
Definition: TwenteMeshGluing.cpp:68
@ S
Definition: quadtree.h:62
@ W
Definition: quadtree.h:63
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
References Eigen::bfloat16_impl::atan(), GlobalParameters::Cylinder_pt, oomph::QuadTreeNames::E, f(), m, oomph::QuadTreeNames::N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, OscillatingCylinder::position(), s, oomph::QuadTreeNames::S, and oomph::QuadTreeNames::W.
Parametrisation of macro element boundaries: f(s) is the position vector to macro-element m's boundary in the specified direction [N/S/E/W] at the specfied discrete time level (time=0: present; time>0: previous)
Implements oomph::Domain.
220 Vector<double> xi(1);
223 Vector<double> point_on_circle(2);
250 std::ostringstream error_stream;
251 error_stream <<
"Direction is incorrect: " << direction << std::endl;
262 unsigned m_mod =
m -
Nup;
273 xi[0] = 4.0*
atan(1.0) -
atan(1.0)*0.5*(1.0+
s[0]);
282 xi[0] = 4.0*
atan(1.0);
288 xi[0] = 3.0*
atan(1.0);
295 std::ostringstream error_stream;
296 error_stream <<
"Direction is incorrect: " << direction
318 xi[0] = 3.0*
atan(1.0);
324 xi[0] = 3.0*
atan(1.0) - 2.0*
atan(1.0)*0.5*(1.0+
s[0]);
334 std::ostringstream error_stream;
335 error_stream <<
"Direction is incorrect: " << direction << std::endl;
354 xi[0] =
atan(1.0)*0.5*(1.0+
s[0]);
373 std::ostringstream error_stream;
374 error_stream <<
"Direction is incorrect: " << direction << std::endl;
375 throw OomphLibError(error_stream.str(),
387 unsigned m_mod =
m -
Nup -3;
411 std::ostringstream error_stream;
412 error_stream <<
"Direction is incorrect: " << direction << std::endl;
424 unsigned j_col = 1 + m_col/(
Nup+
Ndown+1);
426 unsigned m_mod = m_col%(
Nup+
Ndown+1);
451 std::ostringstream error_stream;
452 error_stream <<
"Direction is incorrect: " << direction << std::endl;
482 std::ostringstream error_stream;
483 error_stream <<
"Direction is incorrect: " << direction << std::endl;
492 unsigned m_mod2 = m_mod -
Nup -1;
516 std::ostringstream error_stream;
517 error_stream <<
"Direction is incorrect: " << direction << std::endl;
527 std::ostringstream error_stream;
528 error_stream <<
"Wrong macro element number" <<
m << std::endl;
References Eigen::bfloat16_impl::atan(), GlobalParameters::Cylinder_pt, oomph::QuadTreeNames::E, f(), m, oomph::QuadTreeNames::N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, OscillatingCylinder::position(), s, oomph::QuadTreeNames::S, and oomph::QuadTreeNames::W.