OpenSim  OpenSim 3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
OpenSim::StaticOptimizationTarget Class Reference

This class provides an interface specification for static optimization Objective Function. More...

#include <StaticOptimizationTarget.h>

Public Member Functions

 StaticOptimizationTarget (const SimTK::State &s, Model *aModel, int aNX, int aNC, const bool useMusclePhysiology=true)
void setModel (Model &aModel)
void setStatesStore (const Storage *aStatesStore)
void setStatesSplineSet (GCVSplineSet aStatesSplineSet)
void setNumParams (const int aNP)
void setNumConstraints (const int aNC)
void setDX (double aVal)
void setDX (int aIndex, double aVal)
double getDX (int aIndex)
double * getDXArray ()
void getActuation (SimTK::State &s, const SimTK::Vector &parameters, SimTK::Vector &forces)
void setActivationExponent (double aActivationExponent)
double getActivationExponent () const
void setCurrentState (const SimTK::State *state)
const SimTK::State * getCurrentState () const
void validatePerturbationSize (double &aSize)
virtual void printPerformance (const SimTK::State &s, double *x)
void computeActuatorAreas (const SimTK::State &s)
bool prepareToOptimize (SimTK::State &s, double *x)
int objectiveFunc (const SimTK::Vector &x, bool new_coefficients, SimTK::Real &rP) const
int gradientFunc (const SimTK::Vector &x, bool new_coefficients, SimTK::Vector &gradient) const
int constraintFunc (const SimTK::Vector &x, bool new_coefficients, SimTK::Vector &constraints) const
int constraintJacobian (const SimTK::Vector &x, bool new_coefficients, SimTK::Matrix &jac) const

Static Public Member Functions

static int CentralDifferencesConstraint (const StaticOptimizationTarget *aTarget, double *dx, const SimTK::Vector &x, SimTK::Matrix &jacobian)
static int CentralDifferences (const StaticOptimizationTarget *aTarget, double *dx, const SimTK::Vector &x, SimTK::Vector &dpdx)

Static Public Attributes

static const double SMALLDX
 Smallest allowable perturbation size for computing derivatives.

Protected Attributes

double _activationExponent
bool _useMusclePhysiology
Array< double > _dx
 Perturbation size for computing numerical derivatives.
Array< int > _accelerationIndices

Detailed Description

This class provides an interface specification for static optimization Objective Function.

Author
Jeff Reinbolt

Constructor & Destructor Documentation

OpenSim::StaticOptimizationTarget::StaticOptimizationTarget ( const SimTK::State &  s,
Model aModel,
int  aNX,
int  aNC,
const bool  useMusclePhysiology = true 
)

Member Function Documentation

static int OpenSim::StaticOptimizationTarget::CentralDifferences ( const StaticOptimizationTarget aTarget,
double *  dx,
const SimTK::Vector &  x,
SimTK::Vector &  dpdx 
)
static
static int OpenSim::StaticOptimizationTarget::CentralDifferencesConstraint ( const StaticOptimizationTarget aTarget,
double *  dx,
const SimTK::Vector &  x,
SimTK::Matrix &  jacobian 
)
static
void OpenSim::StaticOptimizationTarget::computeActuatorAreas ( const SimTK::State &  s)
int OpenSim::StaticOptimizationTarget::constraintFunc ( const SimTK::Vector &  x,
bool  new_coefficients,
SimTK::Vector &  constraints 
) const
int OpenSim::StaticOptimizationTarget::constraintJacobian ( const SimTK::Vector &  x,
bool  new_coefficients,
SimTK::Matrix &  jac 
) const
double OpenSim::StaticOptimizationTarget::getActivationExponent ( ) const
inline
void OpenSim::StaticOptimizationTarget::getActuation ( SimTK::State &  s,
const SimTK::Vector &  parameters,
SimTK::Vector &  forces 
)
const SimTK::State* OpenSim::StaticOptimizationTarget::getCurrentState ( ) const
inline
double OpenSim::StaticOptimizationTarget::getDX ( int  aIndex)
double* OpenSim::StaticOptimizationTarget::getDXArray ( )
int OpenSim::StaticOptimizationTarget::gradientFunc ( const SimTK::Vector &  x,
bool  new_coefficients,
SimTK::Vector &  gradient 
) const
int OpenSim::StaticOptimizationTarget::objectiveFunc ( const SimTK::Vector &  x,
bool  new_coefficients,
SimTK::Real &  rP 
) const
bool OpenSim::StaticOptimizationTarget::prepareToOptimize ( SimTK::State &  s,
double *  x 
)
virtual void OpenSim::StaticOptimizationTarget::printPerformance ( const SimTK::State &  s,
double *  x 
)
virtual
void OpenSim::StaticOptimizationTarget::setActivationExponent ( double  aActivationExponent)
inline
void OpenSim::StaticOptimizationTarget::setCurrentState ( const SimTK::State *  state)
inline
void OpenSim::StaticOptimizationTarget::setDX ( double  aVal)
void OpenSim::StaticOptimizationTarget::setDX ( int  aIndex,
double  aVal 
)
void OpenSim::StaticOptimizationTarget::setModel ( Model aModel)
void OpenSim::StaticOptimizationTarget::setNumConstraints ( const int  aNC)
void OpenSim::StaticOptimizationTarget::setNumParams ( const int  aNP)
void OpenSim::StaticOptimizationTarget::setStatesSplineSet ( GCVSplineSet  aStatesSplineSet)
void OpenSim::StaticOptimizationTarget::setStatesStore ( const Storage aStatesStore)
void OpenSim::StaticOptimizationTarget::validatePerturbationSize ( double &  aSize)

Member Data Documentation

Array<int> OpenSim::StaticOptimizationTarget::_accelerationIndices
protected
double OpenSim::StaticOptimizationTarget::_activationExponent
protected
Array<double> OpenSim::StaticOptimizationTarget::_dx
protected

Perturbation size for computing numerical derivatives.

bool OpenSim::StaticOptimizationTarget::_useMusclePhysiology
protected
const double OpenSim::StaticOptimizationTarget::SMALLDX
static

Smallest allowable perturbation size for computing derivatives.


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