![]() |
|
Public Member Functions | |
ElasticFishBackElement (const double &x_c, const double &y_c, const double &r) | |
virtual | ~ElasticFishBackElement () |
Destructor: More... | |
double & | k_stiff () |
"Stiffness" of the ring More... | |
double & | load () |
"Load" acting on the ring More... | |
void | get_residuals (Vector< double > &residuals) |
Compute element residual vector (wrapper) More... | |
void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Compute element residual Vector and element Jacobian matrix (wrapper) More... | |
void | set_load_pt (Data *load_pt) |
![]() | |
GeneralisedElement () | |
Constructor: Initialise all pointers and all values to zero. More... | |
virtual | ~GeneralisedElement () |
Virtual destructor to clean up any memory allocated by the object. More... | |
GeneralisedElement (const GeneralisedElement &)=delete | |
Broken copy constructor. More... | |
void | operator= (const GeneralisedElement &)=delete |
Broken assignment operator. More... | |
Data *& | internal_data_pt (const unsigned &i) |
Return a pointer to i-th internal data object. More... | |
Data *const & | internal_data_pt (const unsigned &i) const |
Return a pointer to i-th internal data object (const version) More... | |
Data *& | external_data_pt (const unsigned &i) |
Return a pointer to i-th external data object. More... | |
Data *const & | external_data_pt (const unsigned &i) const |
Return a pointer to i-th external data object (const version) More... | |
unsigned long | eqn_number (const unsigned &ieqn_local) const |
int | local_eqn_number (const unsigned long &ieqn_global) const |
unsigned | add_external_data (Data *const &data_pt, const bool &fd=true) |
bool | external_data_fd (const unsigned &i) const |
void | exclude_external_data_fd (const unsigned &i) |
void | include_external_data_fd (const unsigned &i) |
void | flush_external_data () |
Flush all external data. More... | |
void | flush_external_data (Data *const &data_pt) |
Flush the object addressed by data_pt from the external data array. More... | |
unsigned | ninternal_data () const |
Return the number of internal data objects. More... | |
unsigned | nexternal_data () const |
Return the number of external data objects. More... | |
unsigned | ndof () const |
Return the number of equations/dofs in the element. More... | |
void | dof_vector (const unsigned &t, Vector< double > &dof) |
Return the vector of dof values at time level t. More... | |
void | dof_pt_vector (Vector< double * > &dof_pt) |
Return the vector of pointers to dof values. More... | |
void | set_internal_data_time_stepper (const unsigned &i, TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
void | assign_internal_eqn_numbers (unsigned long &global_number, Vector< double * > &Dof_pt) |
void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
void | add_internal_value_pt_to_map (std::map< unsigned, double * > &map_of_value_pt) |
virtual void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | complete_setup_of_dependencies () |
virtual void | get_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix) |
virtual void | get_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | get_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
virtual void | get_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
virtual void | get_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
virtual void | get_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
virtual void | get_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
virtual void | get_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
virtual unsigned | self_test () |
virtual void | compute_norm (Vector< double > &norm) |
virtual void | compute_norm (double &norm) |
virtual unsigned | ndof_types () const |
virtual void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
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) | |
Circle (const Vector< Data * > &geom_data_pt) | |
Circle (const Circle &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const Circle &)=delete |
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 |
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) |
![]() | |
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 | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
virtual void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
virtual void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, 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 | K_stiff |
Stiffness of the ring's "elastic" support. More... | |
unsigned | External_load_index |
External index of the load object. More... | |
Additional Inherited Members | |
![]() | |
static bool | Suppress_warning_about_repeated_internal_data |
static bool | Suppress_warning_about_repeated_external_data = true |
static double | Default_fd_jacobian_step = 1.0e-8 |
![]() | |
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 |
![]() | |
static DenseMatrix< double > | Dummy_matrix |
static std::deque< double * > | Dof_pt_deque |
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// Fish back as a GeneralisedElement: Circular ring whose position is given by
\[ x = X_c + R \cos(\xi) \]
\[ y = Y_c + R \sin(\xi) \]
The ring's vertical position \( Y_c \) is determined by "pseudo elasticity":
\[ 0 = Y_c \ k_{stiff} - f_{load} \]
This simulates the case where the centre of the ring is mounted on an elastic spring of stiffness \( k_{stiff} \) and loaded by the force \( f_{load}. \) The "load" is specified by the Data object load_pt()
.
|
inline |
Constructor: Build ring from doubles that describe the geometry: x and y positions of centre and the radius. Initialise stiffness to 1.0.
References i.
|
inlinevirtual |
|
inlineprotected |
Compute element residual Vector (only if flag=0) and also the element Jacobian matrix (if flag=1)
References load().
|
inlinevirtual |
Compute element residual Vector and element Jacobian matrix (wrapper)
Reimplemented from oomph::GeneralisedElement.
References oomph::Vector< _Tp >::initialise(), and oomph::DenseMatrix< T >::initialise().
Compute element residual vector (wrapper)
Reimplemented from oomph::GeneralisedElement.
References oomph::Vector< _Tp >::initialise().
|
inline |
"Load" acting on the ring
|
inline |
Set pointer to Data object that specifies the "load" on the fish back
References oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
private |
External index of the load object.
|
private |
Stiffness of the ring's "elastic" support.