Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

suTrackTargetDynamic.h

00001 // suTrackTargetDynamic.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // Copyright 2003
00004 // AUTHOR: Frank C. Anderson
00005 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00006 #ifndef __suTrackTargetDynamic_h__
00007 #define __suTrackTargetDynamic_h__
00008 
00009 
00010 //==============================================================================
00011 // INCLUDES
00012 //==============================================================================
00013 #include "suTrackControllerDLL.h"
00014 #include "suTrackController.h"
00015 #include <stdlib.h>
00016 #include <stdio.h>
00017 #include <math.h>
00018 #include <rdTools.h>
00019 #include <rdMath.h>
00020 #include <rdRKF.h>
00021 #include <rdControlSet.h>
00022 #include <rdFSQP.h>
00023 #include <rdOptimizationTarget.h>
00024 
00025 
00026 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00027 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00032 class SUTRACKCONTROLLER_API suTrackTargetDynamic : public rdOptimizationTarget
00033 {
00034 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00035 //==============================================================================
00036 // DATA
00037 //==============================================================================
00038 private:
00040    suTrackController *_controller;
00042    double *_yOrig;
00044    double *_ypOrig;
00046    double *_y;
00048    double *_dqdt;
00050    double *_dudt;
00052    rdRKF *_rkf;
00053 
00054 //==============================================================================
00055 // METHODS
00056 //==============================================================================
00057 public:
00058    //---------------------------------------------------------------------------
00059    // CONSTRUCTION
00060    //---------------------------------------------------------------------------
00061    virtual ~suTrackTargetDynamic();
00062    suTrackTargetDynamic(int aNX,suTrackController *aController,double aDTTarget,
00063       double aTolerance,double aFineTolerance);
00064 private:
00065    void setNull();
00066 
00067    //---------------------------------------------------------------------------
00068    // SET AND GET
00069    //---------------------------------------------------------------------------
00070 
00071    //--------------------------------------------------------------------------
00072    // REQUIRED OPTIMIZATION TARGET METHODS
00073    //--------------------------------------------------------------------------
00074    // PERFORMANCE AND CONSTRAINTS
00075    int compute(double *x,double *p,double *c);
00076    int computeGradients(double *dx,double *x,double *dpdx,double *dcdx);
00077    // PERFORMANCE
00078    int computePerformance(double *x,double *p);
00079    int computePerformanceGradient(double *x,double *dpdx);
00080    // CONSTRAINTS
00081    int computeConstraint(double *x,int i,double *c);
00082    int computeConstraintGradient(double *x,int i,double *dcdx);
00083 
00084    //--------------------------------------------------------------------------
00085    // COMPUTATIONS
00086    //--------------------------------------------------------------------------
00087    void step(double aDT,double aTI,double aTF,rdControlSet &aX,double *rY);
00088 
00089 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00090 }; // END class suTrackTargetDynamic
00091 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00092 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00093 
00094 
00095 #endif // #ifndef __suTrackTargetDynamic_h__

Generated on Wed Aug 20 02:17:07 2003 for Simulation Software by doxygen1.3