![]() |
|
#include <circle_as_generalised_element.h>
Inheritance diagram for oomph::ElasticallySupportedRingElement:Public Member Functions | |
| ElasticallySupportedRingElement (const double &x_c, const double &y_c, const double &r) | |
| virtual | ~ElasticallySupportedRingElement () |
| Destructor: More... | |
| void | set_load_pt (Data *load_pt) |
| double | load () |
| "Load" acting on the ring More... | |
| double & | k_stiff () |
| Access function for the spring stiffness. More... | |
| void | pin_yc () |
| Pin the vertical displacement. More... | |
| void | unpin_yc () |
| Unpin the vertical displacement. 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... | |
Public Member Functions inherited from oomph::GeneralisedElement | |
| 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 |
Public Member Functions inherited from oomph::GeneralCircle | |
| GeneralCircle (const double &x_c, const double &y_c, const double &r) | |
| Constructor: Pass x and y-coords of centre and radius (all pinned) More... | |
| GeneralCircle (Data *geom_data_pt) | |
| virtual | ~GeneralCircle () |
| 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) |
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 () |
| 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 |
| unsigned | Internal_geometric_data_index |
| bool | Load_data_has_been_set |
| Flag to indicate that load data has been set. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from oomph::GeneralisedElement | |
| 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 |
Protected Attributes inherited from oomph::GeneralCircle | |
| 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... | |
Protected Attributes inherited from oomph::GeomObject | |
| unsigned | NLagrangian |
| Number of Lagrangian (intrinsic) coordinates. More... | |
| unsigned | Ndim |
| Number of Eulerian coordinates. More... | |
| TimeStepper * | Geom_object_time_stepper_pt |
Static Protected Attributes inherited from oomph::GeneralisedElement | |
| static DenseMatrix< double > | Dummy_matrix |
| static std::deque< double * > | Dof_pt_deque |
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// GeneralCircle "upgraded" to a GeneralisedElement: Circular ring whose position is given by
\[ x = X_c + R \cos(\zeta) \]
\[ y = Y_c + R \sin(\zeta) \]
The ring's vertical position \( Y_c \) is determined by "pseudo elasticity":
\[ 0 = f_{load} - Y_c \ k_{stiff} \]
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. By default, no load is set.
References oomph::GeneralisedElement::add_internal_data(), oomph::GeneralCircle::Geom_data_pt, oomph::GeneralisedElement::internal_data_pt(), Internal_geometric_data_index, oomph::GeneralCircle::Must_clean_up, and oomph::Data::unpin().
|
inlinevirtual |
|
inlineprotected |
Compute element residual Vector (only if flag=0) and also the element Jacobian matrix (if flag=1)
References External_load_index, oomph::GeneralisedElement::external_local_eqn(), Internal_geometric_data_index, oomph::GeneralisedElement::internal_local_eqn(), K_stiff, load(), oomph::GeneralisedElement::ndof(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::GeneralCircle::y_c().
Referenced by get_jacobian(), and get_residuals().
|
inlinevirtual |
Compute element residual Vector and element Jacobian matrix (wrapper)
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_residual_contribution(), oomph::Vector< _Tp >::initialise(), and oomph::DenseMatrix< T >::initialise().
|
inlinevirtual |
Compute element residual vector (wrapper)
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_residual_contribution(), and oomph::Vector< _Tp >::initialise().
|
inline |
Access function for the spring stiffness.
References K_stiff.
Referenced by GeomObjectAsGeneralisedElementProblem::GeomObjectAsGeneralisedElementProblem().
|
inline |
"Load" acting on the ring
References oomph::GeneralisedElement::external_data_pt(), External_load_index, Load_data_has_been_set, and oomph::Data::value().
Referenced by fill_in_generic_residual_contribution().
|
inline |
Pin the vertical displacement.
References oomph::GeneralisedElement::internal_data_pt(), Internal_geometric_data_index, and oomph::Data::pin().
|
inline |
Set pointer to Data object that specifies the "load" on the ElasticallySupportedRingElement
References oomph::GeneralisedElement::add_external_data(), External_load_index, Load_data_has_been_set, oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by GeomObjectAsGeneralisedElementProblem::GeomObjectAsGeneralisedElementProblem().
|
inline |
Unpin the vertical displacement.
References oomph::GeneralisedElement::internal_data_pt(), Internal_geometric_data_index, and oomph::Data::unpin().
|
private |
Index of the location of the load Data in the element's array of external data
Referenced by fill_in_generic_residual_contribution(), load(), and set_load_pt().
|
private |
Index of the location of the geometric Data in the element's array of internal data
Referenced by ElasticallySupportedRingElement(), fill_in_generic_residual_contribution(), pin_yc(), and unpin_yc().
|
private |
Stiffness of the ring's "elastic" support.
Referenced by fill_in_generic_residual_contribution(), and k_stiff().
|
private |
Flag to indicate that load data has been set.
Referenced by load(), and set_load_pt().