Public Member Functions | List of all members
oomph::QMacroElement< 2 > Class Reference

QMacroElement specialised to 2 spatial dimensions. More...

#include <macro_element.h>

+ Inheritance diagram for oomph::QMacroElement< 2 >:

Public Member Functions

 QMacroElement (Domain *domain_pt, const unsigned &macro_element_number)
 Constructor: Pass the pointer to the domain and the macro element's number within this domain. More...
 
 QMacroElement ()
 Default constructor (empty and broken) More...
 
 QMacroElement (const QMacroElement &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const QMacroElement &)=delete
 Broken assignment operator. More...
 
virtual ~QMacroElement ()
 Empty destructor. More...
 
void output (const unsigned &t, std::ostream &outfile, const unsigned &nplot)
 Plot: x,y in tecplot format at time level t (t=0: current; t>0: previous) More...
 
void output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot)
 Output all macro element boundaries as tecplot zones. More...
 
void macro_map (const unsigned &t, const Vector< double > &S, Vector< double > &r)
 Get global position r(S) at discrete time level t. t=0: Present time; t>0: previous timestep. More...
 
void macro_map (const double &t, const Vector< double > &s, Vector< double > &r)
 Get global position r(s) at continuous time value, t. More...
 
virtual void assemble_macro_to_eulerian_jacobian (const unsigned &t, const Vector< double > &s, DenseMatrix< double > &jacobian)
 assemble the jacobian of the mapping from the macro coordinates to the global coordinates More...
 
virtual void assemble_macro_to_eulerian_jacobian2 (const unsigned &t, const Vector< double > &s, DenseMatrix< double > &jacobian2)
 Assembles the second derivative jacobian of the mapping from the macro coordinates to global coordinates x. More...
 
- Public Member Functions inherited from oomph::MacroElement
 MacroElement (Domain *domain_pt, const unsigned &macro_element_number)
 Constructor: Pass pointer to Domain and the number of the MacroElement within that Domain. More...
 
 MacroElement ()
 Default constructor (empty and broken) More...
 
 MacroElement (const MacroElement &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const MacroElement &)=delete
 Broken assignment operator. More...
 
virtual ~MacroElement ()
 Empty destructor. More...
 
void output (std::ostream &outfile, const int &nplot)
 Plot: x,y (or x,y,z) at current time in tecplot format. More...
 
void macro_map (const Vector< double > &s, Vector< double > &r)
 The mapping from local to global coordinates at the current time : r(s) More...
 
void assemble_macro_to_eulerian_jacobian (const Vector< double > &s, DenseMatrix< double > &jacobian)
 Assembles the jacobian of the mapping from the macro coordinates to the global coordinates. More...
 
void assemble_macro_to_eulerian_jacobian2 (const Vector< double > &s, DenseMatrix< double > &jacobian2)
 Assembles the second derivative jacobian of the mapping from the macro coordinates to the global coordinates. More...
 
unsigned & macro_element_number ()
 Access function to the Macro_element_number. More...
 
Domain *& domain_pt ()
 Access function to the Domain_pt. More...
 

Additional Inherited Members

- Protected Attributes inherited from oomph::MacroElement
DomainDomain_pt
 Pointer to domain. More...
 
unsigned Macro_element_number
 What is the number of the current macro element within its domain. More...
 

Detailed Description

QMacroElement specialised to 2 spatial dimensions.

The macro element mapping is based on the member function pointer to the associated Domain 's

virtual void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)=0
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at time ...

function which provides a parametrisation of the macro element's boundaries in the form:

\[ {\bf f}_{i} (t,{\bf S}) \]

where

Definition at line 278 of file macro_element.h.

Constructor & Destructor Documentation

◆ QMacroElement() [1/3]

oomph::QMacroElement< 2 >::QMacroElement ( Domain domain_pt,
const unsigned &  macro_element_number 
)
inline

