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

/////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// More...

#include <vorticity_smoother.h>

Public Member Functions

 VorticitySmoother (const unsigned &recovery_order)
 Constructor: Set order of recovery shape functions. More...
 
 VorticitySmoother (const VorticitySmoother &)=delete
 Broken copy constructor. More...
 
void operator= (const VorticitySmoother &)=delete
 Broken assignment operator. More...
 
virtual ~VorticitySmoother ()
 Empty virtual destructor. More...
 
unsigned & recovery_order ()
 Access function for order of recovery polynomials. More...
 
void shape_rec (const Vector< double > &x, Vector< double > &psi_r)
 Recovery shape functions as functions of the global, Eulerian coordinate x of dimension dim. The recovery shape functions are complete polynomials of the order specified by Recovery_order. More...
 
Integralintegral_rec (const bool &is_q_mesh)
 Integation scheme associated with the recovery shape functions must be of sufficiently high order to integrate the mass matrix associated with the recovery shape functions. The argument is the dimension of the elements. The integration is performed locally over the elements, so the integration scheme does depend on the geometry of the element. The type of element is specified by the boolean which is true if elements in the patch are QElements and false if they are TElements (will need change if we ever have other element types) More...
 
void setup_patches (Mesh *&mesh_pt, std::map< Node *, Vector< ELEMENT * > * > &adjacent_elements_pt, Vector< Node * > &vertex_node_pt)
 Setup patches: For each vertex node pointed to by nod_pt, adjacent_elements_pt[nod_pt] contains the pointer to the vector that contains the pointers to the elements that the node is part of. Also returns a Vector of vertex nodes for use in get_element_errors. More...
 
void get_recovered_vorticity_in_patch (const Vector< ELEMENT * > &patch_el_pt, const unsigned &num_recovery_terms, Vector< double > *&recovered_vorticity_coefficient_pt, unsigned &n_deriv)
 Given the vector of elements that make up a patch, compute the vector of recovered vorticity coefficients and return a pointer to it. n_deriv indicates which derivative of the vorticity is supposed to be smoothed: 0: zeroth (i.e. the vorticity itself) 1: d/dx; 2: d/dy; 3: d^2/dx^2; 4: d^2/dxdy 5: d^2/dy^2 6: d^3/dx^3, 7: d^3/dx^2dy, 8: d^3/dxdy^2, 9: d^3/dy^3, 10: du/dx, 11: du/dy, 12: dv/dx, 13: dv/dy. More...
 
unsigned nrecovery_order () const
 Get the recovery order. More...
 
void recover_vorticity (Mesh *mesh_pt)
 Recover vorticity from patches. More...
 
void recover_vorticity (Mesh *mesh_pt, DocInfo &doc_info)
 Recover vorticity from patches – output intermediate steps to directory specified by DocInfo object. More...
 

Private Attributes

unsigned Recovery_order
 Order of recovery polynomials. More...
 

Detailed Description

template<class ELEMENT>
class oomph::VorticitySmoother< ELEMENT >

/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////

Smoother for vorticity in 2D

Definition at line 1836 of file vorticity_smoother.h.

Constructor & Destructor Documentation

◆ VorticitySmoother() [1/2]

template<class ELEMENT >
oomph::VorticitySmoother< ELEMENT >::VorticitySmoother ( const unsigned &  recovery_order)
inline

Constructor: Set order of recovery shape functions.

Definition at line 1840 of file vorticity_smoother.h.

◆ VorticitySmoother() [2/2]

template<class ELEMENT >
oomph::VorticitySmoother< ELEMENT >::VorticitySmoother ( const VorticitySmoother< ELEMENT > &  )
delete

Broken copy constructor.

◆ ~VorticitySmoother()

template<class ELEMENT >
virtual oomph::VorticitySmoother< ELEMENT >::~VorticitySmoother ( )
inlinevirtual

Empty virtual destructor.

Definition at line 1852 of file vorticity_smoother.h.

Member Function Documentation

◆ get_recovered_vorticity_in_patch()

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch ( const Vector< ELEMENT * > &  patch_el_pt,
const unsigned &  num_recovery_terms,
Vector< double > *&  recovered_vorticity_coefficient_pt,
unsigned &  n_deriv 
)
inline

