FEBio  1.5.0
FEBio/FESupplyBinding.h
00001 /*
00002  *  FESupplyBinding.h
00003  *
00004  *  Created by Gerard Ateshian on 8/8/11.
00005  *
00006  */
00007 
00008 #pragma once
00009 #include "FEBiphasicSolute.h"
00010 
00011 //-----------------------------------------------------------------------------
00012 // This class implements a material that has a solute supply based on
00013 // receptor-ligand binding kinetics as described by the Langmuir or Hill equation
00014 
00015 class FESupplyBinding : public FESoluteSupply
00016 {
00017 public:
00019         FESupplyBinding();
00020         
00022         double Supply(FEMaterialPoint& pt);
00023         
00025         double Tangent_Supply_Strain(FEMaterialPoint& mp);
00026         
00028         double Tangent_Supply_Concentration(FEMaterialPoint& mp);
00029         
00031         double ReceptorLigandSupply(FEMaterialPoint& mp);
00032         
00034         double SupplySS(FEMaterialPoint& pt);
00035         
00037         double ReceptorLigandConcentrationSS(FEMaterialPoint& mp);
00038         
00040         double SolidSupply(FEMaterialPoint& pt);
00041         
00043         double SolidConcentrationSS(FEMaterialPoint& pt);
00044         
00046         void Init();
00047         
00048 public:
00049         double  m_kf;                   
00050         double  m_kr;                   
00051         double  m_crt;                  
00052         
00053         // declare as registered
00054         DECLARE_REGISTERED(FESupplyBinding);
00055         
00056         // declare parameter list
00057         DECLARE_PARAMETER_LIST();
00058 };