Constructor: Pass the pointer to the domain and the macro element's number within this domain.

Definition at line 283 of file macro_element.h.

◆ QMacroElement() [2/3]

Default constructor (empty and broken)

Definition at line 288 of file macro_element.h.

◆ QMacroElement() [3/3]

oomph::QMacroElement< 2 >::QMacroElement ( const QMacroElement< 2 > &  dummy)
delete

Broken copy constructor.

◆ ~QMacroElement()

virtual oomph::QMacroElement< 2 >::~QMacroElement ( )
inlinevirtual

Empty destructor.

Definition at line 302 of file macro_element.h.

Member Function Documentation

◆ assemble_macro_to_eulerian_jacobian()

void oomph::QMacroElement< 2 >::assemble_macro_to_eulerian_jacobian ( const unsigned &  t,
const Vector< double > &  s,
DenseMatrix< double > &  jacobian 
)
virtual

assemble the jacobian of the mapping from the macro coordinates to the global coordinates

Assembles the jacobian of the mapping from the macro coordinates to the global coordinates.

Reimplemented from oomph::MacroElement.

Definition at line 238 of file macro_element.cc.

References oomph::Domain::dmacro_element_boundary(), oomph::MacroElement::Domain_pt, oomph::QuadTreeNames::E, oomph::Domain::macro_element_boundary(), oomph::MacroElement::Macro_element_number, oomph::QuadTreeNames::N, oomph::QuadTreeNames::S, t, and oomph::QuadTreeNames::W.

◆ assemble_macro_to_eulerian_jacobian2()

void oomph::QMacroElement< 2 >::assemble_macro_to_eulerian_jacobian2 ( const unsigned &  t,
const Vector< double > &  s,
DenseMatrix< double > &  jacobian2 
)
virtual

◆ macro_map() [1/2]

void oomph::QMacroElement< 2 >::macro_map ( const double &  t,
const Vector< double > &  s,
Vector< double > &  r 
)
virtual

Get global position r(s) at continuous time value, t.

Get global position r(S) at discrete time level t. t=0: Present time; t>0: previous timestep.

Reimplemented from oomph::MacroElement.

Definition at line 35 of file macro_element.cc.

References oomph::MacroElement::Domain_pt, oomph::QuadTreeNames::E, i, oomph::Domain::macro_element_boundary(), oomph::MacroElement::Macro_element_number, oomph::QuadTreeNames::N, s, oomph::QuadTreeNames::S, t, and oomph::QuadTreeNames::W.

◆ macro_map() [2/2]

void oomph::QMacroElement< 2 >::macro_map ( const unsigned &  t,
const Vector< double > &  S,
Vector< double > &  r 
)
virtual

Get global position r(S) at discrete time level t. t=0: Present time; t>0: previous timestep.

Implements oomph::MacroElement.

Definition at line 123 of file macro_element.cc.

References oomph::MacroElement::Domain_pt, oomph::QuadTreeNames::E, i, oomph::Domain::macro_element_boundary(), oomph::MacroElement::Macro_element_number, oomph::QuadTreeNames::N, oomph::QuadTreeNames::S, t, and oomph::QuadTreeNames::W.

◆ operator=()

void oomph::QMacroElement< 2 >::operator= ( const QMacroElement< 2 > &  )
delete

Broken assignment operator.

◆ output()

void oomph::QMacroElement< 2 >::output ( const unsigned &  t,
std::ostream &  outfile,
const unsigned &  nplot 
)
inlinevirtual

Plot: x,y in tecplot format at time level t (t=0: current; t>0: previous)

Implements oomph::MacroElement.

Definition at line 306 of file macro_element.h.

References i, oomph::MacroElement::macro_map(), and t.

◆ output_macro_element_boundaries()

void oomph::QMacroElement< 2 >::output_macro_element_boundaries ( std::ostream &  outfile,
const unsigned &  nplot 
)
virtual

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