27 #ifndef OOMPH_TPML_HELMHOLTZ_ELEMENTS_HEADER
28 #define OOMPH_TPML_HELMHOLTZ_ELEMENTS_HEADER
33 #include <oomph-lib-config.h>
38 #include "../generic/nodes.h"
39 #include "../generic/oomph_utilities.h"
40 #include "../generic/Telements.h"
41 #include "../generic/error_estimator.h"
59 template<
unsigned DIM,
unsigned NNODE_1D>
101 void output(std::ostream& outfile,
const unsigned& n_plot)
117 void output(FILE* file_pt,
const unsigned& n_plot)
126 const unsigned& n_plot,
136 const unsigned& n_plot,
141 outfile, n_plot, time, exact_soln_pt);
168 return (NNODE_1D - 1);
184 for (
unsigned i = 0;
i <
DIM;
i++)
186 flux[count++] = complex_flux[
i].real();
187 flux[count++] = complex_flux[
i].imag();
210 template<
unsigned DIM,
unsigned NNODE_1D>
222 template<
unsigned DIM,
unsigned NNODE_1D>
230 unsigned n_node = this->nnode();
233 double J = this->dshape_eulerian(
s, psi, dpsidx);
237 for (
unsigned i = 0;
i < n_node;
i++)
240 dtestdx(
i, 0) = dpsidx(
i, 0);
241 dtestdx(
i, 1) = dpsidx(
i, 1);
255 template<
unsigned DIM,
unsigned NNODE_1D>
264 double J = this->dshape_eulerian_at_knot(ipt, psi, dpsidx);
281 template<
unsigned DIM,
unsigned NNODE_1D>
283 :
public virtual TElement<DIM - 1, NNODE_1D>
295 template<
unsigned NNODE_1D>
314 template<
unsigned NNODE_1D>
330 template<
unsigned DIM,
unsigned NNODE_1D>
332 :
public virtual QElement<DIM - 1, NNODE_1D>
348 template<
unsigned NNODE_1D>
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
JacobiRotation< float > J
Definition: Jacobi_makeJacobi.cpp:3
Definition: error_estimator.h:79
FaceGeometry()
Definition: Tpml_helmholtz_elements.h:337
FaceGeometry()
Definition: Tpml_helmholtz_elements.h:302
FaceGeometry()
Definition: Tpml_helmholtz_elements.h:288
Definition: elements.h:4998
void(* SteadyExactSolutionFctPt)(const Vector< double > &, Vector< double > &)
Definition: elements.h:1759
void(* UnsteadyExactSolutionFctPt)(const double &, const Vector< double > &, Vector< double > &)
Definition: elements.h:1765
Definition: pml_helmholtz_elements.h:62
void get_flux(const Vector< double > &s, Vector< std::complex< double >> &flux) const
Get flux: flux[i] = du/dx_i for real and imag part.
Definition: pml_helmholtz_elements.h:446
void output(std::ostream &outfile)
Output with default number of plot points.
Definition: pml_helmholtz_elements.h:282
void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Definition: pml_helmholtz_elements.cc:564
PMLLayerElement()
Definition: Tpml_helmholtz_elements.h:356
PMLLayerElement()
Definition: Tpml_helmholtz_elements.h:321
Definition: pml_meshes.h:48
Definition: elements.h:3439
PMLHelmholtz upgraded to become projectable.
Definition: pml_helmholtz_elements.h:1015
Definition: Qelements.h:459
Definition: pml_helmholtz_elements.h:754
Definition: Telements.h:1208
Definition: Tpml_helmholtz_elements.h:63
void output_fct(std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
Definition: Tpml_helmholtz_elements.h:135
unsigned nvertex_node() const
Number of vertex nodes in the element.
Definition: Tpml_helmholtz_elements.h:192
void output(FILE *file_pt)
Definition: Tpml_helmholtz_elements.h:109
static const unsigned Initial_Nvalue
Static unsigned that holds the (same) number of variables at every node.
Definition: Tpml_helmholtz_elements.h:205
double dshape_and_dtest_eulerian_at_knot_helmholtz(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Definition: Tpml_helmholtz_elements.h:257
unsigned nrecovery_order()
Definition: Tpml_helmholtz_elements.h:166
unsigned required_nvalue(const unsigned &n) const
Broken assignment operator.
Definition: Tpml_helmholtz_elements.h:87
void output(std::ostream &outfile)
Definition: Tpml_helmholtz_elements.h:94
double dshape_and_dtest_eulerian_helmholtz(const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Definition: Tpml_helmholtz_elements.h:224
void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Definition: Tpml_helmholtz_elements.h:125
void output(FILE *file_pt, const unsigned &n_plot)
Definition: Tpml_helmholtz_elements.h:117
TPMLHelmholtzElement(const TPMLHelmholtzElement< DIM, NNODE_1D > &dummy)=delete
Broken copy constructor.
void output(std::ostream &outfile, const unsigned &n_plot)
Definition: Tpml_helmholtz_elements.h:101
TPMLHelmholtzElement()
Definition: Tpml_helmholtz_elements.h:67
unsigned num_Z2_flux_terms()
Number of 'flux' terms for Z2 error estimation.
Definition: Tpml_helmholtz_elements.h:172
Node * vertex_node_pt(const unsigned &j) const
Pointer to the j-th vertex node in the element.
Definition: Tpml_helmholtz_elements.h:198
void get_Z2_flux(const Vector< double > &s, Vector< double > &flux)
Definition: Tpml_helmholtz_elements.h:179
RealScalar s
Definition: level1_cplx_impl.h:130
#define DIM
Definition: linearised_navier_stokes_elements.h:44
void flux(const double &time, const Vector< double > &x, double &flux)
Get flux applied along boundary x=0.
Definition: pretend_melt.cc:59
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
Definition: indexed_view.cpp:20
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2