![]() |
|
Smoother for vorticity in 2D. 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) |
Integral * | integral_rec (const bool &is_q_mesh) |
void | setup_patches (Mesh *&mesh_pt, std::map< Node *, Vector< ELEMENT * > * > &adjacent_elements_pt, Vector< Node * > &vertex_node_pt) |
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) |
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) |
Private Attributes | |
unsigned | Recovery_order |
Order of recovery polynomials. More... | |
Smoother for vorticity in 2D.
/////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
|
inline |
Constructor: Set order of recovery shape functions.
|
delete |
Broken copy constructor.
|
inlinevirtual |
|
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
References e(), i, oomph::VorticitySmoother< ELEMENT >::integral_rec(), J, oomph::Integral::knot(), oomph::DenseDoubleMatrix::lubksub(), oomph::DenseDoubleMatrix::ludecompose(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::oomph_info, s, oomph::VorticitySmoother< ELEMENT >::shape_rec(), w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and plotDoE::x.
Referenced by oomph::VorticitySmoother< ELEMENT >::recover_vorticity().
|
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
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::VorticitySmoother< ELEMENT >::recovery_order().
Referenced by oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch().
|
inline |
Get the recovery order.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::VorticitySmoother< ELEMENT >::Recovery_order.
Referenced by oomph::VorticitySmoother< ELEMENT >::recover_vorticity().
|
delete |
Broken assignment operator.
|
inline |
Recover vorticity from patches.
References oomph::DocInfo::disable_doc().
|
inline |
Recover vorticity from patches – output intermediate steps to directory specified by DocInfo object
References e(), oomph::Mesh::element_pt(), oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch(), i, j, oomph::Mesh::nnode(), oomph::Mesh::node_pt(), oomph::VorticitySmoother< ELEMENT >::nrecovery_order(), oomph::oomph_info, s, oomph::Data::set_value(), oomph::VorticitySmoother< ELEMENT >::setup_patches(), oomph::VorticitySmoother< ELEMENT >::shape_rec(), oomph::TimingHelpers::timer(), and plotDoE::x.
|
inline |
Access function for order of recovery polynomials.
References oomph::VorticitySmoother< ELEMENT >::Recovery_order.
Referenced by oomph::VorticitySmoother< ELEMENT >::integral_rec(), and oomph::VorticitySmoother< ELEMENT >::shape_rec().
|
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.
References e(), oomph::Mesh::element_pt(), n, oomph::Mesh::nelement(), oomph::oomph_info, oomph::VorticitySmoother< ELEMENT >::Recovery_order, and size.
Referenced by oomph::VorticitySmoother< ELEMENT >::recover_vorticity().
|
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.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::VorticitySmoother< ELEMENT >::recovery_order(), and plotDoE::x.
Referenced by oomph::VorticitySmoother< ELEMENT >::get_recovered_vorticity_in_patch(), and oomph::VorticitySmoother< ELEMENT >::recover_vorticity().
|
private |
Order of recovery polynomials.
Referenced by oomph::VorticitySmoother< ELEMENT >::nrecovery_order(), oomph::VorticitySmoother< ELEMENT >::recovery_order(), and oomph::VorticitySmoother< ELEMENT >::setup_patches().