68 for (
unsigned i = 0;
i < 2;
i++)
131 for (
unsigned i = 0;
i <
DIM;
i++)
149 const double W = w *
J;
162 for (
unsigned i = 0;
i <
DIM; ++
i)
164 interpolated_u[
i].real(0.0);
165 interpolated_u[
i].imag(0.0);
171 std::complex<double> interpolated_p(0.0, 0.0);
177 for (
unsigned i = 0;
i <
DIM; ++
i)
179 interpolated_dudx[
i].resize(
DIM);
180 for (
unsigned j = 0;
j <
DIM; ++
j)
182 interpolated_dudx[
i][
j].real(0.0);
183 interpolated_dudx[
i][
j].imag(0.0);
202 interpolated_p += p_value *
psip_;
221 for (
unsigned i = 0;
i <
DIM;
i++)
227 for (
unsigned i = 0;
i <
DIM;
i++)
230 const std::complex<double>
u_value(
241 for (
unsigned j = 0;
j <
DIM;
j++)
322 for (
unsigned i = 0;
i <
DIM;
i++)
331 for (
unsigned k = 0;
k <
DIM; ++
k)
335 (interpolated_dudx[
i][
k] +
Gamma[
i] * interpolated_dudx[
k][
i]) *
340 for (
unsigned k = 0;
k <
DIM; ++
k)
497 for (
unsigned k = 1;
k <
DIM; ++
k)
547 for (
unsigned k = 0;
k <
DIM; ++
k)
A Class for the derivatives of shape functions The class design is essentially the same as Shape,...
TimeStepper *& time_stepper_pt()
Return the pointer to the timestepper.
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.
Node *const & master_node_pt(const unsigned &i) const
Return a pointer to the i-th master node.
virtual double knot(const unsigned &i, const unsigned &j) const =0
Return local coordinate s[j] of i-th integration point.
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.
const double & viscosity_ratio() const
Viscosity ratio for element: element's viscosity relative to the viscosity used in the definition of ...
virtual unsigned u_index_linearised_nst(const unsigned &i) const
Return the index at which the i-th unknown velocity component is stored. The default value,...
const double & omega() const
static Vector< double > Gamma
Vector to decide whether the stress-divergence form is used or not.
virtual unsigned npres_linearised_nst() const =0
Return the number of pressure degrees of freedom associated with a single pressure component in the e...
const double & lambda() const
const double & re() const
Reynolds number.
const double & density_ratio() const
Density ratio for element: element's density relative to the viscosity used in the definition of the ...
virtual int p_local_eqn(const unsigned &n, const unsigned &i)=0
Access function for the local equation number information for the i-th component of the pressure....
virtual void pshape_linearised_nst(const Vector< double > &s, Shape &psi) const =0
Compute the pressure shape functions at local coordinate s.
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Calculate the velocity components of the base flow solution at a given time and Eulerian position.
virtual double p_linearised_nst(const unsigned &n_p, const unsigned &i) const =0
Return the i-th pressure value at local pressure "node" n_p. Uses suitably interpolated value for han...
virtual double dshape_and_dtest_eulerian_at_knot_linearised_nst(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
Compute the shape functions and their derivatives w.r.t. global coordinates at the ipt-th integration...
int eigenvalue_local_eqn(const unsigned &i)
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Calculate the derivatives of the velocity components of the base flow solution w.r....
const double & re_st() const
Product of Reynolds and Strouhal number (=Womersley number)
virtual int p_index_linearised_nst(const unsigned &i) const
Which nodal value represents the pressure?
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...
int local_hang_eqn(Node *const &node_pt, const unsigned &i)
Access function that returns the local equation number for the hanging node variables (values stored ...
virtual Node * pressure_node_pt(const unsigned &n_p)
Pointer to n_p-th pressure node (Default: NULL, indicating that pressure is not based on nodal interp...
void fill_in_generic_residual_contribution_linearised_nst(Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix, unsigned flag)
Add element's contribution to the elemental residual vector and/or Jacobian matrix flag=1: compute bo...
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...
double & time()
Return current value of continous time.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).