Friction¶
Smooth Mollifier¶
- double ipc::smooth_friction_f0(const double y, const double eps_v);¶
Smooth friction mollifier function.
\[ f_0(y)= \begin{cases} -\frac{y^3}{3\epsilon_v^2} + \frac{y^2}{\epsilon_v} + \frac{\epsilon_v}{3}, & |y| < \epsilon_v \newline y, & |y| \geq \epsilon_v \end{cases} \]
- double ipc::smooth_friction_f1(const double y, const double eps_v);¶
The first derivative of the smooth friction mollifier.
\[ f_1(y) = f_0'(y) = \begin{cases} -\frac{y^2}{\epsilon_v^2}+\frac{2 y}{\epsilon_v}, & |y| < \epsilon_v \newline 1, & |y| \geq \epsilon_v \end{cases} \]
- double ipc::smooth_friction_f2(const double y, const double eps_v);¶
The second derivative of the smooth friction mollifier.
\[ f_2(y) = f_0''(y) = \begin{cases} -\frac{2 y}{\epsilon_v^2}+\frac{2}{\epsilon_v}, & |y| < \epsilon_v \newline 0, & |y| \geq \epsilon_v \end{cases} \]
-
double ipc::smooth_friction_f1_over_x(
const double y, const double eps_v);¶ Compute the derivative of the smooth friction mollifier divided by y ( \(\frac{f_0'(y)}{y}\)).
\[ \frac{f_1(y)}{y} = \begin{cases} -\frac{y}{\epsilon_v^2}+\frac{2}{\epsilon_v}, & |y| < \epsilon_v \newline \frac{1}{y}, & |y| \geq \epsilon_v \end{cases} \]Note
The
x
in the function name refers to the parametery
.
-
double ipc::smooth_friction_f2_x_minus_f1_over_x3(
const double y, const double eps_v);¶ The derivative of f1 times y minus f1 all divided by y cubed.
\[ \frac{f_1'(y) y - f_1(y)}{y^3} = \begin{cases} -\frac{1}{y \epsilon_v^2}, & |y| < \epsilon_v \newline -\frac{1}{y^3}, & |y| \geq \epsilon_v \end{cases} \]Note
The
x
in the function name refers to the parametery
.
Smooth \(\mu\)¶
-
double ipc::smooth_mu(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Smooth coefficient from static to kinetic friction.
-
double ipc::smooth_mu_derivative(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Compute the derivative of the smooth coefficient from static to kinetic friction.
-
double ipc::smooth_mu_f0(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Compute the value of the ∫ μ(y) f₁(y) dy, where f₁ is the first derivative of the smooth friction mollifier.
-
double ipc::smooth_mu_f1(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Compute the value of the μ(y) f₁(y), where f₁ is the first derivative of the smooth friction mollifier.
-
double ipc::smooth_mu_f2(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Compute the value of d/dy (μ(y) f₁(y)), where f₁ is the first derivative of the smooth friction mollifier.
-
double ipc::smooth_mu_f1_over_x(const double y, const double mu_s,
const double mu_k, const double eps_v);¶ Compute the value of the μ(y) f₁(y) / y, where f₁ is the first derivative of the smooth friction mollifier.
Note
The
x
in the function name refers to the parametery
.
-
double ipc::smooth_mu_f2_x_minus_mu_f1_over_x3(const double y,
const double mu_s, const double mu_k, const double eps_v);¶ Compute the value of the [(d/dy μ(y) f₁(y)) ⋅ y - μ(y) f₁(y)] / y³, where f₁ and f₂ are the first and second derivatives of the smooth friction mollifier.
Note
The
x
in the function name refers to the parametery
.