33 using namespace MathematicalConstants;
51 Vector<double>& u_cart)
53 u_cart[0] = u_polar[0] *
cos(phi) - u_polar[1] *
sin(phi);
54 u_cart[1] = u_polar[0] *
sin(phi) + u_polar[1] *
cos(phi);
59 Vector<double>& u_0,
double& p_0)
66 u_0[1] = ((-4*phi*
cos(phi) +
Pi*(-2*phi +
Pi)*
sin(phi)))/(-4 +
pow(
Pi,2));
74 Vector<double>& u_1,
double& p_1)
94 Vector<double>& u_2,
double& p_2)
131 36*(96*phi - 48*(-2 +
pow(phi,2))*
Pi - 56*phi*
pow(
Pi,2) + 4*(4 +
pow(phi,2))*
pow(
Pi,3) -
151 Vector<double>& u,
double&
p,
152 const unsigned& nterms=2)
161 Vector<double> u_i(2);
164 Vector<double> u_polar(2);
176 for (
unsigned i = 0;
i < nterms;
i++)
185 u[0] -=
pow(
Re,
i) * u_i[0];
186 u[1] -=
pow(
Re,
i) * u_i[1];
197 Vector<double>& soln)
209 Vector<double>& soln)
220 Vector<double> u_i(2);
223 Vector<double> u_polar(2);
239 for (
unsigned i=0;
i<3;
i++)
249 Vector<double>& soln)
260 Vector<double> u_i(2);
263 Vector<double> u_polar(2);
279 for (
unsigned i=0;
i<3;
i++)
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar atan2(const AnnoyingScalar &y, const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:139
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
int i
Definition: BiCGSTAB_step_by_step.cpp:9
float * p
Definition: Tutorial_Map_using.cpp:9
#define isnan(X)
Definition: main.h:109
#define isinf(X)
Definition: main.h:110
double Pi
Definition: two_d_biharmonic.cc:235
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
double Re
Reynolds number.
Definition: axisym_navier_stokes/counter_rotating_disks/counter_rotating_disks.cc:61
Global variables.
Definition: TwenteMeshGluing.cpp:60
Christian's perturbation solution.
Definition: finite_re_perturbation.h:31
double get_azimuthal_angle(const Vector< double > &x)
function to return angle of radial line from positive x-axis
Definition: finite_re_perturbation.h:43
void second_order_veloc_and_pressure(const double r, const double phi, Vector< double > &u_2, double &p_2)
Second order correction (u and p are in polar coordinates)
Definition: finite_re_perturbation.h:93
void polar_to_cartesian_velocity(const Vector< double > u_polar, const double phi, Vector< double > &u_cart)
function to convert velocity vectors from polar to Cartesian coords
Definition: finite_re_perturbation.h:49
void leading_order_veloc_and_pressure(const double r, const double phi, Vector< double > &u_0, double &p_0)
Leading order solution (u and p are in polar coordinates)
Definition: finite_re_perturbation.h:58
void first_order_perturbation_for_plot(const Vector< double > &x, Vector< double > &soln)
First order-perturbation for plotting.
Definition: finite_re_perturbation.h:208
void(* veloc_and_pressure_term_pt[3])(const double, const double, Vector< double > &, double &)
array of function pointers for each term in expansion
Definition: finite_re_perturbation.h:136
void first_order_veloc_and_pressure(const double r, const double phi, Vector< double > &u_1, double &p_1)
First order correction (u and p are in polar coordinates)
Definition: finite_re_perturbation.h:73
unsigned N_terms_for_plot
Number of terms in perturbation expansion for plot.
Definition: finite_re_perturbation.h:193
void full_soln(const Vector< double > &x, Vector< double > &u, double &p, const unsigned &nterms=2)
Definition: finite_re_perturbation.h:150
void perturbation_soln_for_plot(const Vector< double > &x, Vector< double > &soln)
Combined solution (u,v,p) for plotting.
Definition: finite_re_perturbation.h:196
double get_radial_distance(const Vector< double > &x)
function to compute radial distance of this point
Definition: finite_re_perturbation.h:37
void second_order_perturbation_for_plot(const Vector< double > &x, Vector< double > &soln)
Second order-perturbation for plotting.
Definition: finite_re_perturbation.h:248
list x
Definition: plotDoE.py:28