00001 #ifndef DIFFERENTIAL_EQUATION_HH 00002 #define DIFFERENTIAL_EQUATION_HH 00003 00004 // Copyright (c) 2002-2005 The University of Cincinnati. 00005 // All rights reserved. 00006 00007 // You may modify, distribute, and use the software contained in this package 00008 // under the terms of the "GNU LIBRARY GENERAL PUBLIC LICENSE" version 2, June 00009 // 1991. A copy of this license agreement can be found in the file "LGPL", 00010 // distributed with this archive. 00011 00012 // Authors: Vinod Chamarty chamarv@ececs.uc.edu 00013 // Shriram Subramanian subramsi@ececs.uc.edu 00014 00015 #include "tyvis/Component.hh" 00016 00029 class differentialEquation : public component { 00030 00031 public: 00041 differentialEquation(component **&parent_equation , const char* name, VHDLType * implicitQty, 00042 VHDLType* quantityTickDot); 00043 00051 differentialEquation(const char* name, VHDLType* implicitQty, 00052 VHDLType* quantityTickDot); 00053 00055 virtual ~differentialEquation(void); 00056 00058 virtual eqnType getEquationType(); 00059 00061 virtual void init(); 00062 00064 virtual int load(); 00065 00073 int load(Quantity *qty, int index); 00074 00076 virtual int pointerAllocation(); 00077 00083 virtual int trunc(double *timeStep); 00084 00085 protected: 00086 00087 private: 00088 00090 spREAL **transientMatrixPointers; 00091 00093 Quantity** branchQty; 00094 00096 int stateVectorIndex; 00097 00099 int firstTime; 00100 00101 }; 00102 00103 #endif
1.4.6