FEBio  1.5.0
FEBio/FEOgdenUnconstrained.h
00001 #pragma once
00002 #include "FEMaterial.h"
00003 #include "FEUncoupledMaterial.h"
00004 
00005 class FEOgdenUnconstrained : public FEElasticMaterial
00006         {
00007         public:
00008                 enum { MAX_TERMS = 6 };
00009         public:
00010                 FEOgdenUnconstrained();
00011                 
00013                 void Init();
00014                 
00016                 mat3ds Stress(FEMaterialPoint& pt);
00017                 
00019                 tens4ds Tangent(FEMaterialPoint& pt);
00020                 
00022                 double BulkModulus() { return 0;}
00023                 
00024         protected:
00025                 void EigenValues(mat3ds& A, double l[3], vec3d r[3], const double eps = 0);
00026                 double  m_eps;
00027                 
00028         public:
00029                 double  m_c[MAX_TERMS];         
00030                 double  m_m[MAX_TERMS];         
00031                 double  m_p;                            
00032                 
00033                 DECLARE_REGISTERED(FEOgdenUnconstrained);
00034                 
00035                 DECLARE_PARAMETER_LIST();
00036         };