Class Penalty2DEllipse

Inheritance Relationships

Base Type

Class Documentation

class Mechatronix::Penalty2DEllipse : public Mechatronix::Penalty2DTwoCurves

Ellipse type penalty.

Public Functions

inline explicit Penalty2DEllipse(string const &name)

build penalty

virtual void setup(GenericContainer const &vars) override

The penalty is defined by two ellipse.

Associative array must contains

  • "Xlimit" X ellipse ray

  • "Ylimit" Y ellipse ray

  • "Xpsy" X rhomb ray

  • "Ypsy" Y rhomb ray

The ellipse in polar coordinate is given by

\[ r(\theta) = X_{\mathrm{limit}} \cos \theta + Y_{\mathrm{limit}} \sin \theta \]

using the followimng parameter

\[ X_{\mathrm{limit}}=Y_{\mathrm{limit}}=1.6,\qquad X_{\mathrm{psi}}=1.5,\qquad Y_{\mathrm{psi}}=1 \]

following level curve are obtained

../_images/ellipse.jpeg

The penalty is 0 inside the ellipses is zero and grow quadratically (along the ray). The value of the penalty is 1 on the bigger ellipse.