LifeV
MultiscaleGlobalData.cpp
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 Multiscale Global Physical Data
30  *
31  * @date 09-09-2009
32  * @author Cristiano Malossi <cristiano.malossi@epfl.ch>
33  *
34  * @maintainer Cristiano Malossi <cristiano.malossi@epfl.ch>
35  */
36 
37 #include <lifev/multiscale/framework/MultiscaleGlobalData.hpp>
38 
39 namespace LifeV
40 {
41 namespace Multiscale
42 {
43 
44 // ===================================================
45 // Constructors & Destructor
46 // ===================================================
48  M_timeData (),
49  M_fluidDensity (),
53  M_solidDensity (),
55  //M_solidThickness (),
59 {
60 }
61 
63  M_timeData ( data.M_timeData ),
70  //M_solidThickness ( data.M_solidThickness ),
74 {
75 }
76 
77 // ===================================================
78 // Operators
79 // ===================================================
82 {
83  if ( this != &data )
84  {
85  M_timeData = data.M_timeData;
92  //M_solidThickness = data.M_solidThickness;
96  }
97 
98  return *this;
99 }
100 
101 // ===================================================
102 // Methods
103 // ===================================================
104 void
106 {
107  M_timeData.reset ( new time_Type ( dataFile, "Solver/time_discretization" ) );
108  M_fluidDensity = dataFile ( "Physics/FluidDensity", 0. );
109  M_fluidViscosity = dataFile ( "Physics/FluidViscosity", 0. );
110  M_fluidVenousPressure = dataFile ( "Physics/FluidVenousPressure", 0. );
111  M_solidExternalPressure = dataFile ( "Physics/SolidExternalPressure", 0. );
112  M_solidDensity = dataFile ( "Physics/SolidDensity", 0. );
113  M_solidPoissonCoefficient = dataFile ( "Physics/SolidPoissonCoefficient", 0. );
114  //M_solidThickness = dataFile( "Physics/SolidThickness", 0. );
115  M_solidYoungModulus = dataFile ( "Physics/SolidYoungModulus", 0. );
116  M_scalingFactorResistance = dataFile ( "Physics/ScalingFactorResistance", 1. );
117  M_scalingFactorCompliance = dataFile ( "Physics/ScalingFactorCompliance", 1. );
118 }
119 
120 void
122 {
123  std::cout << "Fluid density = " << M_fluidDensity << std::endl
124  << "Fluid viscosity = " << M_fluidViscosity << std::endl
125  << "Fluid venous pressure = " << M_fluidVenousPressure << std::endl << std::endl;
126 
127  std::cout << "Solid reference pressure = " << M_solidExternalPressure << std::endl
128  << "Solid density coefficient = " << M_solidDensity << std::endl
129  << "Solid Poisson coefficient = " << M_solidPoissonCoefficient << std::endl
130  //<< "Solid Thickness = " << M_solidThickness << std::endl
131  << "Solid Young modulus = " << M_solidYoungModulus << std::endl << std::endl;
132 
133  std::cout << "Resistance scaling factor = " << M_scalingFactorResistance << std::endl
134  << "Compliance scaling factor = " << M_scalingFactorCompliance << std::endl << std::endl;
135 
136  std::cout << "Initial time = " << M_timeData->initialTime() << std::endl
137  << "End time = " << M_timeData->endTime() << std::endl
138  << "TimeStep = " << M_timeData->timeStep() << std::endl << std::endl;
139 }
140 
141 } // Namespace Multiscale
142 } // Namespace LifeV
double operator()(const char *VarName, const double &Default) const
Definition: GetPot.hpp:2033
void showMe()
Display some information about the physical quantities.
MultiscaleGlobalData(const MultiscaleGlobalData &data)
Copy constructor.
void readData(const GetPot &dataFile)
Read the physical quantities from a GetPot file.
void updateInverseJacobian(const UInt &iQuadPt)
MultiscaleGlobalData - Global data container for the physical quantities of the problem.
MultiscaleGlobalData & operator=(const MultiscaleGlobalData &data)
Operator=.