![]() |
|
#include <channel_with_leaflet_domain.h>
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... | |
![]() | |
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) |
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 |
GeomObject * | Leaflet_pt |
Pointer to leaflet. More... | |
![]() | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Rectangular domain with a leaflet blocking the lower half
|
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.
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().
|
inline |
|
inline |
|
inline |
Total height of domain (width of channel)
References Htot.
Referenced by ChannelWithLeafletDomain().
|
inline |
|
inline |
Length of domain to the left of leaflet.
References Lleft.
Referenced by ChannelWithLeafletDomain().
|
inline |
Length of domain to the right of leaflet.
References Lright.
Referenced by ChannelWithLeafletDomain().
|
protected |
Helper function.
Helper function for eastern boundary in lower left region.
////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
Final expression of r
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().
|
protected |
Helper function.
Helper function for northern boundary in lower left region.
References i, j, macro_bound_I_E(), macro_bound_I_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for southern boundary in lower left region.
Find the coordinates of the two corners of the south boundary
References i, j, macro_bound_I_E(), macro_bound_I_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for western boundary in lower left region.
Final expression of r
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().
|
protected |
Helper function.
Helper function for eastern boundary in lower right region.
////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
Final expression of r
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().
|
protected |
Helper function.
Helper function for northern boundary in lower right region.
References i, j, macro_bound_II_E(), macro_bound_II_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for southern boundary in lower right region.
References i, j, macro_bound_II_E(), macro_bound_II_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for western boundary in lower right region.
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().
|
protected |
Helper function.
Helper function for eastern boundary in upper left region.
Final expression of r
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().
|
protected |
Helper function.
Helper function for northern boundary in upper left region.
References i, j, macro_bound_III_E(), macro_bound_III_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for southern boundary in upper left region.
References i, j, macro_bound_III_E(), macro_bound_III_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for western boundary in upper left region.
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().
|
protected |
Helper function.
Helper function for eastern boundary in upper right region.
////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
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().
|
protected |
Helper function.
Helper function for northern boundary in upper right region.
References i, j, macro_bound_IV_E(), macro_bound_IV_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for southern boundary in upper right region.
References i, j, macro_bound_IV_E(), macro_bound_IV_W(), UniformPSDSelfTest::r, plotPSD::t, and Eigen::zeta().
Referenced by macro_element_boundary().
|
protected |
Helper function.
Helper function for western boundary in upper right region.
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().
|
virtual |
Parametrisation of macro element boundaries.
Implements oomph::Domain.
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().
|
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.
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().
|
protected |
Lagrangian coordinate at end of leaflet.
Referenced by ChannelWithLeafletDomain(), hleaflet(), 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().
|
protected |
Total width of the channel.
Referenced by ChannelWithLeafletDomain(), htot(), macro_bound_III_E(), macro_bound_III_W(), macro_bound_IV_E(), macro_bound_IV_W(), and slanted_bound_up().
|
protected |
Pointer to leaflet.
Referenced by ChannelWithLeafletDomain(), leaflet_pt(), macro_bound_I_E(), macro_bound_I_W(), macro_bound_II_E(), macro_bound_II_W(), and slanted_bound_up().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().