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

MacroElementNodeUpdate version of RefineableQuarterTubeMesh. More...

#include <quarter_tube_mesh.template.h>

Inheritance diagram for oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >:
oomph::RefineableQuarterTubeMesh< ELEMENT > oomph::QuarterTubeMesh< ELEMENT >

Public Member Functions

 MacroElementNodeUpdateRefineableQuarterTubeMesh (GeomObject *wall_pt, const Vector< double > &xi_lo, const double &fract_mid, const Vector< double > &xi_hi, const unsigned &nlayer, 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 RefineableQuarterTubeMesh) and the algebraic node update functions for nodes. More...
 
virtual ~MacroElementNodeUpdateRefineableQuarterTubeMesh ()
 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::RefineableQuarterTubeMesh< ELEMENT >
 RefineableQuarterTubeMesh (GeomObject *wall_pt, const Vector< double > &xi_lo, const double &fract_mid, const Vector< double > &xi_hi, const unsigned &nlayer, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor for adaptive deformable quarter tube mesh class. The domain is specified by the GeomObject that identifies boundary 3. 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. Timestepper defaults to Steady dummy timestepper. More...
 
virtual ~RefineableQuarterTubeMesh ()
 Destructor: empty. More...
 
- Public Member Functions inherited from oomph::QuarterTubeMesh< ELEMENT >
 QuarterTubeMesh (GeomObject *wall_pt, const Vector< double > &xi_lo, const double &fract_mid, const Vector< double > &xi_hi, const unsigned &nlayer, 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. Timestepper defaults to Steady dummy timestepper. More...
 
virtual ~QuarterTubeMesh ()
 Destructor: empty. More...
 
GeomObject *& wall_pt ()
 Access function to GeomObject representing wall. More...
 
QuarterTubeDomaindomain_pt ()
 Access function to domain. More...
 
QuarterTubeDomain::BLSquashFctPtbl_squash_fct_pt ()
 Function pointer for function that squashes the outer 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...
 
virtual QuarterTubeDomain::AxialSpacingFctPtaxial_spacing_fct_pt ()
 Function pointer for function for axial spacing. More...
 
QuarterTubeDomaindomain_pt () const
 Access function to underlying domain. 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::QuarterTubeMesh< ELEMENT >
QuarterTubeDomainDomain_pt
 Pointer to domain. More...
 
GeomObject * Wall_pt
 Pointer to the geometric object that represents the curved wall. More...
 
Vector< double > Xi_lo
 Lower limits for the coordinates along the wall. More...
 
double Fract_mid
 Fraction along wall where outer ring is to be divided. More...
 
Vector< double > Xi_hi
 Upper limits for the coordinates along the wall. More...
 

Detailed Description

template<class ELEMENT>
class oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >

MacroElementNodeUpdate version of RefineableQuarterTubeMesh.

Definition at line 237 of file quarter_tube_mesh.template.h.

Constructor & Destructor Documentation

◆ MacroElementNodeUpdateRefineableQuarterTubeMesh()

template<class ELEMENT >
oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >::MacroElementNodeUpdateRefineableQuarterTubeMesh ( GeomObject *  wall_pt,
const Vector< double > &  xi_lo,
const double &  fract_mid,
const Vector< double > &  xi_hi,
const unsigned &  nlayer,
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 RefineableQuarterTubeMesh) and the algebraic node update functions for nodes.

Definition at line 249 of file quarter_tube_mesh.template.h.

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

◆ ~MacroElementNodeUpdateRefineableQuarterTubeMesh()

Destructor: empty.

Definition at line 292 of file quarter_tube_mesh.template.h.

Member Function Documentation

◆ node_update()

template<class ELEMENT >
void oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< 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 299 of file quarter_tube_mesh.template.h.

◆ setup_macro_element_node_update()

template<class ELEMENT >
void oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< 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 325 of file quarter_tube_mesh.template.h.

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

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


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