Circle in 2D space.
. More...
#include <geom_objects.h>
Public Member Functions | |
Circle (const double &x_c, const double &y_c, const double &r) | |
Constructor: Pass x and y-coords of centre and radius (all pinned) More... | |
Circle (const double &x_c, const double &y_c, const double &r, TimeStepper *time_stepper_pt) | |
Constructor: Pass x and y-coords of centre and radius (all pinned) Circle is static but can be used in time-dependent runs with specified timestepper. More... | |
Circle (const Vector< Data *> &geom_data_pt) | |
Constructor: Pass x and y-coords of centre and radius (all as Data) More... | |
Circle (const Circle &dummy) | |
Broken copy constructor. More... | |
void | operator= (const Circle &) |
Broken assignment operator. More... | |
virtual | ~Circle () |
Destructor: Clean up if necessary. 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 |
Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. More... | |
double & | x_c () |
Access function to x-coordinate of centre of circle. More... | |
double & | y_c () |
Access function to y-coordinate of centre of circle. More... | |
double & | R () |
Access function to radius of circle. More... | |
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) |
Return pointer to the j-th Data item that the object's shape depends on. More... | |
![]() | |
GeomObject () | |
Default constructor. More... | |
GeomObject (const unsigned &ndim) | |
Constructor: Pass dimension of geometric object (# of Eulerian coords = # of Lagrangian coords; no time history available/needed) More... | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim) | |
Constructor: pass # of Eulerian and Lagrangian coordinates. No time history available/needed. More... | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt) | |
Constructor: pass # of Eulerian and Lagrangian coordinates and pointer to time-stepper which is used to handle the position at previous timesteps and allows the evaluation of veloc/acceleration etc. in cases where the GeomData varies with time. More... | |
GeomObject (const GeomObject &dummy) | |
Broken copy constructor. More... | |
void | operator= (const GeomObject &) |
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 () |
Access function for pointer to time stepper: Null if object is not time-dependent. More... | |
TimeStepper * | time_stepper_pt () const |
Access function for pointer to time stepper: Null if object is not time-dependent. Const version. More... | |
virtual void | dposition_dt (const Vector< double > &zeta, const unsigned &j, Vector< double > &drdt) |
j-th time-derivative on object at current time: ![]() | |
virtual void | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
Derivative of position Vector w.r.t. to coordinates: ![]() | |
virtual void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
2nd derivative of position Vector w.r.t. to coordinates: ![]() | |
virtual void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const |
Posn Vector and its 1st & 2nd derivatives w.r.t. to coordinates: ![]() ![]() | |
virtual void | locate_zeta (const Vector< double > &zeta, GeomObject *&sub_geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false) |
A geometric object may be composed of may sub-objects (e.g. a finite-element representation of a boundary). In order to implement sparse update functions, it is necessary to know the sub-object and local coordinate within that sub-object at a given intrinsic coordinate, zeta. Note that only one sub-object can "cover" any given intrinsic position. If the position is at an "interface" between sub-objects, either one can be returned. The default implementation merely returns, the pointer to the "entire" GeomObject and the coordinate, zeta The optional boolean flag only applies if a Newton method is used to find the value of zeta, and if true the value of the coordinate s is used as the initial guess for the method. If the flag is false (the default) a value of s=0 is used as the initial guess. More... | |
virtual void | interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const |
A geometric object may be composed of many sub-objects each with their own local coordinate. This function returns the "global" intrinsic coordinate zeta (within the compound object), at a given local coordinate s (i.e. the intrinsic coordinate of the sub-GeomObject. In simple (non-compound) GeomObjects, the local intrinsic coordinate is the global intrinsic coordinate and so the function merely returns s. To make it less likely that the default implementation is called in error (because it is not overloaded in a derived GeomObject where the default is not appropriate, we do at least check that s and zeta have the same size if called in PARANOID mode. More... | |
Protected 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... | |
bool | Is_time_dependent |
Genuine time-dependence? More... | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
Timestepper (used to handle access to geometry at previous timesteps) More... | |
|
inline |
Constructor: Pass x and y-coords of centre and radius (all pinned)
Definition at line 860 of file geom_objects.h.
|
inline |
Constructor: Pass x and y-coords of centre and radius (all pinned) Circle is static but can be used in time-dependent runs with specified timestepper.
Definition at line 899 of file geom_objects.h.
References oomph::TimeStepper::assign_initial_values_impulsive().
Constructor: Pass x and y-coords of centre and radius (all as Data)
Definition at line 946 of file geom_objects.h.
References oomph::TimeStepper::nprev_values(), and oomph::GeomObject::time_stepper_pt().
|
inline |
Broken copy constructor.
Definition at line 985 of file geom_objects.h.
References oomph::BrokenCopy::broken_copy().
|
inlinevirtual |
Destructor: Clean up if necessary.
Definition at line 997 of file geom_objects.h.
References i, and oomph::GeomObject::ngeom_data().
|
inlinevirtual |
Return pointer to the j-th Data item that the object's shape depends on.
Reimplemented from oomph::GeomObject.
Definition at line 1077 of file geom_objects.h.
|
inlinevirtual |
How many items of Data does the shape of the object depend on?
Reimplemented from oomph::GeomObject.
Definition at line 1073 of file geom_objects.h.
|
inline |
Broken assignment operator.
Definition at line 991 of file geom_objects.h.
References oomph::BrokenCopy::broken_assign().
|
inlinevirtual |
Position Vector at Lagrangian coordinate zeta.
Implements oomph::GeomObject.
Definition at line 1012 of file geom_objects.h.
References oomph::BinaryTreeNames::R.
Referenced by oomph::CylinderWithFlagDomain::macro_element_boundary().
|
inlinevirtual |
Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep.
Reimplemented from oomph::GeomObject.
Definition at line 1028 of file geom_objects.h.
References oomph::GeomObject::position(), oomph::BinaryTreeNames::R, and oomph::GeomObject::time_stepper_pt().
|
inline |
Access function to radius of circle.
Definition at line 1070 of file geom_objects.h.
|
inline |
Access function to x-coordinate of centre of circle.
Definition at line 1064 of file geom_objects.h.
|
inline |
Access function to y-coordinate of centre of circle.
Definition at line 1067 of file geom_objects.h.
Vector of pointers to Data items that affects the object's shape.
Definition at line 1082 of file geom_objects.h.
|
protected |
Genuine time-dependence?
Definition at line 1088 of file geom_objects.h.
|
protected |
Do I need to clean up?
Definition at line 1085 of file geom_objects.h.