![]() |
|
#include <geom_objects.h>
Public Member Functions | |
Ellipse (const Vector< Data * > &geom_data_pt) | |
Ellipse (const double &A, const double &B) | |
Ellipse (const Ellipse &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const Ellipse &)=delete |
Broken assignment operator. More... | |
~Ellipse () | |
Destructor: Clean up if necessary. More... | |
void | set_A_ellips (const double &a) |
Set horizontal half axis. More... | |
void | set_B_ellips (const double &b) |
Set vertical half axis. More... | |
double | a_ellips () |
Access function for horizontal half axis. More... | |
double | b_ellips () |
Access function for vertical half axis. 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 | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const |
unsigned | ngeom_data () const |
How many items of Data does the shape of the object depend on? More... | |
Data * | geom_data_pt (const unsigned &j) |
![]() | |
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 () |
TimeStepper * | time_stepper_pt () const |
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 | 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 | |
Vector< Data * > | Geom_data_pt |
Vector of pointers to Data items that affects the object's shape. More... | |
bool | Must_clean_up |
Do I need to clean up? More... | |
Additional Inherited Members | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// Steady ellipse with half axes A and B as geometric object:
\[ x = A \cos(\zeta) \]
\[ y = B \sin(\zeta) \]
Constructor: 1 Lagrangian coordinate, 2 Eulerian coords. Pass half axes as Data:
References geom_data_pt(), Geom_data_pt, Must_clean_up, oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Constructor: 1 Lagrangian coordinate, 2 Eulerian coords. Pass half axes A and B; both pinned.
References Geom_data_pt, and Must_clean_up.
|
delete |
Broken copy constructor.
|
inline |
|
inline |
Access function for horizontal half axis.
References Geom_data_pt.
|
inline |
Access function for vertical half axis.
References Geom_data_pt.
|
inlinevirtual |
2nd derivative of position Vector w.r.t. to coordinates: \( \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}\) = ddrdzeta(alpha,beta,i). Evaluated at current time.
Reimplemented from oomph::GeomObject.
References cos(), Geom_data_pt, sin(), and Eigen::zeta().
|
inlinevirtual |
Position Vector and 1st and 2nd derivs 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.
References a, b, cos(), Geom_data_pt, UniformPSDSelfTest::r, sin(), and Eigen::zeta().
|
inlinevirtual |
Derivative of position Vector w.r.t. to coordinates: \( \frac{dR_i}{d \zeta_\alpha}\) = drdzeta(alpha,i).
Reimplemented from oomph::GeomObject.
References cos(), Geom_data_pt, sin(), and Eigen::zeta().
Return pointer to the j-th Data item that the object's shape depends on
Reimplemented from oomph::GeomObject.
References Geom_data_pt, and j.
Referenced by Ellipse().
|
inlinevirtual |
How many items of Data does the shape of the object depend on?
Reimplemented from oomph::GeomObject.
References Geom_data_pt.
|
delete |
Broken assignment operator.
|
inlinevirtual |
Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep.
Reimplemented from oomph::GeomObject.
References cos(), Geom_data_pt, Must_clean_up, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, position(), UniformPSDSelfTest::r, sin(), plotPSD::t, oomph::GeomObject::time_stepper_pt(), and Eigen::zeta().
|
inlinevirtual |
Position Vector at Lagrangian coordinate zeta.
Implements oomph::GeomObject.
References cos(), Geom_data_pt, UniformPSDSelfTest::r, sin(), and Eigen::zeta().
Referenced by AxisymmetricVibratingShellProblem< ELEMENT >::AxisymmetricVibratingShellProblem(), BubbleInChannelProblem< ELEMENT >::BubbleInChannelProblem(), DropInChannelProblem< ELEMENT >::DropInChannelProblem(), position(), UnstructuredFluidProblem< ELEMENT >::UnstructuredFluidProblem(), UnstructuredPoissonProblem< ELEMENT >::UnstructuredPoissonProblem(), VibratingShellProblem< ELEMENT >::VibratingShellProblem(), and oomph::TwoDAnnularMesh< ELEMENT >::wrap_into_annular_shape().
|
inline |
Set horizontal half axis.
References a, and Geom_data_pt.
|
inline |
Set vertical half axis.
References b, and Geom_data_pt.
Vector of pointers to Data items that affects the object's shape.
Referenced by a_ellips(), b_ellips(), d2position(), dposition(), Ellipse(), geom_data_pt(), ngeom_data(), position(), set_A_ellips(), set_B_ellips(), and ~Ellipse().
|
private |
Do I need to clean up?
Referenced by Ellipse(), position(), and ~Ellipse().