NormalizedBarrier¶
-
template <typename BarrierT>
class NormalizedBarrier : public BarrierT;¶ Inheritance diagram for ipc::NormalizedBarrier:
Collaboration diagram for ipc::NormalizedBarrier:
Normalized barrier function from [Li et al. 2023].
Public Functions¶
- NormalizedBarrier() = default;¶
-
inline double operator()(
const double d, const double dhat) const override;¶ Function that grows to infinity as d approaches 0 from the right.
\[ b(d) = -\left(\frac{d}{\hat{d}}-1\right)^2\ln\left(\frac{d}{\hat{d}}\right) \]
-
inline double first_derivative(
const double d, const double dhat) const override;¶ Derivative of the barrier function.
\[ b'(d) = 2\frac{1}{\hat{d}}\left(1-\frac{d}{\hat{d}}\right)\ln\left(\frac{d}{\hat{d}}\right) + \left(1-\frac{d}{\hat{d}}\right)^2 \frac{1}{d} \]