GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
GranOO3::Math::Pid Class Reference

#include <Pid.hpp>

Inheritance diagram for GranOO3::Math::Pid:
Inheritance graph
[legend]

Public Member Functions

 Pid ()
 
 Pid (const std::string &symbol, const std::string desc="")
 
 Pid (const double &x, double target, double dt, double max, double min, double Kp, double Kd, double Ki)
 
 ~Pid ()
 
void parse_xml (const TiXmlElement *el, const std::string &AttributeName)
 
double operator() ()
 
double operator() (const double &x, const double &target)
 
double operator() (const double &x, const double &target, const double &dt, const double &max, const double &min, const double &Kp, const double &Kd, const double &Ki)
 
- Public Member Functions inherited from GranOO3::Math::FunctionT< Pid >
 FunctionT (unsigned int varNumber)
 
 FunctionT (unsigned int varNumber, const std::string &symbol, const std::string desc="")
 
virtual ~FunctionT ()
 
void record (const std::string &)
 
- Public Member Functions inherited from GranOO3::Math::Function
 Function (unsigned int varNumber)
 
virtual ~Function ()
 
virtual double operator() (const double &)
 
virtual double operator() (const double &, const double &, const double &)
 
virtual double operator() (const double &, const double &, const double &, const double &)
 
virtual double operator() (const double &, const double &, const double &, const double &, const double &)
 
virtual double operator() (const double &, const double &, const double &, const double &, const double &, const double &)
 
virtual double operator() (const double &, const double &, const double &, const double &, const double &, const double &, const double &)
 
- Public Member Functions inherited from exprtk::ifunction< double >
 ifunction (const std::size_t &pc)
 
virtual ~ifunction ()
 
virtual double operator() () empty_method_body(0) inline virtual double operator()(const double &) empty_method_body(1) inline virtual double operator()(const double &
 
virtual double const double & empty_method_body (2) inline virtual double operator()(const double &
 
virtual double const double const double const double & empty_method_body (3) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double & empty_method_body (4) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double & empty_method_body (5) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (6) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (7) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (8) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (9) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (10) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (11) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (12) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (13) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (14) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (15) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (16) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (17) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (18) inline virtual double operator()(const double &
 
virtual double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double const double & empty_method_body (19) inline virtual double operator()(const double &
 
- Public Member Functions inherited from exprtk::function_traits
 function_traits ()
 
bool & allow_zero_parameters ()
 
bool & has_side_effects ()
 
std::size_t & min_num_args ()
 
std::size_t & max_num_args ()
 

Static Public Member Functions

static std::string class_ID ()
 

Private Member Functions

 Pid (const Pid &)=delete
 
Pidoperator= (const Pid &)=delete
 

Private Attributes

const double * _x
 
double _target
 
double _dt
 
double _max
 
double _min
 
double _Kp
 
double _Kd
 
double _Ki
 
double _pre_error
 
double _integral
 

Additional Inherited Members

- Static Protected Attributes inherited from GranOO3::Math::Function
static boost::mt11213b _generator = boost::mt11213b((uint32_t)std::time(0))
 
static std::map< std::string, Function * > _recorded_function
 

Constructor & Destructor Documentation

◆ Pid() [1/4]

GranOO3::Math::Pid::Pid ( )

◆ Pid() [2/4]

GranOO3::Math::Pid::Pid ( const std::string &  symbol,
const std::string  desc = "" 
)

◆ Pid() [3/4]

GranOO3::Math::Pid::Pid ( const double &  x,
double  target,
double  dt,
double  max,
double  min,
double  Kp,
double  Kd,
double  Ki 
)

◆ ~Pid()

GranOO3::Math::Pid::~Pid ( )

◆ Pid() [4/4]

GranOO3::Math::Pid::Pid ( const Pid )
privatedelete

Member Function Documentation

◆ class_ID()

static std::string GranOO3::Math::Pid::class_ID ( )
inlinestatic

◆ operator()() [1/3]

double GranOO3::Math::Pid::operator() ( void  )
virtual

◆ operator()() [2/3]

double GranOO3::Math::Pid::operator() ( const double &  x,
const double &  target 
)
virtual

Reimplemented from GranOO3::Math::Function.

◆ operator()() [3/3]

double GranOO3::Math::Pid::operator() ( const double &  x,
const double &  target,
const double &  dt,
const double &  max,
const double &  min,
const double &  Kp,
const double &  Kd,
const double &  Ki 
)
virtual

Reimplemented from GranOO3::Math::Function.

◆ operator=()

Pid& GranOO3::Math::Pid::operator= ( const Pid )
privatedelete

◆ parse_xml()

void GranOO3::Math::Pid::parse_xml ( const TiXmlElement *  el,
const std::string &  AttributeName 
)

Member Data Documentation

◆ _dt

double GranOO3::Math::Pid::_dt
private

◆ _integral

double GranOO3::Math::Pid::_integral
private

◆ _Kd

double GranOO3::Math::Pid::_Kd
private

◆ _Ki

double GranOO3::Math::Pid::_Ki
private

◆ _Kp

double GranOO3::Math::Pid::_Kp
private

◆ _max

double GranOO3::Math::Pid::_max
private

◆ _min

double GranOO3::Math::Pid::_min
private

◆ _pre_error

double GranOO3::Math::Pid::_pre_error
private

◆ _target

double GranOO3::Math::Pid::_target
private

◆ _x

const double* GranOO3::Math::Pid::_x
private

The documentation for this class was generated from the following files: