LifeV
lumpedHeart.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8  This file is part of LifeV.
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 
27 /*!
28  * @file
29  * @brief File containing the lumped heart for the Monolithic Test
30  *
31  * @date 2009-06-03
32  * @author Paolo Crosetto <crosetto@iacspc70.epfl.ch>
33  *
34  * @contributor Cristiano Malossi <cristiano.malossi@epfl.ch>
35  * @maintainer Paolo Crosetto <crosetto@iacspc70.epfl.ch>
36  */
37 
38 #ifndef __LUMPEDHEART_HPP
39 #define __LUMPEDHEART_HPP
40 
41 // LifeV includes
42 #include <lifev/core/LifeV.hpp>
43 #include <lifev/core/filter/GetPot.hpp>
44 #include <lifev/core/fem/BCHandler.hpp>
45 #include <lifev/fsi/solver/FSISolver.hpp>
46 #include <lifev/fsi/solver/FSIOperator.hpp>
47 
48 // Mathcard includes
49 //#include <life/lifesolver/BCInterface3D.hpp>
50 
51 namespace LifeV
52 {
53 
55 {
56 public:
57  // typedef BCInterface3D< BCHandler, FSIOperator > bc_type;
58  typedef FSIOperator::vector_Type vector_Type;
59  typedef FSIOperator::vectorPtr_Type vectorPtr_Type;
60 
62  :
63  M_time (0.),
64  //M_BC(),
65  M_ODEscheme(),
66  M_dt (0.),
67  M_T_max() ,
68  M_E_max() ,
69  M_V_0() ,
70  M_RV_art() ,
71  M_RA_V() ,
72  M_LV_art() ,
73  M_LA_V() ,
74  M_PV(),
75  M_intFlux(),
76  M_Vt_ao()
77  {
78  M_ODEscheme.setup (1);
79  }
80 
81  void initParameters ( FSIOperator& Oper,
82  const std::string& FileName);
83 
84  static Real& outPressure (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
85 
86  void renewParameters ( FSIOperator& Oper , const int& flag, const Real& time, const Real& flux);
87 
88  Real fZero (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
89 
90  static Real M_pressure;
91 
92 private:
93 
94  //! @name Private Methods
95  //@{
96 
97  Real M_elastance (const Real& t);
98 
99  //! Short description of this method
100  /*!
101  Add more details about the method.
102  NOTE: short description is automatically added before this part.
103  */
104 
105 
106  //@}
107 
109  //std::shared_ptr< bc_type > M_BC;
114  Real M_V_0 ; //reference ventricular volume
119  Real M_PV ; //ventricular pressure
124 };
125 }
126 
127 #endif /* __LUMPEDHEART_HPP */
void assignFunction(bcBase_Type &base)
Assign the function to the base of the BCHandler.
static Real & outPressure(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: lumpedHeart.cpp:69
Real M_elastance(const Real &t)
Definition: lumpedHeart.cpp:84
void renewParameters(FSIOperator &Oper, const int &flag, const Real &time, const Real &flux)
Definition: lumpedHeart.cpp:74
Real M_time
Short description of this method.
void initParameters(FSIOperator &Oper, const std::string &FileName)
Definition: lumpedHeart.cpp:50
TimeAdvanceBDF< Real > M_ODEscheme
uint32_type ID
IDs.
Definition: LifeV.hpp:194
Real fZero(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
class TimeAdvanceBDF - Backward differencing formula time discretization for the first and the second...
static Real M_pressure
Definition: lumpedHeart.hpp:90
double Real
Generic real data.
Definition: LifeV.hpp:175