Given the vector of elements that make up a patch, compute the vector of recovered vorticity coefficients and return a pointer to it. n_deriv indicates which derivative of the vorticity is supposed to be smoothed: 0: zeroth (i.e. the vorticity itself) 1: d/dx; 2: d/dy; 3: d^2/dx^2; 4: d^2/dxdy 5: d^2/dy^2 6: d^3/dx^3, 7: d^3/dx^2dy, 8: d^3/dxdy^2, 9: d^3/dy^3, 10: du/dx, 11: du/dy, 12: dv/dx, 13: dv/dy.

Definition at line 2115 of file vorticity_smoother.h.

References e, i, oomph::VorticitySmoother< ELEMENT >::integral_rec(), oomph::Integral::knot(), oomph::DenseDoubleMatrix::lubksub(), oomph::DenseDoubleMatrix::ludecompose(), oomph::Integral::nweight(), oomph::oomph_info, s, oomph::VorticitySmoother< ELEMENT >::shape_rec(), oomph::QuadTreeNames::W, and oomph::Integral::weight().

Referenced by oomph::VorticitySmoother< ELEMENT >::recover_vorticity().

◆ integral_rec()

template<class ELEMENT >
Integral* oomph::VorticitySmoother< ELEMENT >::integral_rec ( const bool &  is_q_mesh)
inline

Integation scheme associated with the recovery shape functions must be of sufficiently high order to integrate the mass matrix associated with the recovery shape functions. The argument is the dimension of the elements. The integration is performed locally over the elements, so the integration scheme does depend on the geometry of the element. The type of element is specified by the boolean which is true if elements in the patch are QElements and false if they are TElements (will need change if we ever have other element types)

Find order of recovery shape functions

Definition at line 1926 of file vorticity_smoother.h.

References oomph::VorticitySmoother< ELEMENT >::recovery_order().

Referenced by oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch().

◆ nrecovery_order()

template<class ELEMENT >
unsigned oomph::VorticitySmoother< ELEMENT >::nrecovery_order ( ) const
inline

◆ operator=()

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::operator= ( const VorticitySmoother< ELEMENT > &  )
delete

Broken assignment operator.

◆ recover_vorticity() [1/2]

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::recover_vorticity ( Mesh mesh_pt)
inline

Recover vorticity from patches.

Definition at line 2434 of file vorticity_smoother.h.

References oomph::DocInfo::disable_doc().

◆ recover_vorticity() [2/2]

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::recover_vorticity ( Mesh mesh_pt,
DocInfo doc_info 
)
inline

◆ recovery_order()

template<class ELEMENT >
unsigned& oomph::VorticitySmoother< ELEMENT >::recovery_order ( )
inline

Access function for order of recovery polynomials.

Definition at line 1855 of file vorticity_smoother.h.

References oomph::VorticitySmoother< ELEMENT >::Recovery_order.

Referenced by oomph::VorticitySmoother< ELEMENT >::integral_rec(), and oomph::VorticitySmoother< ELEMENT >::shape_rec().

◆ setup_patches()

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::setup_patches ( Mesh *&  mesh_pt,
std::map< Node *, Vector< ELEMENT * > * > &  adjacent_elements_pt,
Vector< Node * > &  vertex_node_pt 
)
inline

Setup patches: For each vertex node pointed to by nod_pt, adjacent_elements_pt[nod_pt] contains the pointer to the vector that contains the pointers to the elements that the node is part of. Also returns a Vector of vertex nodes for use in get_element_errors.

Definition at line 1999 of file vorticity_smoother.h.

References e, oomph::Mesh::element_pt(), oomph::Mesh::nelement(), oomph::oomph_info, and oomph::VorticitySmoother< ELEMENT >::Recovery_order.

Referenced by oomph::VorticitySmoother< ELEMENT >::recover_vorticity().

◆ shape_rec()

template<class ELEMENT >
void oomph::VorticitySmoother< ELEMENT >::shape_rec ( const Vector< double > &  x,
Vector< double > &  psi_r 
)
inline

Recovery shape functions as functions of the global, Eulerian coordinate x of dimension dim. The recovery shape functions are complete polynomials of the order specified by Recovery_order.

Definition at line 1864 of file vorticity_smoother.h.

References oomph::VorticitySmoother< ELEMENT >::recovery_order().

Referenced by oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch(), and oomph::VorticitySmoother< ELEMENT >::recover_vorticity().

Member Data Documentation

◆ Recovery_order

template<class ELEMENT >
unsigned oomph::VorticitySmoother< ELEMENT >::Recovery_order
private

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