LifeV
HeartBidomainData.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 a class for handling Bidomain data with GetPot
30 
31  @date 11−2007
32  @author Lucia Mirabella <lucia.mirabella@gmail.com>, Mauro Perego <perego.mauro@gmail.com>
33 
34  @contributor Simone Rossi <simone.rossi@epfl.ch>, Ricardo Ruiz-Baier <ricardo.ruiz@epfl.ch>
35  @mantainer Simone Rossi <simone.rossi@epfl.ch>
36  */
37 
38 #ifndef _DATABIDOMAIN_H_
39 #define _DATABIDOMAIN_H_
40 
41 #include <lifev/core/mesh/MeshData.hpp>
42 #include <lifev/core/fem/TimeData.hpp>
43 #include <lifev/heart/solver/HeartFunctors.hpp>
44 
45 
46 namespace LifeV
47 {
48 /*!
49  \class DataBidomain
50 
51  Base class which holds usual data for the Bidomain model solvers
52 
53 */
54 
56  public MeshData,
57  public TimeData
58 {
59 public:
60 
61 
62  //! @name Public Types
63  //@{
64 
65  /*! @enum listOfTemplatesOptions
66  Description of the purpose of the enumerator list.
67  */
68 
69  typedef std::function < Real ( Real const& x,
70  Real const& y,
71  Real const& z,
72  Real const& t,
73  ID const& id,
74  Real const&) > region_Type;
75 
76  //@}
77 
78 
79 
80  //! @name Constructor & Destructor
81  //@{
82 
83  //! Constructors
85 
86  HeartBidomainData ( std::shared_ptr<HeartFunctors> heart);
87 
88  HeartBidomainData ( const HeartBidomainData& dataBidomain );
89 
90  virtual ~HeartBidomainData() {}
91  //@}
92 
93 
94  //! @name Operators
95  //@{
96 
97  HeartBidomainData& operator= ( const HeartBidomainData& dataBidomain );
98 
99  //@}
100 
101  //! @name Methods
102  //@{
103 
104  //! Output: show the data used for the simulation
105  void showMe ( std::ostream& output = std::cout );
106 
107  //@}
108 
109 
110 
111  //! @name Set Methods
112  //@{
113 
114  //! external setup: set all the data for the simulation
115  void setup ( const GetPot& dataFile );
116 
117  //@}
118 
119 
120  //! @name Get Methods
121  //@{
122 
124  {
126  }
127 
129  {
131  }
132 
134  {
136  }
137 
138  //! verbose
139  const bool& verbose() const
140  {
141  return M_verbose;
142  }
143 
144  //! FE space order
145  std::string uOrder() const
146  {
147  return M_uOrder;
148  }
149 
150  //! Chi
151  const Real& volumeSurfaceRatio() const
152  {
153  return M_volumeSurfaceRatio;
154  }
155  //! fiber File
157  {
158  return M_fibersFile;
159  }
160 
161  const Int& heartDiffusionFactor() const
162  {
163  return M_heartDiffusionFactor;
164  }
165 
166  const bool& hasFibers() const
167  {
168  return M_hasFibers;
169  }
170 
171  //! format vct
172  const bool& fibersFormat() const
173  {
174  return M_fibersFormat;
175  }
176 
177  //! sigma_l
179  {
181  }
183  {
185  }
186 
187  //! sigma_t
189  {
191  }
193  {
195  }
196 
197  //! Cm
198  const Real& membraneCapacitance() const
199  {
200  return M_membraneCapacitance;
201  }
202  //! D
203  const Real& internalDiffusivity() const
204  {
205  return M_internalDiffusivity;
206  }
207  //! Post_dir
208  const Real& externalDiffusivity() const
209  {
210  return M_externalDiffusivity;
211  }
212  //! Post_dir
214  {
215  return M_postProcessingDirectory;
216  }
217 
218  UInt BDForder() const
219  {
220  return M_BDForder;
221  }
222 
223  //@}
224 
225 private:
226 
230  // format of fibers file
233 
234  // order of time discretization BDF order
236  bool M_verbose;
237 
239 
248 
253 
254 };
255 
256 }
257 #endif
std::string uOrder() const
FE space order.
HeartBidomainData & operator=(const HeartBidomainData &dataBidomain)
const bool & hasFibers() const
const region_Type & reducedConductivityBox() const
std::string postProcessingDirectory() const
Post_dir.
const Real & membraneCapacitance() const
Cm.
int32_type Int
Generic integer data.
Definition: LifeV.hpp:188
const bool & verbose() const
verbose
HeartBidomainData()
Constructors.
const Real & volumeSurfaceRatio() const
Chi.
const Real & transversalExternalConductivity() const
const region_Type & reducedConductivityCylinder() const
std::string fibersFile() const
fiber File
MeshData - class for handling spatial discretization.
Definition: MeshData.hpp:72
const Real & transversalInternalConductivity() const
sigma_t
const Real & internalDiffusivity() const
D.
const Real & longitudinalExternalConductivity() const
const bool & fibersFormat() const
format vct
double Real
Generic real data.
Definition: LifeV.hpp:175
const Real & externalDiffusivity() const
Post_dir.
HeartBidomainData(const HeartBidomainData &dataBidomain)
void setup(const GetPot &dataFile)
external setup: set all the data for the simulation
HeartBidomainData(std::shared_ptr< HeartFunctors > heart)
const Real & longitudinalInternalConductivity() const
sigma_l
std::string M_uOrder
full name
const region_Type & reducedConductivitySphere() const
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191
std::function< Real(Real const &x, Real const &y, Real const &z, Real const &t, ID const &id, Real const &) > region_Type
const Int & heartDiffusionFactor() const
void showMe(std::ostream &output=std::cout)
Output: show the data used for the simulation.