27 #ifndef OOMPH_POLAR_STREAMFUNCTION
28 #define OOMPH_POLAR_STREAMFUNCTION
70 const unsigned n_plot=5;
76 void output(std::ostream &outfile,
const unsigned &n_plot);
81 const unsigned n_plot=5;
87 void output(FILE* file_pt,
const unsigned &n_plot);
94 const unsigned n_node =
nnode();
107 for(
unsigned j=0;
j<2;
j++)
113 for(
unsigned l=0;l<n_node;l++)
116 for(
unsigned j=0;
j<2;
j++)
148 const unsigned n_node =
nnode();
160 double interpolated_u = 0.0;
163 for(
unsigned l=0;l<n_node;l++)
165 interpolated_u += this->
nodal_value(l,u_nodal_index)*psi[l];
168 return(interpolated_u);
175 unsigned n_node =
nnode();
186 double interpolated_u = 0.0;
188 for(
unsigned l=0;l<n_node;l++)
190 interpolated_u += this->
nodal_value(l,u_nodal_index)*psi[l];
193 return(interpolated_u);
201 unsigned n_node =
nnode();
219 for(
unsigned l=0;l<n_node;l++)
232 unsigned n_node =
nnode();
246 for(
unsigned l=0;l<n_node;l++)
252 double interpolated_u = 0.0;
258 return(interpolated_u);
332 void output(std::ostream &outfile,
const unsigned &n_plot)
342 void output(FILE* file_pt,
const unsigned &n_plot)
347 void output_fct(std::ostream &outfile,
const unsigned &n_plot,
354 void output_fct(std::ostream &outfile,
const unsigned &n_plot,
484 const unsigned n_node =
nnode();
491 DShape dpsidx(n_node,2), dtestdx(n_node,2);
497 unsigned u_nodal_index[2];
504 int local_eqn=0, local_unknown=0;
507 for(
unsigned ipt=0;ipt<n_intpt;ipt++)
521 double interpolated_s=0.0;
529 for(
unsigned l=0;l<n_node;l++)
533 interpolated_s += s_value*psi(l);
535 for(
unsigned i=0;
i<2;
i++)
538 interpolated_dsdx[
i] += s_value*dpsidx(l,
i);
540 interpolated_u[
i] += u_value*psi(l);
542 for(
unsigned j=0;
j<2;
j++)
553 for(
unsigned l=0;l<n_node;l++)
575 for(
unsigned l2=0;l2<n_node;l2++)
579 if(local_unknown >= 0)
582 jacobian(local_eqn,local_unknown)
584 jacobian(local_eqn,local_unknown)
606 const unsigned &nplot)
617 for (
unsigned iplot=0;iplot<num_plot_points;iplot++)
623 for(
unsigned i=0;
i<2;
i++)
647 const unsigned &nplot)
657 for (
unsigned iplot=0;iplot<num_plot_points;iplot++)
662 for(
unsigned i=0;
i<2;
i++)
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
JacobiRotation< float > J
Definition: Jacobi_makeJacobi.cpp:3
RowVector3d w
Definition: Matrix_resize_int.cpp:3
FaceGeometry()
Definition: streamfunction_elements.h:454
Definition: elements.h:4998
Definition: elements.h:1313
virtual void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Output an exact solution over the element.
Definition: elements.h:3104
double nodal_value(const unsigned &n, const unsigned &i) const
Definition: elements.h:2593
virtual std::string tecplot_zone_string(const unsigned &nplot) const
Definition: elements.h:3161
virtual double interpolated_x(const Vector< double > &s, const unsigned &i) const
Return FE interpolated coordinate x[i] at local coordinate s.
Definition: elements.cc:3962
virtual void shape(const Vector< double > &s, Shape &psi) const =0
int nodal_local_eqn(const unsigned &n, const unsigned &i) const
Definition: elements.h:1432
unsigned nnode() const
Return the number of nodes.
Definition: elements.h:2210
void(* SteadyExactSolutionFctPt)(const Vector< double > &, Vector< double > &)
Definition: elements.h:1759
Integral *const & integral_pt() const
Return the pointer to the integration scheme (const version)
Definition: elements.h:1963
virtual void get_s_plot(const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const
Definition: elements.h:3148
virtual unsigned nplot_points(const unsigned &nplot) const
Definition: elements.h:3186
double nodal_position(const unsigned &n, const unsigned &i) const
Definition: elements.h:2317
virtual double dshape_eulerian_at_knot(const unsigned &ipt, Shape &psi, DShape &dpsidx) const
Definition: elements.cc:3325
double raw_nodal_value(const unsigned &n, const unsigned &i) const
Definition: elements.h:2576
virtual void write_tecplot_zone_footer(std::ostream &outfile, const unsigned &nplot) const
Definition: elements.h:3174
void(* UnsteadyExactSolutionFctPt)(const double &, const Vector< double > &, Vector< double > &)
Definition: elements.h:1765
double dshape_eulerian(const Vector< double > &s, Shape &psi, DShape &dpsidx) const
Definition: elements.cc:3298
double raw_nodal_position(const unsigned &n, const unsigned &i) const
Definition: elements.cc:1686
static DenseMatrix< double > Dummy_matrix
Definition: elements.h:227
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.
Definition: streamfunction_elements.h:298
PolarStreamfunctionElement(const PolarStreamfunctionElement &dummy)
Broken copy constructor.
Definition: streamfunction_elements.h:315
void output(FILE *file_pt)
Definition: streamfunction_elements.h:337
static const unsigned Initial_Nvalue
Definition: streamfunction_elements.h:304
void output(std::ostream &outfile)
Definition: streamfunction_elements.h:327
void output_fct(std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
Definition: streamfunction_elements.h:354
double dshape_and_dtest_eulerian_poisson(const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Shape, test functions & derivs. w.r.t. to global coords. Return Jacobian.
Definition: streamfunction_elements.h:391
PolarStreamfunctionElement()
Definition: streamfunction_elements.h:311
unsigned required_nvalue(const unsigned &n) const
Definition: streamfunction_elements.h:322
void output(FILE *file_pt, const unsigned &n_plot)
Definition: streamfunction_elements.h:342
void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Definition: streamfunction_elements.h:347
double dshape_and_dtest_eulerian_at_knot_poisson(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Definition: streamfunction_elements.h:418
void output(std::ostream &outfile, const unsigned &n_plot)
Definition: streamfunction_elements.h:332
A class for solving my poisson like streamfunction problem.
Definition: streamfunction_elements.h:37
void output(FILE *file_pt)
C_style output with default number of plot points.
Definition: streamfunction_elements.h:79
virtual double dshape_and_dtest_eulerian_poisson(const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
PolarStreamfunctionEquations(const PolarStreamfunctionEquations &dummy)
Broken copy constructor.
Definition: streamfunction_elements.h:55
void output(std::ostream &outfile)
Output with default number of plot points.
Definition: streamfunction_elements.h:68
double interpolated_streamfunction(const Vector< double > &s) const
Definition: streamfunction_elements.h:145
double interpolated_vorticity(const Vector< double > &s) const
Definition: streamfunction_elements.h:229
double interpolated_velocity(const Vector< double > &s, const unsigned &i) const
Return FE interpolated velocity u[i] at local coordinate s.
Definition: streamfunction_elements.h:172
virtual void fill_in_generic_residual_contribution(Vector< double > &residuals, DenseMatrix< double > &jacobian, unsigned flag)
Definition: streamfunction_elements.h:479
const double & alpha() const
Alpha.
Definition: streamfunction_elements.h:46
PolarStreamfunctionEquations()
Constructor (must initialise the Source_fct_pt to null)
Definition: streamfunction_elements.h:52
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Definition: streamfunction_elements.h:135
double interpolated_dudx(const Vector< double > &s, const unsigned &i, const unsigned &j) const
Definition: streamfunction_elements.h:198
virtual unsigned u_index_streamfunction() const
Return the indicies at which the unknown values are stored.
Definition: streamfunction_elements.h:62
double * Alpha_pt
Pointer to the angle alpha.
Definition: streamfunction_elements.h:41
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Add the element's contribution to its residual vector (wrapper)
Definition: streamfunction_elements.h:124
virtual double dshape_and_dtest_eulerian_at_knot_poisson(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
void get_flux(const Vector< double > &s, Vector< double > &flux) const
Definition: streamfunction_elements.h:91
virtual unsigned u_index_velocity(const unsigned &i) const
Return the indicies at which the (known) velocities are stored.
Definition: streamfunction_elements.h:65
double *& alpha_pt()
Pointer to Alpha.
Definition: streamfunction_elements.h:49
Definition: Qelements.h:459
RealScalar s
Definition: level1_cplx_impl.h:130
squared absolute sa ArrayBase::abs2 DOXCOMMA MatrixBase::cwiseAbs2 sa Eigen::abs2 DOXCOMMA Eigen::pow DOXCOMMA ArrayBase::square nearest sa Eigen::floor DOXCOMMA Eigen::ceil DOXCOMMA ArrayBase::round nearest integer not less than the given sa Eigen::floor DOXCOMMA ArrayBase::ceil not a number test
Definition: GlobalFunctions.h:109
void flux(const double &time, const Vector< double > &x, double &flux)
Get flux applied along boundary x=0.
Definition: pretend_melt.cc:59
double Alpha
Parameter for steepness of step.
Definition: two_d_adv_diff_adapt.cc:53
void broken_copy(const std::string &class_name)
Issue error message and terminate execution.
Definition: oomph_utilities.cc:212
@ W
Definition: quadtree.h:63
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