UndeformedLeaflet Class Reference

GeomObject: Undeformed straight, vertical leaflet. More...

+ Inheritance diagram for UndeformedLeaflet:

Public Member Functions

 UndeformedLeaflet (const double &x0)
 Constructor: argument is the x-coordinate of the leaflet. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
 UndeformedLeaflet (const double &x0)
 Constructor: argument is the x-coordinate of the leaflet. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
 UndeformedLeaflet (const double &x0)
 Constructor: argument is the x-coordinate of the leaflet. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
 UndeformedLeaflet (const double &x0)
 Constructor: argument is the x-coordinate of the leaflet. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
- Public Member Functions inherited from oomph::GeomObject
 GeomObject ()
 Default constructor. More...
 
 GeomObject (const unsigned &ndim)
 
 GeomObject (const unsigned &nlagrangian, const unsigned &ndim)
 
 GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt)
 
 GeomObject (const GeomObject &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const GeomObject &)=delete
 Broken assignment operator. More...
 
virtual ~GeomObject ()
 (Empty) destructor More...
 
unsigned nlagrangian () const
 Access function to # of Lagrangian coordinates. More...
 
unsigned ndim () const
 Access function to # of Eulerian coordinates. More...
 
void set_nlagrangian_and_ndim (const unsigned &n_lagrangian, const unsigned &n_dim)
 Set # of Lagrangian and Eulerian coordinates. More...
 
TimeStepper *& time_stepper_pt ()
 
TimeSteppertime_stepper_pt () const
 
virtual Datageom_data_pt (const unsigned &j)
 
virtual void position (const double &t, const Vector< double > &zeta, Vector< double > &r) const
 
virtual void dposition_dt (const Vector< double > &zeta, const unsigned &j, Vector< double > &drdt)
 
virtual void dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const
 
virtual void d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const
 
virtual void locate_zeta (const Vector< double > &zeta, GeomObject *&sub_geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false)
 
virtual void interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const
 

Private Attributes

double X0
 x position of the undeformed leaflet's origin. More...
 

Additional Inherited Members

- Protected Attributes inherited from oomph::GeomObject
unsigned NLagrangian
 Number of Lagrangian (intrinsic) coordinates. More...
 
unsigned Ndim
 Number of Eulerian coordinates. More...
 
TimeStepperGeom_object_time_stepper_pt
 

Detailed Description

GeomObject: Undeformed straight, vertical leaflet.

//////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////

Constructor & Destructor Documentation

◆ UndeformedLeaflet() [1/4]

UndeformedLeaflet::UndeformedLeaflet ( const double x0)
inline

Constructor: argument is the x-coordinate of the leaflet.

96  : GeomObject(1,2)
97  {
98  X0=x0;
99  }
double X0
x position of the undeformed leaflet's origin.
Definition: interaction/fsi_channel_with_leaflet/fsi_channel_with_leaflet.cc:150
GeomObject()
Default constructor.
Definition: geom_objects.h:104
Vector< double > x0(2, 0.0)

References Global::x0.

◆ UndeformedLeaflet() [2/4]

UndeformedLeaflet::UndeformedLeaflet ( const double x0)
inline

Constructor: argument is the x-coordinate of the leaflet.

278  : GeomObject(1,2)
279  {
280  X0=x0;
281  }

References Global::x0.

◆ UndeformedLeaflet() [3/4]

UndeformedLeaflet::UndeformedLeaflet ( const double x0)
inline

Constructor: argument is the x-coordinate of the leaflet.

96  : GeomObject(1,2)
97  {
98  X0=x0;
99  }

References Global::x0.

◆ UndeformedLeaflet() [4/4]

UndeformedLeaflet::UndeformedLeaflet ( const double x0)
inline

Constructor: argument is the x-coordinate of the leaflet.

95  : GeomObject(1,2)
96  {
97  X0=x0;
98  }

References Global::x0.

Member Function Documentation

◆ d2position() [1/4]

void UndeformedLeaflet::d2position ( const Vector< double > &  zeta,
Vector< double > &  r,
DenseMatrix< double > &  drdzeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

Posn vector and its 1st & 2nd derivatives w.r.t. to coordinates: \( \frac{dR_i}{d \zeta_\alpha}\) = drdzeta(alpha,i). \( \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}\) = ddrdzeta(alpha,beta,i). Evaluated at current time.

Reimplemented from oomph::GeomObject.

130  {
131  // Position vector
132  r[0] = X0;
133  r[1] = zeta[0];
134 
135  // Tangent vector
136  drdzeta(0,0)=0.0;
137  drdzeta(0,1)=1.0;
138 
139  // Derivative of tangent vector
140  ddrdzeta(0,0,0)=0.0;
141  ddrdzeta(0,0,1)=0.0;
142  } // end of d2position
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_zeta_op< typename DerivedX::Scalar >, const DerivedX, const DerivedQ > zeta(const Eigen::ArrayBase< DerivedX > &x, const Eigen::ArrayBase< DerivedQ > &q)
Definition: SpecialFunctionsArrayAPI.h:152
r
Definition: UniformPSDSelfTest.py:20

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ d2position() [2/4]

