LifeV
navier_stokes/examples/ETpseudo_fsi/ud_functions.hpp
Go to the documentation of this file.
1 /* -*- mode: c++ -*-
2  This program is part of the LifeV library
3  Copyright (C) 2001,2002,2003,2004 EPFL, INRIA, Politechnico di Milano
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public License
7  as published by the Free Software Foundation; either version 2
8  of the License, or (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 */
19 
20 #ifndef UDF_HPP
21 #define UDF_HPP
22 
23 //#include <life/lifecore/LifeV.hpp>
24 #include "lifev/core/array/VectorEpetra.hpp"
25 #include "lifev/core/array/VectorSmall.hpp"
26 
27 //#include "flowConditions.hpp"
28 
29 namespace LifeV
30 {
31 Real f (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
32 
33 Real u1 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
34 
35 Real fZero (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
36 
37 // Initial velocity
38 Real u0 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
39 Real p0 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
40 Real E (const Real& /*t*/, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
41 
42 
43 // Initial displacement and velocity
44 Real d0 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
45 
46 Real w0 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
47 
48 Real aortaPhisPress (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
49 
50 Real aortaFlux4 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
51 Real aortaFlux5 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
52 Real aortaFlux7 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
53 Real aortaFlux8 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
54 Real aortaFlux9 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
55 Real aortaFluxIn (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
56 Real aortaFlux3_ (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
57 Real aortaFlux3 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
58 Real aortaFlux6_ (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
59 Real aortaFlux6 (const Real& t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
60 Real aortaVelIn (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
61 Real bypassVelInMag (const Real& t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
62 Real bypassVelInlet2 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
63 Real bypassVelInlet4 (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i);
64 
65 Real linearFlux3_ (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
66 Real linearFlux3 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
67 Real linearFluxIn (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
68 Real linearFlux4 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
69 Real linearFlux5 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
70 Real linearFlux6 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
71 Real linearFlux6_ (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
72 Real linearFlux7 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
73 Real linearFlux8 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
74 Real linearFlux9 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
75 Real linearPress2 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
76 
77 Real inletCylinder (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
78 Real linearInletCylinder ( Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
79 Real linearVelInletCylinder ( Real t, const Real& x, const Real& y, const Real& z, const ID& i);
80 Real oneVelInletCylinder ( Real t, const Real& x, const Real& y, const Real& z, const ID& i);
81 Real flatNormalVelInlet ( Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& i);
82 Real linearPopliteal ( Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
83 Real linearPontdist ( Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
84 Real popliteal ( const Real t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
85 Real pont_dist ( const Real t, const Real& x = 0, const Real& y = 0, const Real& z = 0, const ID& i = 0);
86 Real u2 (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
87 Real poplitealPressure (Real t, const Real& /*x*/, const Real& /*y*/, const Real& /*z*/, const ID& /*i*/);
88 
89 /* NormalizeFct */
91 {
92 public:
94 
95  return_Type operator() (const VectorSmall<3>& value)
96  {
97  Real norm (sqrt ( value[0]*value[0] + value[1]*value[1] + value[2]*value[2]) );
98 
99  if (norm > 0)
100  {
101  return value * (1.0 / norm);
102  }
103  return value;
104  }
105 
109 };
110 
111 
112 }
113 
114 
115 
116 #endif
Real linearPontdist(Real t, const Real &, const Real &, const Real &, const ID &)
Real bypassVelInlet4(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Real inletCylinder(Real t, const Real &, const Real &, const Real &, const ID &i)
Real linearPopliteal(Real t, const Real &, const Real &, const Real &, const ID &)
Real const & operator[](UInt const &i) const
Operator [].
Real linearVelInletCylinder(Real t, const Real &x, const Real &y, const Real &z, const ID &i)
Real popliteal(const Real t, const Real &x=0, const Real &y=0, const Real &z=0, const ID &i=0)
VectorSmall< 3 > operator*(Real const &factor) const
Operator * (multiplication by scalar on the right)
uint32_type ID
IDs.
Definition: LifeV.hpp:194
Real flatNormalVelInlet(Real t, const Real &, const Real &, const Real &, const ID &i)
Real pont_dist(const Real t, const Real &x=0, const Real &y=0, const Real &z=0, const ID &i=0)
return_Type operator()(const VectorSmall< 3 > &value)
Real aortaVelIn(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
double Real
Generic real data.
Definition: LifeV.hpp:175
Real poplitealPressure(Real t, const Real &, const Real &, const Real &, const ID &)
Real linearInletCylinder(Real t, const Real &, const Real &, const Real &, const ID &i)
Real oneVelInletCylinder(Real t, const Real &x, const Real &y, const Real &z, const ID &i)
Real bypassVelInlet2(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Real bypassVelInMag(const Real &t, const Real &, const Real &, const Real &, const ID &)