45 double LinearisedAxisymmetricNavierStokesEquations::
46 Default_Physical_Constant_Value = 0.0;
49 int LinearisedAxisymmetricNavierStokesEquations::
50 Default_Azimuthal_Mode_Number_Value = 0;
65 std::ostream&
outfile,
const unsigned&
nplot,
const unsigned&
t)
95 for (
unsigned i = 0;
i < 2;
i++)
108 for (
unsigned i = 0;
i < 6;
i++)
114 interpolated_u[
i] = 0.0;
124 for (
unsigned i = 0;
i < 2;
i++)
130 for (
unsigned i = 0;
i < 6;
i++)
132 outfile << interpolated_u[
i] <<
" ";
169 for (
unsigned i = 0;
i < 2;
i++)
175 for (
unsigned i = 0;
i < 6;
i++)
181 for (
unsigned i = 0;
i < 2;
i++)
220 for (
unsigned i = 0;
i < 2;
i++)
226 for (
unsigned i = 0;
i < 6;
i++)
232 for (
unsigned i = 0;
i < 2;
i++)
261 std::ostringstream error_message;
262 error_message <<
"The strain rate has incorrect dimensions "
264 <<
" Not 3" << std::endl;
268 "LinearisedAxisymmetricNavierStokeEquations::strain_rate()",
287 double UC = 0.0,
US = 0.0;
290 double WC = 0.0,
WS = 0.0;
293 double VC = 0.0,
VS = 0.0;
299 for (
unsigned i = 0;
i < 6; ++
i)
410 for (
unsigned i = 0;
i < 6; ++
i)
443 for (
unsigned i = 0;
i < 2;
i++)
461 const double W = w *
J;
491 for (
unsigned i = 0;
i < 2;
i++)
497 interpolated_p[
i] += p_value *
psip_;
511 for (
unsigned i = 0;
i < 2;
i++)
517 for (
unsigned i = 0;
i < 6;
i++)
529 for (
unsigned j = 0;
j < 2;
j++)
543 for (
unsigned i = 0;
i < 2;
i++)
665 for (
unsigned j = 0;
j < 2;
j++)
668 interpolated_dudx(0,
j) *
testf_ * W;
725 for (
unsigned j = 0;
j < 2;
j++)
844 for (
unsigned j = 0;
j < 2;
j++)
847 interpolated_dudx(1,
j) *
testf_ * W;
913 for (
unsigned j = 0;
j < 2;
j++)
1019 for (
unsigned j = 0;
j < 2;
j++)
1022 interpolated_dudx(2,
j) *
testf_ * W;
1095 for (
unsigned j = 0;
j < 2;
j++)
1186 for (
unsigned j = 0;
j < 2;
j++)
1189 interpolated_dudx(3,
j) *
testf_ * W;
1271 for (
unsigned j = 0;
j < 2;
j++)
1362 for (
unsigned j = 0;
j < 2;
j++)
1365 interpolated_dudx(4,
j) *
testf_ * W;
1463 for (
unsigned j = 0;
j < 2;
j++)
1549 for (
unsigned j = 0;
j < 2;
j++)
1552 interpolated_dudx(5,
j) *
testf_ * W;
1659 for (
unsigned j = 0;
j < 2;
j++)
1858 6, 6, 6, 6, 6, 6, 6, 6, 6};
1865 const unsigned&
n)
const
1884 8, 6, 8, 6, 6, 6, 8, 6, 8};
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 std::string tecplot_zone_string(const unsigned &nplot) const
Return string for tecplot zone header (when plotting nplot points in each "coordinate direction")
virtual void shape(const Vector< double > &s, Shape &psi) const =0
Calculate the geometric shape functions at local coordinate s. This function must be overloaded for e...
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.
virtual void get_s_plot(const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const
Get cector of local coordinates of plot point i (when plotting nplot points in each "coordinate direc...
virtual unsigned nplot_points(const unsigned &nplot) const
Return total number of plot points (when plotting nplot points in each "coordinate direction")
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 ...
double dshape_eulerian(const Vector< double > &s, Shape &psi, DShape &dpsidx) const
Compute the geometric shape functions and also first derivatives w.r.t. global coordinates at local c...
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
double raw_dnodal_position_dt(const unsigned &n, const unsigned &i) const
Return the i-th component of nodal velocity: dx/dt at local node n. Do not use the hanging node repre...
double raw_nodal_value(const unsigned &n, const unsigned &i) const
Return the i-th value stored at local node n but do NOT take hanging nodes into account.
double raw_nodal_position(const unsigned &n, const unsigned &i) const
Return the i-th coordinate at local node n. Do not use the hanging node representation....
virtual void write_tecplot_zone_footer(std::ostream &outfile, const unsigned &nplot) const
Add tecplot zone "footer" to output stream (when plotting nplot points in each "coordinate direction"...
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 int & azimuthal_mode_number() const
Azimuthal mode number k in e^ik(theta) decomposition.
const double & re_st() const
Product of Reynolds and Strouhal number (=Womersley number)
static Vector< double > Gamma
Vector to decide whether the stress-divergence form is used or not.
double du_dt_linearised_axi_nst(const unsigned &n, const unsigned &i) const
Return the i-th component of du/dt at local node n. Uses suitably interpolated value for hanging node...
void output(std::ostream &outfile)
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. Default number of pl...
static double Default_Physical_Ratio_Value
Static default value for the physical ratios (all initialised to one)
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.
static int Pressure_not_stored_at_node
Static "magic" number that indicates that the pressure is not stored at a node.
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....
bool ALE_is_disabled
Boolean flag to indicate if ALE formulation is disabled when the time-derivatives are computed....
virtual void pshape_linearised_axi_nst(const Vector< double > &s, Shape &psi) const =0
Compute the pressure shape functions at local coordinate s.
double interpolated_u_linearised_axi_nst(const Vector< double > &s, const unsigned &i) const
Return the i-th component of the FE interpolated velocity u[i] at local coordinate s.
void output_veloc(std::ostream &outfile, const unsigned &nplot, const unsigned &t)
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, in tecplot format. nplot points in each coordina...
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....
virtual double dshape_and_dtest_eulerian_at_knot_linearised_axi_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...
virtual unsigned npres_linearised_axi_nst() const =0
Return the number of pressure degrees of freedom associated with a single pressure component in the e...
double interpolated_p_linearised_axi_nst(const Vector< double > &s, const unsigned &i) const
Return the i-th component of the FE interpolated pressure p[i] at local coordinate s.
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_axi_nst(const unsigned &i) const
Return the index at which the i-th unknown velocity component is stored. The default value,...
virtual void fill_in_generic_residual_contribution_linearised_axi_nst(Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix, unsigned flag)
Compute the residuals for the Navier-Stokes equations; flag=1(or 0): do (or don't) compute the Jacobi...
virtual double p_linearised_axi_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...
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 ...
void strain_rate(const Vector< double > &s, DenseMatrix< double > &strain_rate) const
Strain-rate tensor: where (in that order)
virtual unsigned required_nvalue(const unsigned &n) const
Return number of values (pinned or dofs) required at local node n.
static const unsigned Initial_Nvalue[]
Static array of ints to hold required number of variables at nodes.
static const unsigned Initial_Nvalue[]
Static array of ints to hold number of variables at node.
static const unsigned Pconv[]
Static array of ints to hold conversion from pressure node numbers to actual node numbers.
An OomphLibError object which should be thrown when an run-time error is encountered....
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...
virtual double weight(const unsigned &i, const unsigned &j) const
Access function for j-th weight for the i-th derivative.
double & time()
Return current value of continous time.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).