00001 // ------------------------------------------------------------------------- 00002 // matwinpt.h - This header file contains the public data structure 00003 // definitions for the unilateral point winkler material 00004 // class mechanism 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/17$ 00013 // $State: Exp $ 00014 // 00015 // ------------------------------------------------------------------------- 00016 00017 #ifndef _MATWINPT_H 00018 #define _MATWINPT_H 00019 00020 #include "material.h" 00021 00022 // ------------------------------------------------------------------------- 00023 // Winkler nonlinear material class: 00024 // 00025 class cMatWinklerPt : public cMaterial 00026 { 00027 protected: 00028 double *_dw; // Transversal displacements 00029 double *_dp; // Foundation pressures 00030 00031 public: 00032 cMatWinklerPt( int ); 00033 ~cMatWinklerPt( void ); 00034 void Read ( void ); 00035 void GetElastParam( double * ); 00036 void GetParam ( double * ); 00037 }; 00038 00039 00040 // ------------------------------------------------------------------------- 00041 // Winkler nolinear material class for 2D problems: 00042 // 00043 class cMatWinkler2DPt : public cMaterial 00044 { 00045 protected: 00046 int _iNumPtX; // Size of X data 00047 int _iNumPtY; // Size of Y data 00048 double *_dux,*_dpx; // Displacement/pressure curve (X) 00049 double *_duy,*_dpy; // Displacement/pressure curve (Y) 00050 00051 public: 00052 cMatWinkler2DPt( int ); 00053 ~cMatWinkler2DPt( void ); 00054 void Read ( void ); 00055 void GetElastParam ( double * ); 00056 void GetParam ( double * ); 00057 }; 00058 00059 #endif