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

QMacroElement specialised to 3 spatial dimensions. More...

#include <macro_element.h>

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

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.
 
 QMacroElement ()
 Default constructor (empty and broken)
 
 QMacroElement (const QMacroElement &dummy)=delete
 Broken copy constructor.
 
void operator= (const QMacroElement &)=delete
 Broken assignment operator.
 
virtual ~QMacroElement ()
 Empty destructor.
 
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)
 
void output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot)
 Output all macro element boundaries as tecplot zones.
 
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.
 
- 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.
 
 MacroElement ()
 Default constructor (empty and broken)
 
 MacroElement (const MacroElement &dummy)=delete
 Broken copy constructor.
 
void operator= (const MacroElement &)=delete
 Broken assignment operator.
 
virtual ~MacroElement ()
 Empty destructor.
 
void output (std::ostream &outfile, const int &nplot)
 Plot: x,y (or x,y,z) at current time in tecplot format.
 
void macro_map (const Vector< double > &s, Vector< double > &r)
 The mapping from local to global coordinates at the current time : r(s)
 
virtual void macro_map (const double &t, const Vector< double > &s, Vector< double > &r)
 Get global position r(s) at continuous time value, t.
 
virtual void assemble_macro_to_eulerian_jacobian (const unsigned &t, const Vector< double > &s, DenseMatrix< double > &jacobian)
 the jacobian of the mapping from the macro coordinates to the global coordinates
 
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 the global coordinates.
 
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.
 
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.
 
unsignedmacro_element_number ()
 Access function to the Macro_element_number.
 
Domain *& domain_pt ()
 Access function to the Domain_pt.
 

Additional Inherited Members

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

Detailed Description

QMacroElement specialised to 3 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 372 of file macro_element.h.

Constructor & Destructor Documentation

◆ QMacroElement() [1/3]

oomph::QMacroElement< 3 >::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 377 of file macro_element.h.

◆ QMacroElement() [2/3]

oomph::QMacroElement< 3 >::QMacroElement ( )
inline

Default constructor (empty and broken)

Definition at line 381 of file macro_element.h.

◆ QMacroElement() [3/3]

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

Broken copy constructor.

◆ ~QMacroElement()

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

Empty destructor.

Definition at line 395 of file macro_element.h.

Member Function Documentation

◆ macro_map()

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

◆ operator=()

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

Broken assignment operator.

◆ output()

void oomph::QMacroElement< 3 >::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 400 of file macro_element.h.

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

◆ output_macro_element_boundaries()

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

Output all macro element boundaries as tecplot zones.

Implements oomph::MacroElement.

Definition at line 659 of file macro_element.cc.

References i, s, t, and oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::TAdvectionDiffusionReactionElement().


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