oomph::ChannelWithLeafletDomain Class Reference

#include <channel_with_leaflet_domain.h>

+ Inheritance diagram for oomph::ChannelWithLeafletDomain:

Public Member Functions

 ChannelWithLeafletDomain (GeomObject *leaflet_pt, const double &lleft, const double &lright, const double &hleaflet, const double &htot, const unsigned &nleft, const unsigned &nright, const unsigned &ny1, const unsigned &ny2)
 
 ~ChannelWithLeafletDomain ()
 Destructor: Empty; cleanup done in base class. More...
 
double htot ()
 Total height of domain (width of channel) More...
 
double hleaflet ()
 Height of leaflet. More...
 
double lleft ()
 Length of domain to the left of leaflet. More...
 
double lright ()
 Length of domain to the right of leaflet. More...
 
GeomObject *& leaflet_pt ()
 Pointer to the wall. More...
 
void macro_element_boundary (const unsigned &t, const unsigned &imacro, const unsigned &idirect, const Vector< double > &zeta, Vector< double > &r)
 Parametrisation of macro element boundaries. More...
 
- 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 ()
 
MacroElementmacro_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)
 

Protected Member Functions

void macro_bound_I_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_I_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_I_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_I_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_II_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_II_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_II_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_II_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_III_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_III_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_III_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_III_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_IV_N (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_IV_S (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_IV_W (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void macro_bound_IV_E (const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
 Helper function. More...
 
void slanted_bound_up (const unsigned &t, const Vector< double > &zeta, Vector< double > &r)
 Helper function. More...
 

Protected Attributes

double Lright
 Length of the domain to the right of the leaflet. More...
 
double Lleft
 Length of the domain to the left of the leaflet. More...
 
double Hleaflet
 Lagrangian coordinate at end of leaflet. More...
 
double Htot
 Total width of the channel. More...
 
unsigned Nright
 Number of macro element columnns to the right of the leaflet. More...
 
unsigned Nleft
 Number of macro element columns to the left of the leaflet. More...
 
unsigned Ny1
 Number of macro element rows up to the end of the leaflet. More...
 
unsigned Ny2
 Number of macro element rows above the leaflet. More...
 
double X_0
 
GeomObjectLeaflet_pt
 Pointer to leaflet. More...
 
- Protected Attributes inherited from oomph::Domain
Vector< MacroElement * > Macro_element_pt
 Vector of pointers to macro elements. More...
 

Detailed Description

Rectangular domain with a leaflet blocking the lower half

Constructor & Destructor Documentation

◆ ChannelWithLeafletDomain()

oomph::ChannelWithLeafletDomain::ChannelWithLeafletDomain ( GeomObject leaflet_pt,
const double lleft,
const double lright,
const double hleaflet,
const double htot,
const unsigned nleft,
const unsigned nright,
const unsigned ny1,
const unsigned ny2 
)
inline

Constructor: Pass pointer to GeomObject that represents the leaflet, the length of the domain to left and right of the leaflet, the height of the leaflet and the overall height of the channel, the number of element columns to the left and right of the leaflet, the number of rows of elements from the bottom of the channel to the end of the leaflet, the number of rows of elements above the end of the leaflet.

61  {
62  // Copy assignments into private storage
63  Lleft = lleft;
64  Lright = lright;
66  Htot = htot;
67  Nleft = nleft;
68  Nright = nright;
69  Ny1 = ny1;
70  Ny2 = ny2;
72 
73  // Store origin of leaflet for fast reference
74  Vector<double> zeta(1);
75  zeta[0] = 0.0;
76  Vector<double> r(2);
78  X_0 = r[0];
79 
80  // Number of macro elements
81  unsigned nmacro = (Ny1 + Ny2) * (Nleft + Nright);
82  Macro_element_pt.resize(nmacro);
83 
84  // Build the 2D macro elements
85  for (unsigned i = 0; i < nmacro; i++)
86  {
87  Macro_element_pt[i] = new QMacroElement<2>(this, i);
88  }
89  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
GeomObject * Leaflet_pt
Pointer to leaflet.
Definition: channel_with_leaflet_domain.h:278
double Lleft
Length of the domain to the left of the leaflet.
Definition: channel_with_leaflet_domain.h:253
unsigned Nright
Number of macro element columnns to the right of the leaflet.
Definition: channel_with_leaflet_domain.h:262
unsigned Ny2
Number of macro element rows above the leaflet.
Definition: channel_with_leaflet_domain.h:271
double X_0
Definition: channel_with_leaflet_domain.h:275
unsigned Ny1
Number of macro element rows up to the end of the leaflet.
Definition: channel_with_leaflet_domain.h:268
double lleft()
Length of domain to the left of leaflet.
Definition: channel_with_leaflet_domain.h:107
double Lright
Length of the domain to the right of the leaflet.
Definition: channel_with_leaflet_domain.h:250
double Hleaflet
Lagrangian coordinate at end of leaflet.
Definition: channel_with_leaflet_domain.h:256
GeomObject *& leaflet_pt()
Pointer to the wall.
Definition: channel_with_leaflet_domain.h:119
double htot()
Total height of domain (width of channel)
Definition: channel_with_leaflet_domain.h:95
unsigned Nleft
Number of macro element columns to the left of the leaflet.
Definition: channel_with_leaflet_domain.h:265
double Htot
Total width of the channel.
Definition: channel_with_leaflet_domain.h:259
double lright()
Length of domain to the right of leaflet.
Definition: channel_with_leaflet_domain.h:113
double hleaflet()
Height of leaflet.
Definition: channel_with_leaflet_domain.h:101
Vector< MacroElement * > Macro_element_pt
Vector of pointers to macro elements.
Definition: domain.h:301
virtual void position(const Vector< double > &zeta, Vector< double > &r) const =0
Parametrised position on object at current time: r(zeta).
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_zeta_op< typename DerivedX::Scalar >, const DerivedX, const DerivedQ > zeta(const Eigen::ArrayBase< DerivedX > &x, const Eigen::ArrayBase< DerivedQ > &q)
Definition: SpecialFunctionsArrayAPI.h:152
r
Definition: UniformPSDSelfTest.py:20

References hleaflet(), Hleaflet, htot(), Htot, i, leaflet_pt(), Leaflet_pt, lleft(), Lleft, lright(), Lright, oomph::Domain::Macro_element_pt, Nleft, Nright, Ny1, Ny2, oomph::GeomObject::position(), UniformPSDSelfTest::r, X_0, and Eigen::zeta().

◆ ~ChannelWithLeafletDomain()

oomph::ChannelWithLeafletDomain::~ChannelWithLeafletDomain ( )
inline

Destructor: Empty; cleanup done in base class.

92 {}

Member Function Documentation

◆ hleaflet()

double oomph::ChannelWithLeafletDomain::hleaflet ( )
inline

Height of leaflet.

102  {
103  return Hleaflet;
104  }

References Hleaflet.

Referenced by ChannelWithLeafletDomain().

◆ htot()

double oomph::ChannelWithLeafletDomain::htot ( )
inline

Total height of domain (width of channel)

96  {
97  return Htot;
98  }

References Htot.

Referenced by ChannelWithLeafletDomain().

◆ leaflet_pt()

GeomObject*& oomph::ChannelWithLeafletDomain::leaflet_pt ( )
inline

Pointer to the wall.

120  {
121  return Leaflet_pt;
122  };

References Leaflet_pt.

Referenced by ChannelWithLeafletDomain().

◆ lleft()

double oomph::ChannelWithLeafletDomain::lleft ( )
inline

Length of domain to the left of leaflet.

108  {
109  return Lleft;
110  }

References Lleft.

Referenced by ChannelWithLeafletDomain().

◆ lright()

double oomph::ChannelWithLeafletDomain::lright ( )
inline

Length of domain to the right of leaflet.

114  {
115  return Lright;
116  }

References Lright.

Referenced by ChannelWithLeafletDomain().

◆ macro_bound_I_E()

void oomph::ChannelWithLeafletDomain::macro_bound_I_E ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for eastern boundary in lower left region.

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

Final expression of r

420  {
421  // Find x,y on the wall corresponding to the position of the macro element
422 
423  // xi_wall varies from xi0 to xi1 on the wall
424  double xi0, xi1;
425  xi0 = double(i) * Hleaflet / double(Ny1);
426  xi1 = double(i + 1) * Hleaflet / double(Ny1);
427 
428  Vector<double> xi_wall(1);
429  xi_wall[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
430 
431  Vector<double> r_wall(2);
432  Leaflet_pt->position(t, xi_wall, r_wall);
433 
434  // Find x,y on a vertical line corresponding
435  // to the position of the macro element
436 
437  // the vertical line goes from y0 to y1
438  double y0, y1;
439  y0 = double(i) * Hleaflet / double(Ny1);
440  y1 = double(i + 1) * Hleaflet / double(Ny1);
441 
442  Vector<double> r_vert(2);
443  r_vert[0] = -Lleft + X_0;
444  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
445 
446  // Parameter with value 0 in -Lleft and value 1 on the wall.
447  double s = double(j + 1) / double(Nleft);
448 
450  r[0] = r_vert[0] + s * (r_wall[0] - r_vert[0]);
451  r[1] = r_vert[1] + s * (r_wall[1] - r_vert[1]);
452  }
RealScalar s
Definition: level1_cplx_impl.h:130
t
Definition: plotPSD.py:36
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References Hleaflet, i, j, Leaflet_pt, Lleft, Nleft, Ny1, oomph::GeomObject::position(), UniformPSDSelfTest::r, s, plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_I_N(), macro_bound_I_S(), and macro_element_boundary().

◆ macro_bound_I_N()

void oomph::ChannelWithLeafletDomain::macro_bound_I_N ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for northern boundary in lower left region.

506  {
507  // Find the coordinates of the two corners of the north boundary
508  Vector<double> xi(1);
509  Vector<double> r_left(2);
510  Vector<double> r_right(2);
511  xi[0] = 1;
512  macro_bound_I_W(t, xi, r_left, i, j);
513  macro_bound_I_E(t, xi, r_right, i, j);
514 
515  // Connect those two points with a straight line
516  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
517  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
518  }
void macro_bound_I_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:458
void macro_bound_I_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:415

References i, j, macro_bound_I_E(), macro_bound_I_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_I_S()

void oomph::ChannelWithLeafletDomain::macro_bound_I_S ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for southern boundary in lower left region.

Find the coordinates of the two corners of the south boundary

529  {
531  Vector<double> xi(1);
532  Vector<double> r_left(2);
533  Vector<double> r_right(2);
534  xi[0] = -1.0;
535  macro_bound_I_W(t, xi, r_left, i, j);
536  macro_bound_I_E(t, xi, r_right, i, j);
537 
538  // Connect those two points with a straight line
539  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
540  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
541  }

References i, j, macro_bound_I_E(), macro_bound_I_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_I_W()

void oomph::ChannelWithLeafletDomain::macro_bound_I_W ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for western boundary in lower left region.

Final expression of r

463  {
464  // Find x,y on the wall corresponding to the position of the macro element
465 
466  // xi_wall varies from xi0 to xi1 on the wall
467  double xi0, xi1;
468  xi0 = double(i) * Hleaflet / double(Ny1);
469  xi1 = double(i + 1) * Hleaflet / double(Ny1);
470 
471  Vector<double> xi_wall(1);
472  xi_wall[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
473 
474  Vector<double> r_wall(2);
475  Leaflet_pt->position(t, xi_wall, r_wall);
476 
477  // Find x,y on a vertical line corresponding
478  // to the position of the macro element
479 
480  // the vertical line goes from y0 to y1
481  double y0, y1;
482  y0 = double(i) * Hleaflet / double(Ny1);
483  y1 = double(i + 1) * Hleaflet / double(Ny1);
484 
485  Vector<double> r_vert(2);
486  r_vert[0] = -Lleft + X_0;
487  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
488 
489  // Parameter with value 0 in -Lleft and value 1 on the wall.
490  double s = double(j) / double(Nleft);
491 
493  r[0] = r_vert[0] + s * (r_wall[0] - r_vert[0]);
494  r[1] = r_vert[1] + s * (r_wall[1] - r_vert[1]);
495  }

References Hleaflet, i, j, Leaflet_pt, Lleft, Nleft, Ny1, oomph::GeomObject::position(), UniformPSDSelfTest::r, s, plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_I_N(), macro_bound_I_S(), and macro_element_boundary().

◆ macro_bound_II_E()

void oomph::ChannelWithLeafletDomain::macro_bound_II_E ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for eastern boundary in lower right region.

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

Final expression of r

560  {
561  // Find x,y on the wall corresponding to the position of the macro element
562 
563  // xi_wall varies from xi0 to xi1 on the wall
564  double xi0, xi1;
565  xi0 = double(i) * Hleaflet / double(Ny1);
566  xi1 = double(i + 1) * Hleaflet / double(Ny1);
567 
568  Vector<double> xi_wall(1);
569  xi_wall[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
570 
571  Vector<double> r_wall(2);
572  Leaflet_pt->position(t, xi_wall, r_wall);
573 
574  // Find x,y on a vertical line corresponding
575  // to the position of the macro element
576 
577  // the vertical line goes from y0 to y1
578  double y0, y1;
579  y0 = double(i) * Hleaflet / double(Ny1);
580  y1 = double(i + 1) * Hleaflet / double(Ny1);
581 
582  Vector<double> r_vert(2);
583  r_vert[0] = Lright + X_0;
584  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
585 
586  // Parameter with value 0 in Lright and value 1 on the wall.
587  double s = double(Nright - j - 1) / double(Nright); /***Change****/
588 
590  r[0] = r_vert[0] + s * (r_wall[0] - r_vert[0]);
591  r[1] = r_vert[1] + s * (r_wall[1] - r_vert[1]);
592  }

References Hleaflet, i, j, Leaflet_pt, Lright, Nright, Ny1, oomph::GeomObject::position(), UniformPSDSelfTest::r, s, plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_II_N(), macro_bound_II_S(), and macro_element_boundary().

◆ macro_bound_II_N()

void oomph::ChannelWithLeafletDomain::macro_bound_II_N ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for northern boundary in lower right region.

648  {
649  // Find the coordinates of the two corners of the north boundary
650  Vector<double> xi(1);
651  Vector<double> r_left(2);
652  Vector<double> r_right(2);
653  xi[0] = 1;
654  macro_bound_II_W(t, xi, r_left, i, j);
655  macro_bound_II_E(t, xi, r_right, i, j);
656 
657  // Connect those two points with a straight line
658  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
659  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
660  }
void macro_bound_II_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:554
void macro_bound_II_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:598

References i, j, macro_bound_II_E(), macro_bound_II_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_II_S()

void oomph::ChannelWithLeafletDomain::macro_bound_II_S ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for southern boundary in lower right region.

671  {
672  // Find the coordinates of the two corners of the south boundary
673  Vector<double> xi(1);
674  Vector<double> r_left(2);
675  Vector<double> r_right(2);
676  xi[0] = -1.0;
677  macro_bound_II_W(t, xi, r_left, i, j);
678  macro_bound_II_E(t, xi, r_right, i, j);
679 
680  // Connect those two points with a straight line
681  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
682  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
683  }

References i, j, macro_bound_II_E(), macro_bound_II_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_II_W()

void oomph::ChannelWithLeafletDomain::macro_bound_II_W ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for western boundary in lower right region.

603  {
604  // Abscissa of the origin of the boudary east
605 
606  // Find x,y on the wall corresponding to the position of the macro element
607 
608  // xi_wall varies from xi0 to xi1 on the wall
609  double xi0, xi1;
610  xi0 = double(i) * Hleaflet / double(Ny1);
611  xi1 = double(i + 1) * Hleaflet / double(Ny1);
612 
613  Vector<double> xi_wall(1);
614  xi_wall[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
615 
616  Vector<double> r_wall(2);
617  Leaflet_pt->position(t, xi_wall, r_wall);
618 
619  // Find x,y on a vertical line corresponding
620  // to the position of the macro element
621 
622  // the vertical line goes from y0 to y1
623  double y0, y1;
624  y0 = double(i) * Hleaflet / double(Ny1);
625  y1 = double(i + 1) * Hleaflet / double(Ny1);
626 
627  Vector<double> r_vert(2);
628  r_vert[0] = Lright + X_0;
629  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
630 
631  // Parameter with value 0 in -Lleft and value 1 on the wall.
632  double s = double(Nright - j) / double(Nright); /***Change****/
633 
634  // Final expression of r
635  r[0] = r_vert[0] + s * (r_wall[0] - r_vert[0]);
636  r[1] = r_vert[1] + s * (r_wall[1] - r_vert[1]);
637  }

References Hleaflet, i, j, Leaflet_pt, Lright, Nright, Ny1, oomph::GeomObject::position(), UniformPSDSelfTest::r, s, plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_II_N(), macro_bound_II_S(), and macro_element_boundary().

◆ macro_bound_III_E()

void oomph::ChannelWithLeafletDomain::macro_bound_III_E ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for eastern boundary in upper left region.

Final expression of r

723  {
724  // Find x,y on the slanted straight line (SSL) corresponding to
725  // the position of the macro element
726 
727  // xi_line varies from xi0 to xi1 on the SSL
728  double xi0, xi1;
729  xi0 = double(i) / double(Ny2);
730  xi1 = double(i + 1) / double(Ny2);
731 
732  Vector<double> xi_line(1);
733  xi_line[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
734 
735  Vector<double> r_line(2);
736  slanted_bound_up(t, xi_line, r_line);
737 
738  // Find x,y on a vertical line corresponding
739  // to the position of the macro element
740 
741  // the vertical line goes from y0 to y1
742  double y0, y1;
743  y0 = double(i) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
744  y1 = double(i + 1) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
745  ;
746 
747  Vector<double> r_vert(2);
748  r_vert[0] = -Lleft + X_0;
749  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
750 
751  // Parameter with value 0 in Lright and value 1 on the wall.
752  double s = double(j + 1) / double(Nleft); /***Change****/
753 
755  r[0] = r_vert[0] + s * (r_line[0] - r_vert[0]);
756  r[1] = r_vert[1] + s * (r_line[1] - r_vert[1]);
757  }
void slanted_bound_up(const unsigned &t, const Vector< double > &zeta, Vector< double > &r)
Helper function.
Definition: channel_with_leaflet_domain.h:697

References Hleaflet, Htot, i, j, Lleft, Nleft, Ny2, UniformPSDSelfTest::r, s, slanted_bound_up(), plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_III_N(), macro_bound_III_S(), and macro_element_boundary().

◆ macro_bound_III_N()

void oomph::ChannelWithLeafletDomain::macro_bound_III_N ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for northern boundary in upper left region.

813  {
814  // Find the coordinates of the two corners of the north boundary
815  Vector<double> xi(1);
816  Vector<double> r_left(2);
817  Vector<double> r_right(2);
818  xi[0] = 1;
819  macro_bound_III_W(t, xi, r_left, i, j);
820  macro_bound_III_E(t, xi, r_right, i, j);
821 
822  // Connect those two points with a straight line
823  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
824  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
825  }
void macro_bound_III_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:763
void macro_bound_III_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:718

References i, j, macro_bound_III_E(), macro_bound_III_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_III_S()

void oomph::ChannelWithLeafletDomain::macro_bound_III_S ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for southern boundary in upper left region.

836  {
837  // Find the coordinates of the two corners of the south boundary
838  Vector<double> xi(1);
839  Vector<double> r_left(2);
840  Vector<double> r_right(2);
841  xi[0] = -1;
842  macro_bound_III_W(t, xi, r_left, i, j);
843  macro_bound_III_E(t, xi, r_right, i, j);
844 
845  // Connect those two points with a straight line
846  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
847  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
848  }

References i, j, macro_bound_III_E(), macro_bound_III_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_III_W()

void oomph::ChannelWithLeafletDomain::macro_bound_III_W ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for western boundary in upper left region.

768  {
769  // Find x,y on the slanted straight line (SSL) corresponding to
770  // the position of the macro element
771 
772  // xi_line varies from xi0 to xi1 on the SSL
773  double xi0, xi1;
774  xi0 = double(i) / double(Ny2);
775  xi1 = double(i + 1) / double(Ny2);
776 
777  Vector<double> xi_line(1);
778  xi_line[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
779 
780  Vector<double> r_line(2);
781  slanted_bound_up(t, xi_line, r_line);
782 
783  // Find x,y on a vertical line corresponding
784  // to the position of the macro element
785 
786  // the vertical line goes from y0 to y1
787  double y0, y1;
788  y0 = double(i) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
789  y1 = double(i + 1) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
790  ;
791 
792  Vector<double> r_vert(2);
793  r_vert[0] = -Lleft + X_0;
794  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
795 
796  // Parameter with value 0 in Lright and value 1 on the wall.
797  double s = double(j) / double(Nleft); /***Change****/
798 
799  // Final expression of r
800  r[0] = r_vert[0] + s * (r_line[0] - r_vert[0]);
801  r[1] = r_vert[1] + s * (r_line[1] - r_vert[1]);
802  }

References Hleaflet, Htot, i, j, Lleft, Nleft, Ny2, UniformPSDSelfTest::r, s, slanted_bound_up(), plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_III_N(), macro_bound_III_S(), and macro_element_boundary().

◆ macro_bound_IV_E()

void oomph::ChannelWithLeafletDomain::macro_bound_IV_E ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for eastern boundary in upper right region.

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

866  {
867  // Find x,y on the slanted straight line (SSL) corresponding to
868  // the position of the macro element
869 
870  // xi_line varies from xi0 to xi1 on the SSL
871  double xi0, xi1;
872  xi0 = double(i) / double(Ny2);
873  xi1 = double(i + 1) / double(Ny2);
874 
875  Vector<double> xi_line(1);
876  xi_line[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
877 
878  Vector<double> r_line(2);
879  slanted_bound_up(t, xi_line, r_line);
880 
881  // Find x,y on a vertical line corresponding
882  // to the position of the macro element
883 
884  // the vertical line goes from y0 to y1
885  double y0, y1;
886  y0 = double(i) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
887  y1 = double(i + 1) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
888  ;
889 
890  Vector<double> r_vert(2);
891  r_vert[0] = Lright + X_0;
892  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
893 
894  // Parameter with value 0 in Lright and value 1 on the wall.
895  double s = double(Nright - j - 1) / double(Nright); /***Change****/
896 
897  // Final expression of r
898  r[0] = r_vert[0] + s * (r_line[0] - r_vert[0]);
899  r[1] = r_vert[1] + s * (r_line[1] - r_vert[1]);
900  }

References Hleaflet, Htot, i, j, Lright, Nright, Ny2, UniformPSDSelfTest::r, s, slanted_bound_up(), plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_IV_N(), macro_bound_IV_S(), and macro_element_boundary().

◆ macro_bound_IV_N()

void oomph::ChannelWithLeafletDomain::macro_bound_IV_N ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for northern boundary in upper right region.

956  {
957  // Find the coordinates of the two corners of the north boundary
958  Vector<double> xi(1);
959  Vector<double> r_left(2);
960  Vector<double> r_right(2);
961  xi[0] = 1;
962  macro_bound_IV_W(t, xi, r_left, i, j);
963  macro_bound_IV_E(t, xi, r_right, i, j);
964 
965  // Connect those two points with a straight line
966  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
967  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
968  }
void macro_bound_IV_E(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:861
void macro_bound_IV_W(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:906

References i, j, macro_bound_IV_E(), macro_bound_IV_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_IV_S()

void oomph::ChannelWithLeafletDomain::macro_bound_IV_S ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for southern boundary in upper right region.

979  {
980  // Find the coordinates of the two corners of the south boundary
981  Vector<double> xi(1);
982  Vector<double> r_left(2);
983  Vector<double> r_right(2);
984  xi[0] = -1;
985  macro_bound_IV_W(t, xi, r_left, i, j);
986  macro_bound_IV_E(t, xi, r_right, i, j);
987 
988  // Connect those two points with a straight line
989  r[0] = r_left[0] + (1.0 + zeta[0]) / 2.0 * (r_right[0] - r_left[0]);
990  r[1] = r_left[1] + (1.0 + zeta[0]) / 2.0 * (r_right[1] - r_left[1]);
991  }

References i, j, macro_bound_IV_E(), macro_bound_IV_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().

Referenced by macro_element_boundary().

◆ macro_bound_IV_W()

void oomph::ChannelWithLeafletDomain::macro_bound_IV_W ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r,
const unsigned i,
const unsigned j 
)
protected

Helper function.

Helper function for western boundary in upper right region.

911  {
912  // Find x,y on the slanted straight line (SSL) corresponding to
913  // the position of the macro element
914 
915  // xi_line varies from xi0 to xi1 on the SSL
916  double xi0, xi1;
917  xi0 = double(i) / double(Ny2);
918  xi1 = double(i + 1) / double(Ny2);
919 
920  Vector<double> xi_line(1);
921  xi_line[0] = xi0 + (1.0 + zeta[0]) / 2.0 * (xi1 - xi0);
922 
923  Vector<double> r_line(2);
924  slanted_bound_up(t, xi_line, r_line);
925 
926  // Find x,y on a vertical line corresponding
927  // to the position of the macro element
928 
929  // The vertical line goes from y0 to y1
930  double y0, y1;
931  y0 = double(i) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
932  y1 = double(i + 1) * (Htot - Hleaflet) / double(Ny2) + Hleaflet;
933  ;
934 
935  Vector<double> r_vert(2);
936  r_vert[0] = Lright + X_0;
937  r_vert[1] = y0 + (1.0 + zeta[0]) / 2.0 * (y1 - y0);
938 
939  // Parameter with value 0 in Lright and value 1 on the wall.
940  double s = double(Nright - j) / double(Nright); /***Change****/
941 
942  // Final expression of r
943  r[0] = r_vert[0] + s * (r_line[0] - r_vert[0]);
944  r[1] = r_vert[1] + s * (r_line[1] - r_vert[1]);
945  }

References Hleaflet, Htot, i, j, Lright, Nright, Ny2, UniformPSDSelfTest::r, s, slanted_bound_up(), plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_IV_N(), macro_bound_IV_S(), and macro_element_boundary().

◆ macro_element_boundary()

void oomph::ChannelWithLeafletDomain::macro_element_boundary ( const unsigned t,
const unsigned imacro,
const unsigned idirect,
const Vector< double > &  zeta,
Vector< double > &  r 
)
virtual

Parametrisation of macro element boundaries.

Implements oomph::Domain.

291  {
292 #ifdef WARN_ABOUT_SUBTLY_CHANGED_OOMPH_INTERFACES
293  // Warn about time argument being moved to the front
294  OomphLibWarning(
295  "Order of function arguments has changed between versions 0.8 and 0.85",
296  "ChannelWithLeafletDomain::macro_element_boundary(...)",
298 #endif
299 
300  using namespace QuadTreeNames;
301 
302  // Number of the line and of the colum in the whole domain
303  // Beware : iline starts on zero
304  unsigned iline = int(floor(double(imacro) / double(Nleft + Nright)));
305  unsigned icol = imacro % (Nright + Nleft);
306 
307  // Number of the line and of the colum in the part considered
308  unsigned i, j;
309 
310  // Left low part of the domain : Part I
311  //------------------------------------
312  if ((iline < Ny1) && (icol < Nleft))
313  {
314  i = iline;
315  j = icol;
316 
317  switch (idirect)
318  {
319  case N:
320  macro_bound_I_N(t, zeta, r, i, j);
321  break;
322  case S:
323  macro_bound_I_S(t, zeta, r, i, j);
324  break;
325  case W:
326  macro_bound_I_W(t, zeta, r, i, j);
327  break;
328  case E:
329  macro_bound_I_E(t, zeta, r, i, j);
330  break;
331  }
332  }
333  // Right low part of the domain : Part II
334  //--------------------------------------
335  else if ((iline < Ny1) && (icol >= Nleft))
336  {
337  i = iline;
338  j = icol - Nleft;
339 
340  switch (idirect)
341  {
342  case N:
343  macro_bound_II_N(t, zeta, r, i, j);
344  break;
345  case S:
346  macro_bound_II_S(t, zeta, r, i, j);
347  break;
348  case W:
349  macro_bound_II_W(t, zeta, r, i, j);
350  break;
351  case E:
352  macro_bound_II_E(t, zeta, r, i, j);
353  break;
354  }
355  }
356  // Left upper part of the domain : Part III
357  //----------------------------------------
358  else if ((iline >= Ny1) && (icol < Nleft))
359  {
360  i = iline - Ny1;
361  j = icol;
362 
363  switch (idirect)
364  {
365  case N:
366  macro_bound_III_N(t, zeta, r, i, j);
367  break;
368  case S:
369  macro_bound_III_S(t, zeta, r, i, j);
370  break;
371  case W:
372  macro_bound_III_W(t, zeta, r, i, j);
373  break;
374  case E:
375  macro_bound_III_E(t, zeta, r, i, j);
376  break;
377  }
378  }
379  // Right upper part of the domain : Part IV
380  //-----------------------------------------
381  else if ((iline >= Ny1) && (icol >= Nleft))
382  {
383  i = iline - Ny1;
384  j = icol - Nleft;
385 
386  switch (idirect)
387  {
388  case N:
389  macro_bound_IV_N(t, zeta, r, i, j);
390  break;
391  case S:
392  macro_bound_IV_S(t, zeta, r, i, j);
393  break;
394  case W:
395  macro_bound_IV_W(t, zeta, r, i, j);
396  break;
397  case E:
398  macro_bound_IV_E(t, zeta, r, i, j);
399  break;
400  }
401  }
402  }
void macro_bound_IV_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:974
void macro_bound_I_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:501
void macro_bound_II_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:643
void macro_bound_I_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:524
void macro_bound_II_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:666
void macro_bound_III_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:808
void macro_bound_III_S(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:831
void macro_bound_IV_N(const unsigned &t, const Vector< double > &zeta, Vector< double > &r, const unsigned &i, const unsigned &j)
Helper function.
Definition: channel_with_leaflet_domain.h:951
@ N
Definition: constructor.cpp:22
return int(ret)+1
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 floor(const bfloat16 &a)
Definition: BFloat16.h:643
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

References Global_Physical_Variables::E, Eigen::bfloat16_impl::floor(), i, int(), j, macro_bound_I_E(), macro_bound_I_N(), macro_bound_I_S(), macro_bound_I_W(), macro_bound_II_E(), macro_bound_II_N(), macro_bound_II_S(), macro_bound_II_W(), macro_bound_III_E(), macro_bound_III_N(), macro_bound_III_S(), macro_bound_III_W(), macro_bound_IV_E(), macro_bound_IV_N(), macro_bound_IV_S(), macro_bound_IV_W(), N, Nleft, Nright, Ny1, OOMPH_EXCEPTION_LOCATION, UniformPSDSelfTest::r, oomph::QuadTreeNames::S, plotPSD::t, oomph::QuadTreeNames::W, and Eigen::zeta().

◆ slanted_bound_up()

void oomph::ChannelWithLeafletDomain::slanted_bound_up ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
)
protected

Helper function.

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// Describe the line between the boundary north of the domain (at x=X_0) and the top of the wall, when zeta goes from 0 to 1.

700  {
701  // Coordinates of the point on the boundary beetween the upper
702  // and the lower part, in the same column, at the east.
703  Vector<double> xi(1);
704  xi[0] = Hleaflet;
705 
706  Vector<double> r_join(2);
707 
708  Leaflet_pt->position(t, xi, r_join);
709 
710  r[0] = r_join[0] + zeta[0] * (X_0 - r_join[0]);
711  r[1] = r_join[1] + zeta[0] * (Htot - r_join[1]);
712  }

References Hleaflet, Htot, Leaflet_pt, oomph::GeomObject::position(), UniformPSDSelfTest::r, plotPSD::t, X_0, and Eigen::zeta().

Referenced by macro_bound_III_E(), macro_bound_III_W(), macro_bound_IV_E(), and macro_bound_IV_W().

Member Data Documentation

◆ Hleaflet

◆ Htot

double oomph::ChannelWithLeafletDomain::Htot
protected

◆ Leaflet_pt

GeomObject* oomph::ChannelWithLeafletDomain::Leaflet_pt
protected

◆ Lleft

double oomph::ChannelWithLeafletDomain::Lleft
protected

Length of the domain to the left of the leaflet.

Referenced by ChannelWithLeafletDomain(), lleft(), macro_bound_I_E(), macro_bound_I_W(), macro_bound_III_E(), and macro_bound_III_W().

◆ Lright

double oomph::ChannelWithLeafletDomain::Lright
protected

Length of the domain to the right of the leaflet.

Referenced by ChannelWithLeafletDomain(), lright(), macro_bound_II_E(), macro_bound_II_W(), macro_bound_IV_E(), and macro_bound_IV_W().

◆ Nleft

unsigned oomph::ChannelWithLeafletDomain::Nleft
protected

Number of macro element columns to the left of the leaflet.

Referenced by ChannelWithLeafletDomain(), macro_bound_I_E(), macro_bound_I_W(), macro_bound_III_E(), macro_bound_III_W(), and macro_element_boundary().

◆ Nright

unsigned oomph::ChannelWithLeafletDomain::Nright
protected

Number of macro element columnns to the right of the leaflet.

Referenced by ChannelWithLeafletDomain(), macro_bound_II_E(), macro_bound_II_W(), macro_bound_IV_E(), macro_bound_IV_W(), and macro_element_boundary().

◆ Ny1

unsigned oomph::ChannelWithLeafletDomain::Ny1
protected

Number of macro element rows up to the end of the leaflet.

Referenced by ChannelWithLeafletDomain(), macro_bound_I_E(), macro_bound_I_W(), macro_bound_II_E(), macro_bound_II_W(), and macro_element_boundary().

◆ Ny2

unsigned oomph::ChannelWithLeafletDomain::Ny2
protected

Number of macro element rows above the leaflet.

Referenced by ChannelWithLeafletDomain(), macro_bound_III_E(), macro_bound_III_W(), macro_bound_IV_E(), and macro_bound_IV_W().

◆ X_0

double oomph::ChannelWithLeafletDomain::X_0
protected

Center of the domain : origin of the leaflet, extracted from GeomObject and stored for fast access.

Referenced by ChannelWithLeafletDomain(), macro_bound_I_E(), macro_bound_I_W(), macro_bound_II_E(), macro_bound_II_W(), macro_bound_III_E(), macro_bound_III_W(), macro_bound_IV_E(), macro_bound_IV_W(), and slanted_bound_up().


The documentation for this class was generated from the following file: