00001 // ------------------------------------------------------------------------- 00002 // winkpt.h - This header file contains the public data structure 00003 // definitions for the unilateral point Winkler 00004 // model class within FEMOOP. 00005 // ------------------------------------------------------------------------- 00006 // Remarks: In this class, the number of parameters is the number of 00007 // points that describe the foundation. 00008 // ------------------------------------------------------------------------- 00009 // 00010 // $Author: aurea $ 00011 // $Revision: 1.1 $ 00012 // $Date: 2001/08/15 $ 00013 // $State: Exp $ 00014 // 00015 // ------------------------------------------------------------------------- 00016 00017 #ifndef _WINKPT 00018 #define _WINKPT 00019 00020 #include "cmodel.h" 00021 00022 // ------------------------------------------------------------------------- 00023 // Nonlinear Elastic Foundation class: 00024 // 00025 class cWinklerPt : public cConstModel 00026 { 00027 protected: 00028 double _dW; // Transversal displacement 00029 00030 public: 00031 cWinklerPt ( cIntPt *, cMaterial * ); 00032 ~cWinklerPt ( void ) { } 00033 int Stress ( double *, double * ); 00034 void ModifyCMatrix( double ** ); 00035 }; 00036 00037 00038 // ------------------------------------------------------------------------- 00039 // Nonlinear Elastic Foundation class for 2D problems: 00040 // 00041 class cWinkler2DPt : public cConstModel 00042 { 00043 protected: 00044 double _dux; // Axial displacement 00045 double _duy; // Transversal displacement 00046 00047 public: 00048 cWinkler2DPt ( cIntPt *, cMaterial * ); 00049 ~cWinkler2DPt ( void ) { } 00050 int Stress ( double *, double * ); 00051 void ModifyCMatrix( double ** ); 00052 }; 00053 00054 #endif