00001 /* OOQP * 00002 * Authors: E. Michael Gertz, Stephen J. Wright * 00003 * (C) 2001 University of Chicago. See Copyright Notification in OOQP */ 00004 00005 #ifndef QPEXAMPLERESIDS_H 00006 #define QPEXAMPLERESIDS_H 00007 00008 #include "Residuals.h" 00009 00010 class Data; 00011 class Variables; 00012 class LinearAlgebraPackage; 00013 class OoqpVector; 00014 00020 class QpExampleResids : public Residuals 00021 { 00022 protected: 00024 int nx; 00025 00027 int my; 00028 00030 int mz; 00031 public: 00032 00034 OoqpVector * rQ; 00035 00037 OoqpVector * rA; 00038 00040 OoqpVector * rC; 00041 00043 OoqpVector * r3; 00044 00045 QpExampleResids(LinearAlgebraPackage * la, 00046 int nx_in, int my_in, int mz_in ); 00047 virtual ~QpExampleResids(); 00048 00049 virtual void calcresids( Data *problem, Variables *vars); 00050 virtual void add_r3_xz_alpha(Variables *vars, double alpha); 00051 virtual void set_r3_xz_alpha(Variables *vars, double alpha); 00052 00053 virtual void clear_r1r2(); 00054 virtual void clear_r3(); 00055 virtual void project_r3(double rmin, double rmax); 00056 }; 00057 00058 #endif