Public Member Functions | Private Member Functions | List of all members
oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT > Class Template Reference

MacroElementNodeUpdate version of RefineableQuarterCircleSectorMesh. More...

#include <quarter_circle_sector_mesh.template.h>

Inheritance diagram for oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >:
oomph::RefineableQuarterCircleSectorMesh< ELEMENT > oomph::QuarterCircleSectorMesh< ELEMENT >

Public Member Functions

 MacroElementNodeUpdateRefineableQuarterCircleSectorMesh (GeomObject *wall_pt, const double &xi_lo, const double &fract_mid, const double &xi_hi, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass pointer to geometric object, start and end coordinates on the geometric object and the fraction along which the dividing line is to be placed when updating the nodal positions, and timestepper (defaults to (Steady) default timestepper defined in Mesh). Setup the refineable mesh (by calling the constructor for the underlying RefineableQuarterCircleSectorMesh) and the algebraic node update functions for nodes. More...
 
virtual ~MacroElementNodeUpdateRefineableQuarterCircleSectorMesh ()
 Destructor: empty. More...
 
void node_update (const bool &update_all_solid_nodes=false)
 Resolve mesh update: Update current nodal positions via sparse MacroElement-based update. [Doesn't make sense to use this mesh with SolidElements anyway, so we buffer the case if update_all_solid_nodes is set to true.]. More...
 
- Public Member Functions inherited from oomph::RefineableQuarterCircleSectorMesh< ELEMENT >
 RefineableQuarterCircleSectorMesh (GeomObject *wall_pt, const double &xi_lo, const double &fract_mid, const double &xi_hi, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass pointer to geometric object that specifies the wall, start and end coordinates on the geometric object, and the fraction along which the dividing line is to be placed, and the timestepper (defaults to (Steady) default timestepper defined in Mesh). Adds refinement data to elements of QuarterCircleSectorMesh. More...
 
virtual ~RefineableQuarterCircleSectorMesh ()
 Destructor: Empty. More...
 
- Public Member Functions inherited from oomph::QuarterCircleSectorMesh< ELEMENT >
 QuarterCircleSectorMesh (GeomObject *wall_pt, const double &xi_lo, const double &fract_mid, const double &xi_hi, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass pointer to geometric object that specifies the wall, start and end coordinates on the geometric object, and the fraction along which the dividing line is to be placed, and the timestepper (defaults to (Steady) default timestepper defined in Mesh) More...
 
virtual ~QuarterCircleSectorMesh ()
 Destructor: More...
 
GeomObject *& wall_pt ()
 Access function to GeomObject representing wall. More...
 
QuarterCircleSectorDomaindomain_pt ()
 Access function to domain. More...
 
QuarterCircleSectorDomain::BLSquashFctPtbl_squash_fct_pt ()
 Function pointer for function that squashes the outer two macro elements towards the wall by mapping the input value of the "radial" macro element coordinate to the return value (defined in the underlying Domain object) More...
 

Private Member Functions

void setup_macro_element_node_update ()
 Setup all the information that's required for MacroElement-based node update: Tell the elements that their geometry depends on the geometric object that parametrises the wall. More...
 

Additional Inherited Members

- Protected Attributes inherited from oomph::QuarterCircleSectorMesh< ELEMENT >
QuarterCircleSectorDomainDomain_pt
 Pointer to Domain. More...
 
GeomObject * Wall_pt
 Pointer to the geometric object that represents the curved wall (mesh boundary 1) More...
 
double Xi_lo
 Lower limit for the (1D) coordinates along the wall. More...
 
double Fract_mid
 Fraction along wall where outer ring is to be divided. More...
 
double Xi_hi
 Upper limit for the (1D) coordinates along the wall. More...
 

Detailed Description

template<class ELEMENT>
class oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >

MacroElementNodeUpdate version of RefineableQuarterCircleSectorMesh.

---___
| ---____
| - BOUNDARY 1
| /
| [2] / |
| / |
| N / |
| |_ E / |
BOUNDARY 2 |----------- |
| | [1] |
| [0] | | ^
| | | / \ direction of
| N | N | | Lagrangian
| |_ E | |_ E | | coordinate
|__________|___________| | along wall GeomObject
BOUNDARY 0
Within the elements (MacroElements), the local coordinates
are such that the (E)astern direction coincides with the positive
s_0 direction, while the (N)orther direction coincides with the positive
s_1 direction.

Domain is parametrised by three macro elements as sketched. Elements need to be derived from MacroElementNodeUpdateElementBase.

Definition at line 258 of file quarter_circle_sector_mesh.template.h.

Constructor & Destructor Documentation

◆ MacroElementNodeUpdateRefineableQuarterCircleSectorMesh()

template<class ELEMENT >
oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh ( GeomObject *  wall_pt,
const double &  xi_lo,
const double &  fract_mid,
const double &  xi_hi,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor: Pass pointer to geometric object, start and end coordinates on the geometric object and the fraction along which the dividing line is to be placed when updating the nodal positions, and timestepper (defaults to (Steady) default timestepper defined in Mesh). Setup the refineable mesh (by calling the constructor for the underlying RefineableQuarterCircleSectorMesh) and the algebraic node update functions for nodes.

Definition at line 270 of file quarter_circle_sector_mesh.template.h.

References oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::setup_macro_element_node_update().

◆ ~MacroElementNodeUpdateRefineableQuarterCircleSectorMesh()

Destructor: empty.

Definition at line 311 of file quarter_circle_sector_mesh.template.h.

Member Function Documentation

◆ node_update()

template<class ELEMENT >
void oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::node_update ( const bool &  update_all_solid_nodes = false)
inline

Resolve mesh update: Update current nodal positions via sparse MacroElement-based update. [Doesn't make sense to use this mesh with SolidElements anyway, so we buffer the case if update_all_solid_nodes is set to true.].

Definition at line 318 of file quarter_circle_sector_mesh.template.h.

◆ setup_macro_element_node_update()

template<class ELEMENT >
void oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::setup_macro_element_node_update ( )
inlineprivate

Setup all the information that's required for MacroElement-based node update: Tell the elements that their geometry depends on the geometric object that parametrises the wall.

Definition at line 344 of file quarter_circle_sector_mesh.template.h.

References oomph::QuarterCircleSectorMesh< ELEMENT >::domain_pt(), and oomph::QuarterCircleSectorMesh< ELEMENT >::Wall_pt.

Referenced by oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh().


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