Class WallRegular

Inheritance Relationships

Base Type

Class Documentation

class Mechatronix::WallRegular : public Mechatronix::RegularizedBase

Wall function smoothed

\[\begin{split} w(x) = \begin{cases} \displaystyle\frac{\epsilon}{1-X} & x < 0 \\[1em] \epsilon + a X(X-4/3)+ \displaystyle\frac{bX}{1/4+X} + \displaystyle\frac{cX}{1/2+X} + \displaystyle\frac{dX}{3/4+X} + \displaystyle\frac{eX}{1+X} & x \geq 0 \end{cases} \end{split}\]
\[ \mathrm{where}\qquad X = \frac{x}{h} \]

parameterd are evaluated such that \( w(h)=1 \) and \( w(0)=\epsilon \).

../_images/WALL_REGULAR_0.jpeg

Inizialization

inline explicit WallRegular()
virtual void setup(GenericContainer const &gc) override
void setup(real_type h, real_type epsilon)

Initialize regularized.

Setup parameters \( a \), \( b \) , \( c \) , \( d \) and \( e \) given \( h \) and \( \epsilon \).

\[ a = \frac{315}{104} - \frac{1551}{208}\epsilon \]
\[ b = \frac{385}{3328} - \frac{10055}{19968}\epsilon \]
\[ c = \frac{243}{13}\epsilon - \frac{105}{26} \]
\[ d = \frac{42525}{3328} - \frac{462105}{6656}\epsilon \]
\[ e = \frac{1882}{39}\epsilon - \frac{70}{13} \]

parameterd are evaluated such that \( w(h)=1 \) and \( w(0)=\epsilon \).

inline void update_h(real_type h)
inline void update_epsilon(real_type epsilon)

Evaluate penalty

virtual real_type operator()(real_type x) const override

Evaluate

../_images/WALL_REGULAR_0.jpeg

virtual real_type D(real_type x) const override

../_images/WALL_REGULAR_1.jpeg

virtual real_type DD(real_type x) const override

../_images/WALL_REGULAR_2.jpeg

Info

virtual string info() const override