37 template<
unsigned DIM>
68 double J = this->dshape_and_dtest_eulerian_at_knot_helmholtz(
75 std::complex<double> interpolated_u(0.0, 0.0);
86 for (
unsigned j = 0;
j <
DIM;
j++)
91 const std::complex<double>
u_value(
98 for (
unsigned j = 0;
j <
DIM;
j++)
105 std::complex<double> source(0.0, 0.0);
144 this->u_index_helmholtz().real());
147 this->u_index_helmholtz().imag());
170 (source.real() - this->k_squared() * interpolated_u.real()) *
174 for (
unsigned k = 0;
k <
DIM;
k++)
216 this->u_index_helmholtz().real());
226 l2, this->u_index_helmholtz().
real());
236 for (
unsigned i = 0;
i <
DIM;
i++)
258 (source.imag() - this->k_squared() * interpolated_u.imag()) *
262 for (
unsigned k = 0;
k <
DIM;
k++)
304 this->u_index_helmholtz().imag());
315 l2, this->u_index_helmholtz().
imag());
324 for (
unsigned i = 0;
i <
DIM;
i++)
A Class for the derivatives of shape functions The class design is essentially the same as Shape,...
Integral *const & integral_pt() const
Return the pointer to the integration scheme (const version)
double nodal_value(const unsigned &n, const unsigned &i) const
Return the i-th value stored at local node n. Produces suitably interpolated values for hanging nodes...
virtual double interpolated_x(const Vector< double > &s, const unsigned &i) const
Return FE interpolated coordinate x[i] at local coordinate s.
int nodal_local_eqn(const unsigned &n, const unsigned &i) const
Return the local equation number corresponding to the i-th value at the n-th local node.
unsigned nnode() const
Return the number of nodes.
double nodal_position(const unsigned &n, const unsigned &i) const
Return the i-th coordinate at local node n. If the node is hanging, the appropriate interpolation is ...
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
Class that contains data for hanging nodes.
virtual unsigned nweight() const =0
Return the number of integration points of the scheme.
virtual double weight(const unsigned &i) const =0
Return weight of i-th integration point.
bool is_hanging() const
Test whether the node is geometrically hanging.
HangInfo *const & hanging_pt() const
Return pointer to hanging node data (this refers to the geometric hanging node status) (const version...
void fill_in_generic_residual_contribution_helmholtz(Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag)
Add element's contribution to elemental residual vector and/or Jacobian matrix flag=1: compute both f...
A Class for shape functions. In simple cases, the shape functions have only one index that can be tho...
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
TAdvectionDiffusionReactionElement()
Constructor: Call constructors for TElement and AdvectionDiffusionReaction equations.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).