void UndeformedLeaflet::d2position ( const Vector< double > &  zeta,
Vector< double > &  r,
DenseMatrix< double > &  drdzeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

Posn vector and its 1st & 2nd derivatives w.r.t. to coordinates: \( \frac{dR_i}{d \zeta_\alpha}\) = drdzeta(alpha,i). \( \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}\) = ddrdzeta(alpha,beta,i). Evaluated at current time.

Reimplemented from oomph::GeomObject.

312  {
313  // Position vector
314  r[0] = X0;
315  r[1] = zeta[0];
316 
317  // Tangent vector
318  drdzeta(0,0)=0.0;
319  drdzeta(0,1)=1.0;
320 
321  // Derivative of tangent vector
322  ddrdzeta(0,0,0)=0.0;
323  ddrdzeta(0,0,1)=0.0;
324  } // end of d2position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ d2position() [3/4]

void UndeformedLeaflet::d2position ( const Vector< double > &  zeta,
Vector< double > &  r,
DenseMatrix< double > &  drdzeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

Posn vector and its 1st & 2nd derivatives w.r.t. to coordinates: \( \frac{dR_i}{d \zeta_\alpha}\) = drdzeta(alpha,i). \( \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}\) = ddrdzeta(alpha,beta,i). Evaluated at current time.

Reimplemented from oomph::GeomObject.

130  {
131  // Position vector
132  r[0] = X0;
133  r[1] = zeta[0];
134 
135  // Tangent vector
136  drdzeta(0,0)=0.0;
137  drdzeta(0,1)=1.0;
138 
139  // Derivative of tangent vector
140  ddrdzeta(0,0,0)=0.0;
141  ddrdzeta(0,0,1)=0.0;
142  } // end of d2position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ d2position() [4/4]

void UndeformedLeaflet::d2position ( const Vector< double > &  zeta,
Vector< double > &  r,
DenseMatrix< double > &  drdzeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

Posn vector and its 1st & 2nd derivatives w.r.t. to coordinates: \( \frac{dR_i}{d \zeta_\alpha}\) = drdzeta(alpha,i). \( \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}\) = ddrdzeta(alpha,beta,i). Evaluated at current time.

Reimplemented from oomph::GeomObject.

129  {
130  // Position vector
131  r[0] = X0;
132  r[1] = zeta[0];
133 
134  // Tangent vector
135  drdzeta(0,0)=0.0;
136  drdzeta(0,1)=1.0;
137 
138  // Derivative of tangent vector
139  ddrdzeta(0,0,0)=0.0;
140  ddrdzeta(0,0,1)=0.0;
141  } // end of d2position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ ngeom_data() [1/4]

unsigned UndeformedLeaflet::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

145 {return 0;}

◆ ngeom_data() [2/4]

unsigned UndeformedLeaflet::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

327 {return 0;}

◆ ngeom_data() [3/4]

unsigned UndeformedLeaflet::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

145 {return 0;}

◆ ngeom_data() [4/4]

unsigned UndeformedLeaflet::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

144 {return 0;}

◆ position() [1/8]

void UndeformedLeaflet::position ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. Calls steady version.

Reimplemented from oomph::GeomObject.

115  {
116  // Use the steady version
117  position(zeta,r);
118  } // end of position
void position(const Vector< double > &zeta, Vector< double > &r) const
Position vector at Lagrangian coordinate zeta.
Definition: interaction/fsi_channel_with_leaflet/fsi_channel_with_leaflet.cc:102

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [2/8]

void UndeformedLeaflet::position ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. Calls steady version.

Reimplemented from oomph::GeomObject.

297  {
298  // Use the steady version
299  position(zeta,r);
300  } // end of position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [3/8]

void UndeformedLeaflet::position ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. Calls steady version.

Reimplemented from oomph::GeomObject.

115  {
116  // Use the steady version
117  position(zeta,r);
118  } // end of position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [4/8]

void UndeformedLeaflet::position ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. Calls steady version.

Reimplemented from oomph::GeomObject.

114  {
115  // Use the steady version
116  position(zeta,r);
117  } // end of position

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [5/8]

void UndeformedLeaflet::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

103  {
104  // Position Vector
105  r[0] = X0;
106  r[1] = zeta[0];
107  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [6/8]

void UndeformedLeaflet::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

285  {
286  // Position Vector
287  r[0] = X0;
288  r[1] = zeta[0];
289  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [7/8]

void UndeformedLeaflet::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

103  {
104  // Position Vector
105  r[0] = X0;
106  r[1] = zeta[0];
107  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [8/8]

void UndeformedLeaflet::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const
inlinevirtual

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

102  {
103  // Position Vector
104  r[0] = X0;
105  r[1] = zeta[0];
106  }

References UniformPSDSelfTest::r, and Eigen::zeta().

Member Data Documentation

◆ X0

double UndeformedLeaflet::X0
private

x position of the undeformed leaflet's origin.


The documentation for this class was generated from the following files: