Class NegativePartRegularizedWithSinAtan

Inheritance Relationships

Base Type

Class Documentation

class Mechatronix::NegativePartRegularizedWithSinAtan : public Mechatronix::RegularizedBase

Negative part smoothed.

Inizialization

inline explicit NegativePartRegularizedWithSinAtan()
virtual void setup(GenericContainer const &gc) override
void setup(real_type h)

Initialize NegativePartRegularizedWithSinAtan given h

inline void update_h(real_type h)

Evaluate

virtual real_type operator()(real_type x) const override

Evaluate

\[\begin{split} f(x) = \frac{1}{2} \begin{cases} x-\sqrt{x^2+\kappa^2} & x < 0 \\[1em] -\frac{\kappa^2}{\sqrt{x^2+\kappa^2}+x} & x \geq 0 \\[1em] \end{cases} \end{split}\]

where \( \kappa \) satisfy

\[ f(0) = \epsilon \]

and thus

\[ \kappa = 2\epsilon \]

../_images/NegativePartRegularizedWithSinAtan0.jpeg

virtual real_type D(real_type x) const override

../_images/NegativePartRegularizedWithSinAtan1.jpeg

virtual real_type DD(real_type x) const override

../_images/NegativePartRegularizedWithSinAtan2.jpeg

Info

virtual string info() const override