FEBio  1.5.0
FEBio/FEPoroHolmesMow.h
00001 #pragma once
00002 #include "FEPoroElastic.h"
00003 
00004 //-----------------------------------------------------------------------------
00005 // This class implements a poroelastic material that has a strain-dependent
00006 // permeability according to the constitutive relation of Holmes & Mow (JB 1990)
00007 
00008 class FEPoroHolmesMow : public FEPoroElastic
00009 {
00010 public:
00012         FEPoroHolmesMow();
00013                 
00015         virtual vec3d Flux(FEMaterialPoint& pt);
00016                 
00018         virtual void Permeability(double k[3][3], FEMaterialPoint& pt);
00019 
00021         virtual tens4ds Tangent_Permeability(FEMaterialPoint& mp);
00022 
00024         void Init();
00025         
00026 public:
00027         double  m_perm;                 
00028         double  m_phi0;                 
00029         double  m_M;                    
00030         double  m_alpha;                
00031         
00032         // declare as registered
00033         DECLARE_REGISTERED(FEPoroHolmesMow);
00034                 
00035         // declare parameter list
00036         DECLARE_PARAMETER_LIST();
00037 };