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.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.
 
virtual ~MacroElementNodeUpdateRefineableQuarterCircleSectorMesh ()
 Destructor: empty.
 
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.].
 
- 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.
 
virtual ~RefineableQuarterCircleSectorMesh ()
 Destructor: Empty.
 
- 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)
 
virtual ~QuarterCircleSectorMesh ()
 Destructor:
 
GeomObject *& wall_pt ()
 Access function to GeomObject representing wall.
 
QuarterCircleSectorDomaindomain_pt ()
 Access function to domain.
 
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)
 

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.
 

Additional Inherited Members

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

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
Unstructured refineable Triangle Mesh.

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

Definition at line 253 of file quarter_circle_sector_mesh.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 265 of file quarter_circle_sector_mesh.h.

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

◆ ~MacroElementNodeUpdateRefineableQuarterCircleSectorMesh()

Destructor: empty.

Definition at line 306 of file quarter_circle_sector_mesh.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 313 of file quarter_circle_sector_mesh.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 339 of file quarter_circle_sector_mesh.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: