Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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)
 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. More...
 
 ~ChannelWithLeafletDomain ()
 Destructor: Kill macro elements. 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 &)
 Broken copy constructor. More...
 
void operator= (const Domain &)
 Broken assignment operator. More...
 
virtual ~Domain ()
 Virtual destructor: Empty. More...
 
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...
 
void macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
 Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More...
 
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)
 Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More...
 
void dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
 Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More...
 
virtual void d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
 Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More...
 
void d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)
 Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More...
 

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
 Center of the domain : origin of the leaflet, extracted from GeomObject and stored for fast access. More...
 
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

Definition at line 46 of file channel_with_leaflet_domain.h.

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.

Definition at line 58 of file channel_with_leaflet_domain.h.

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(), and X_0.

◆ ~ChannelWithLeafletDomain()

oomph::ChannelWithLeafletDomain::~ChannelWithLeafletDomain ( )
inline

Destructor: Kill macro elements.

Definition at line 96 of file channel_with_leaflet_domain.h.

References i, oomph::Domain::Macro_element_pt, Nleft, Nright, Ny1, and Ny2.

Member Function Documentation

◆ hleaflet()

double oomph::ChannelWithLeafletDomain::hleaflet ( )
inline

◆ htot()

double oomph::ChannelWithLeafletDomain::htot ( )
inline

◆ leaflet_pt()

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

◆ lleft()

double oomph::ChannelWithLeafletDomain::lleft ( )
inline

◆ lright()

double oomph::ChannelWithLeafletDomain::lright ( )
inline

◆ 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

Definition at line 375 of file channel_with_leaflet_domain.h.

References Hleaflet, Leaflet_pt, Lleft, Nleft, Ny1, oomph::GeomObject::position(), s, and X_0.

Referenced by leaflet_pt(), 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.

Definition at line 464 of file channel_with_leaflet_domain.h.

References macro_bound_I_E(), and macro_bound_I_W().

Referenced by leaflet_pt(), and 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

Definition at line 488 of file channel_with_leaflet_domain.h.

References macro_bound_I_E(), and macro_bound_I_W().

Referenced by leaflet_pt(), and 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

Definition at line 419 of file channel_with_leaflet_domain.h.

References Hleaflet, Leaflet_pt, Lleft, Nleft, Ny1, oomph::GeomObject::position(), s, and X_0.

Referenced by leaflet_pt(), 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

Definition at line 523 of file channel_with_leaflet_domain.h.

References Hleaflet, Leaflet_pt, Lright, Nright, Ny1, oomph::GeomObject::position(), s, and X_0.

Referenced by leaflet_pt(), 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.

Definition at line 616 of file channel_with_leaflet_domain.h.

References macro_bound_II_E(), and macro_bound_II_W().

Referenced by leaflet_pt(), and 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.

Definition at line 641 of file channel_with_leaflet_domain.h.

References macro_bound_II_E(), and macro_bound_II_W().

Referenced by leaflet_pt(), and 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.

Definition at line 569 of file channel_with_leaflet_domain.h.

References Hleaflet, Leaflet_pt, Lright, Nright, Ny1, oomph::GeomObject::position(), s, and X_0.

Referenced by leaflet_pt(), 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

Definition at line 700 of file channel_with_leaflet_domain.h.

References Hleaflet, Htot, Lleft, Nleft, Ny2, s, slanted_bound_up(), and X_0.

Referenced by leaflet_pt(), 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.

Definition at line 792 of file channel_with_leaflet_domain.h.

References macro_bound_III_E(), and macro_bound_III_W().

Referenced by leaflet_pt(), and 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.

Definition at line 816 of file channel_with_leaflet_domain.h.

References macro_bound_III_E(), and macro_bound_III_W().

Referenced by leaflet_pt(), and 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.

Definition at line 746 of file channel_with_leaflet_domain.h.

References Hleaflet, Htot, Lleft, Nleft, Ny2, s, slanted_bound_up(), and X_0.

Referenced by leaflet_pt(), 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.

Definition at line 851 of file channel_with_leaflet_domain.h.

References Hleaflet, Htot, Lright, Nright, Ny2, s, slanted_bound_up(), and X_0.

Referenced by leaflet_pt(), 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.

Definition at line 941 of file channel_with_leaflet_domain.h.

References macro_bound_IV_E(), and macro_bound_IV_W().

Referenced by leaflet_pt(), and 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.

Definition at line 965 of file channel_with_leaflet_domain.h.

References macro_bound_IV_E(), and macro_bound_IV_W().

Referenced by leaflet_pt(), and 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.

Definition at line 896 of file channel_with_leaflet_domain.h.

References Hleaflet, Htot, Lright, Nright, Ny2, s, slanted_bound_up(), and X_0.

Referenced by leaflet_pt(), 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

◆ 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.

Definition at line 678 of file channel_with_leaflet_domain.h.

References Hleaflet, Htot, Leaflet_pt, oomph::GeomObject::position(), and X_0.

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

Member Data Documentation

◆ Hleaflet

double oomph::ChannelWithLeafletDomain::Hleaflet
protected

◆ 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.

Definition at line 208 of file channel_with_leaflet_domain.h.

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.

Definition at line 205 of file channel_with_leaflet_domain.h.

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.

Definition at line 220 of file channel_with_leaflet_domain.h.

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

◆ Nright

unsigned oomph::ChannelWithLeafletDomain::Nright
protected

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

Definition at line 217 of file channel_with_leaflet_domain.h.

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

◆ Ny1

unsigned oomph::ChannelWithLeafletDomain::Ny1
protected

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

Definition at line 223 of file channel_with_leaflet_domain.h.

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

◆ Ny2

unsigned oomph::ChannelWithLeafletDomain::Ny2
protected

Number of macro element rows above the leaflet.

Definition at line 226 of file channel_with_leaflet_domain.h.

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

◆ X_0

double oomph::ChannelWithLeafletDomain::X_0
protected

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

Definition at line 230 of file channel_with_leaflet_domain.h.

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: