55 for (
unsigned i = 0;
i < 3; ++
i)
119 for (
unsigned i = 0;
i < 2;
i++)
139 double interpolated_p = 0.0;
160 for (
unsigned i = 0;
i < 2;
i++)
166 for (
unsigned i = 0;
i < 3;
i++)
173 for (
unsigned j = 0;
j < 2;
j++)
184 "ALE is not properly implemented for Refineable Spherical NS yet",
189 for (
unsigned i = 0;
i < 2;
i++)
207 const double r2 =
r *
r;
213 const double u_r = interpolated_u[0];
214 const double u_theta = interpolated_u[1];
215 const double u_phi = interpolated_u[2];
253 for (
unsigned i = 0;
i < 2 + 1;
i++)
286 double conv =
r *
u_r * interpolated_dudx(0, 0);
306 sum += (-interpolated_p + 2 * interpolated_dudx(0, 0)) *
r2 *
311 interpolated_dudx(0, 1)) *
316 ((-
r * interpolated_p + +interpolated_dudx(1, 1) +
329 (
u_r * interpolated_dudx(1, 0) *
r +
349 interpolated_dudx(0, 1)) *
353 sum += (-
r * interpolated_p + 2.0 * interpolated_dudx(1, 1) +
359 interpolated_dudx(0, 1)) *
361 (-
r * interpolated_p + 2.0 *
u_r +
395 sum += (
r2 * interpolated_dudx(2, 0) -
r *
u_phi) *
445 for (
unsigned i2 = 0;
i2 < 2 + 1;
i2++)
487 r * (
psif(
l2) * interpolated_dudx(0, 0) +
539 (interpolated_dudx(0, 1) - 2.0 *
u_theta) *
595 (
r2 * interpolated_dudx(1, 0) +
r *
u_theta) *
640 (interpolated_dudx(1, 1) +
u_r) *
psif(
l2);
711 (
r * interpolated_dudx(2, 0) +
u_phi) *
936 interpolated_dudx(1, 1)) *
970 for (
unsigned i2 = 0;
i2 < 2 + 1;
i2++)
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.
double dnodal_position_dt(const unsigned &n, const unsigned &i) const
Return the i-th component of nodal velocity: dx/dt at 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.
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...
An OomphLibError object which should be thrown when an run-time error is encountered....
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_spherical_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...
virtual double dshape_and_dtest_eulerian_at_knot_spherical_nst(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
Compute the shape functions and derivatives w.r.t. global coords at ipt-th integration point Return J...
virtual void pshape_spherical_nst(const Vector< double > &s, Shape &psi) const =0
Compute the pressure shape functions at local coordinate s.
virtual unsigned u_index_spherical_nst(const unsigned &i) const
Return the index at which the i-th unknown velocity component is stored. The default value,...
virtual double p_spherical_nst(const unsigned &n_p) const =0
Pressure at local pressure "node" n_p Uses suitably interpolated value for hanging nodes.
virtual void get_body_force_spherical_nst(const double &time, const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &result)
Calculate the body force at a given time and local and/or Eulerian position. This function is virtual...
double du_dt_spherical_nst(const unsigned &n, const unsigned &i) const
i-th component of du/dt at local node n. Uses suitably interpolated value for hanging nodes.
virtual int p_nodal_index_spherical_nst() const
Return the index at which the pressure is stored if it is stored at the nodes. If not stored at the n...
const double & density_ratio() const
Density ratio for element: Element's density relative to the viscosity used in the definition of the ...
const Vector< double > & g() const
Vector of gravitational components.
const double & re_st() const
Product of Reynolds and Strouhal number (=Womersley number)
virtual int p_local_eqn(const unsigned &n) const =0
Access function for the local equation number information for the pressure. p_local_eqn[n] = local eq...
virtual unsigned npres_spherical_nst() const =0
Function to return number of pressure degrees of freedom.
bool ALE_is_disabled
Boolean flag to indicate if ALE formulation is disabled when time-derivatives are computed....
const double & re() const
Reynolds number.
const double & re_invro() const
Global Reynolds number multiplied by inverse Rossby number.
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
virtual double weight(const unsigned &i, const unsigned &j) const
Access function for j-th weight for the i-th derivative.
Time *const & time_pt() const
Access function for the pointer to time (const version)
double & time()
Return the current value of the continuous time.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).