![]() |
|
Christian's perturbation solution. More...
Functions | |
double | get_radial_distance (const Vector< double > &x) |
function to compute radial distance of this point More... | |
double | get_azimuthal_angle (const Vector< double > &x) |
function to return angle of radial line from positive x-axis More... | |
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 More... | |
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) More... | |
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) More... | |
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) More... | |
void | full_soln (const Vector< double > &x, Vector< double > &u, double &p, const unsigned &nterms=2) |
void | perturbation_soln_for_plot (const Vector< double > &x, Vector< double > &soln) |
Combined solution (u,v,p) for plotting. More... | |
void | first_order_perturbation_for_plot (const Vector< double > &x, Vector< double > &soln) |
First order-perturbation for plotting. More... | |
void | second_order_perturbation_for_plot (const Vector< double > &x, Vector< double > &soln) |
Second order-perturbation for plotting. More... | |
Variables | |
void(* | veloc_and_pressure_term_pt [3])(const double, const double, Vector< double > &, double &) |
array of function pointers for each term in expansion More... | |
unsigned | N_terms_for_plot =2 |
Number of terms in perturbation expansion for plot. More... | |
Christian's perturbation solution.
void PerturbationSolution::first_order_perturbation_for_plot | ( | const Vector< double > & | x, |
Vector< double > & | soln | ||
) |
First order-perturbation for plotting.
References get_azimuthal_angle(), get_radial_distance(), i, isinf, isnan, polar_to_cartesian_velocity(), UniformPSDSelfTest::r, veloc_and_pressure_term_pt, and plotDoE::x.
void PerturbationSolution::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)
References cos(), Eigen::bfloat16_impl::log(), BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, and sin().
void PerturbationSolution::full_soln | ( | const Vector< double > & | x, |
Vector< double > & | u, | ||
double & | p, | ||
const unsigned & | nterms = 2 |
||
) |
Full solution. Final optional argument specifies number of terms in expansion (Stokes or Stokes plus leading order correction in Re)
References get_azimuthal_angle(), get_radial_distance(), i, p, polar_to_cartesian_velocity(), Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, GlobalPhysicalVariables::Re, veloc_and_pressure_term_pt, and plotDoE::x.
Referenced by perturbation_soln_for_plot().
function to return angle of radial line from positive x-axis
References atan2(), and plotDoE::x.
Referenced by first_order_perturbation_for_plot(), full_soln(), and second_order_perturbation_for_plot().
function to compute radial distance of this point
References sqrt(), and plotDoE::x.
Referenced by first_order_perturbation_for_plot(), full_soln(), and second_order_perturbation_for_plot().
void PerturbationSolution::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)
References cos(), BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, and sin().
void PerturbationSolution::perturbation_soln_for_plot | ( | const Vector< double > & | x, |
Vector< double > & | soln | ||
) |
Combined solution (u,v,p) for plotting.
References full_soln(), isinf, isnan, N_terms_for_plot, p, and plotDoE::x.
void PerturbationSolution::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
Referenced by first_order_perturbation_for_plot(), full_soln(), and second_order_perturbation_for_plot().
void PerturbationSolution::second_order_perturbation_for_plot | ( | const Vector< double > & | x, |
Vector< double > & | soln | ||
) |
Second order-perturbation for plotting.
References get_azimuthal_angle(), get_radial_distance(), i, isinf, isnan, polar_to_cartesian_velocity(), UniformPSDSelfTest::r, veloc_and_pressure_term_pt, and plotDoE::x.
void PerturbationSolution::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)
References cos(), BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, and sin().
unsigned PerturbationSolution::N_terms_for_plot =2 |
Number of terms in perturbation expansion for plot.
Referenced by perturbation_soln_for_plot().
void(* PerturbationSolution::veloc_and_pressure_term_pt[3])(const double, const double, Vector< double > &, double &) | ( | const double | , |
const double | , | ||
Vector< double > & | , | ||
double & | |||
) |
array of function pointers for each term in expansion
Referenced by first_order_perturbation_for_plot(), full_soln(), and second_order_perturbation_for_plot().