Class PenaltyBarrier1Dsubtype

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Mechatronix::PenaltyBarrier1Dsubtype : public Mechatronix::PenaltyBarrier1D

Base class for 1D penalty.

Subclassed by Mechatronix::PenaltyBarrier1DGreaterThan, Mechatronix::PenaltyBarrier1DInterval, Mechatronix::PenaltyBarrier1DLessThan

Public Functions

inline explicit PenaltyBarrier1Dsubtype(string const &name)

Construct the penalty.

virtual void update_SubType(integer _subtye) override

change the subtype of the penalty

virtual void update_epsilon(real_type _epsilon) override

change the epsilon of the control, used in the continuation

virtual void update_tolerance(real_type _tolerance) override

change the tolerance of the control, used in the continuation

void setup(integer subType, real_type epsilon, real_type tolerance)

set the kind of growing for 1D penalties

Read associative array vars which must contains

  • vars[name+"Tolerance"] \( h \)

  • vars[name+"Epsilon"] \( \epsilon \)

  • vars[name+"SubType"] select the type of grow

    • 0 Wall Regular

    • 1 Wall smooth

    • 2 Wall piecewise

void setup(GenericContainer const &gc) = 0

setup parameter for penalty

Protected Functions

void update_parameters()

Protected Attributes

real_type m_epsilon
real_type m_tolerance
integer m_subType
WallErfPower1 m_wall_erf_power1
WallErfPower2 m_wall_erf_power2
WallErfPower3 m_wall_erf_power3
WallTanhPower1 m_wall_tanh_power1
WallTanhPower2 m_wall_tanh_power2
WallTanhPower3 m_wall_tanh_power3
WallPiecewisePower1 m_wall_piecewise_power1
WallPiecewisePower2 m_wall_piecewise_power2
WallPiecewisePower3 m_wall_piecewise_power3
WallRegular m_wall_reg
WallSmooth m_wall_smooth
WallPiecewise m_wall_piecewise
Barrier1X m_barrier_1X
BarrierLog m_barrier_Log
BarrierLogExp m_barrier_LogExp
BarrierLog0 m_barrier_Log0