FEBio  1.5.0
FEBio/FELinearElastic.h
00001 // FELinearElastic.h: interface for the FELinearElastic class.
00002 //
00004 
00005 #if !defined(AFX_FELINEARELASTIC_H__D91CFCDE_A6EB_4AF5_B6ED_89A4725528FE__INCLUDED_)
00006 #define AFX_FELINEARELASTIC_H__D91CFCDE_A6EB_4AF5_B6ED_89A4725528FE__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "FEElasticMaterial.h"
00013 
00014 //-----------------------------------------------------------------------------
00016 
00017 class FELinearElastic : public FEElasticMaterial
00018 {
00019 public:
00020         FELinearElastic() {}
00021 
00022 public:
00023         double  m_E;    
00024         double  m_v;    
00025 
00026 public:
00028         virtual mat3ds Stress(FEMaterialPoint& pt);
00029 
00031         virtual tens4ds Tangent(FEMaterialPoint& pt);
00032 
00034         void Init();
00035 
00037         double BulkModulus() { return m_E/(3.0*(1.0 - 2.0*m_v));}
00038 
00039         // declare as registered
00040         DECLARE_REGISTERED(FELinearElastic);
00041 
00042         // declare parameter list
00043         DECLARE_PARAMETER_LIST();
00044 };
00045 
00046 #endif // !defined(AFX_FELINEARELASTIC_H__D91CFCDE_A6EB_4AF5_B6ED_89A4725528FE__INCLUDED_)