![]() |
|
#include <beam_elements.h>
Public Member Functions | |
KirchhoffLoveBeamEquations () | |
virtual void | load_vector (const unsigned &intpt, const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load) |
void | wall_profile (const Vector< double > &xi, const Vector< double > &x, double &h_ratio) |
const double & | h () const |
Return the non-dimensional wall thickness. More... | |
const double & | lambda_sq () const |
Return the timescale ratio (non-dimensional density) More... | |
const double & | sigma0 () const |
Return the axial prestress. More... | |
double *& | sigma0_pt () |
Return a pointer to axial prestress. More... | |
double *& | h_pt () |
Return a pointer to non-dim. wall thickness. More... | |
double *& | lambda_sq_pt () |
Return a pointer to timescale ratio (nondim density) More... | |
GeomObject *& | undeformed_beam_pt () |
void | get_normal (const Vector< double > &s, Vector< double > &N) |
Get normal vector on wall. More... | |
void | get_normal (const Vector< double > &s, Vector< double > &r, Vector< double > &N) |
Get position vector to and normal vector on wall. More... | |
void | get_non_unit_tangent (const Vector< double > &s, Vector< double > &r, Vector< double > &drds) |
Get position vector to and non-unit tangent vector on wall: dr/ds. More... | |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
void | fill_in_contribution_to_residuals_beam (Vector< double > &residuals) |
virtual void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Get FE jacobian and residuals (Jacobian done by finite differences) More... | |
void | get_energy (double &pot_en, double &kin_en) |
Get potential (strain) and kinetic energy of the element. More... | |
void | get_energy (double &stretch, double &bend, double &kin_en) |
![]() | |
void | set_lagrangian_dimension (const unsigned &lagrangian_dimension) |
virtual bool | has_internal_solid_data () |
SolidFiniteElement () | |
Constructor: Set defaults. More... | |
virtual | ~SolidFiniteElement () |
Destructor to clean up any allocated memory. More... | |
SolidFiniteElement (const SolidFiniteElement &)=delete | |
Broken copy constructor. More... | |
unsigned | ngeom_data () const |
Broken assignment operator. More... | |
Data * | geom_data_pt (const unsigned &j) |
void | identify_geometric_data (std::set< Data * > &geometric_data_pt) |
double | zeta_nodal (const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual void | get_x_and_xi (const Vector< double > &s, Vector< double > &x_fe, Vector< double > &x, Vector< double > &xi_fe, Vector< double > &xi) const |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt, MacroElement *undeformed_macro_elem_pt) |
void | set_undeformed_macro_elem_pt (MacroElement *undeformed_macro_elem_pt) |
MacroElement * | undeformed_macro_elem_pt () |
Access function to pointer to "undeformed" macro element. More... | |
double | dshape_lagrangian (const Vector< double > &s, Shape &psi, DShape &dpsidxi) const |
virtual double | dshape_lagrangian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidxi) const |
double | d2shape_lagrangian (const Vector< double > &s, Shape &psi, DShape &dpsidxi, DShape &d2psidxi) const |
virtual double | d2shape_lagrangian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidxi, DShape &d2psidxi) const |
unsigned | lagrangian_dimension () const |
unsigned | nnodal_lagrangian_type () const |
Node * | construct_node (const unsigned &n) |
Construct the local node n and return a pointer to it. More... | |
Node * | construct_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
Node * | construct_boundary_node (const unsigned &n) |
Node * | construct_boundary_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
double | raw_lagrangian_position (const unsigned &n, const unsigned &i) const |
double | raw_lagrangian_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | lagrangian_position (const unsigned &n, const unsigned &i) const |
Return i-th Lagrangian coordinate at local node n. More... | |
double | lagrangian_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual double | interpolated_xi (const Vector< double > &s, const unsigned &i) const |
virtual void | interpolated_xi (const Vector< double > &s, Vector< double > &xi) const |
virtual void | interpolated_dxids (const Vector< double > &s, DenseMatrix< double > &dxids) const |
virtual void | J_lagrangian (const Vector< double > &s) const |
virtual double | J_lagrangian_at_knot (const unsigned &ipt) const |
SolidInitialCondition *& | solid_ic_pt () |
Pointer to object that describes the initial condition. More... | |
void | enable_solve_for_consistent_newmark_accel () |
void | disable_solve_for_consistent_newmark_accel () |
Set to reset the problem being solved to be the standard problem. More... | |
MultiplierFctPt & | multiplier_fct_pt () |
MultiplierFctPt | multiplier_fct_pt () const |
virtual void | get_residuals_for_solid_ic (Vector< double > &residuals) |
void | fill_in_residuals_for_solid_ic (Vector< double > &residuals) |
void | fill_in_jacobian_for_solid_ic (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_for_newmark_accel (DenseMatrix< double > &jacobian) |
void | compute_norm (double &el_norm) |
int | position_local_eqn (const unsigned &n, const unsigned &k, const unsigned &j) const |
![]() | |
void | set_dimension (const unsigned &dim) |
void | set_nodal_dimension (const unsigned &nodal_dim) |
void | set_nnodal_position_type (const unsigned &nposition_type) |
Set the number of types required to interpolate the coordinate. More... | |
void | set_n_node (const unsigned &n) |
int | nodal_local_eqn (const unsigned &n, const unsigned &i) const |
double | dJ_eulerian_at_knot (const unsigned &ipt, Shape &psi, DenseMatrix< double > &djacobian_dX) const |
FiniteElement () | |
Constructor. More... | |
virtual | ~FiniteElement () |
FiniteElement (const FiniteElement &)=delete | |
Broken copy constructor. More... | |
virtual bool | local_coord_is_valid (const Vector< double > &s) |
Broken assignment operator. More... | |
virtual void | move_local_coord_back_into_element (Vector< double > &s) const |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
virtual void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
virtual void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
virtual double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
MacroElement * | macro_elem_pt () |
Access function to pointer to macro element. More... | |
void | get_x (const Vector< double > &s, Vector< double > &x) const |
void | get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
virtual void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | set_integration_scheme (Integral *const &integral_pt) |
Set the spatial integration scheme. More... | |
Integral *const & | integral_pt () const |
Return the pointer to the integration scheme (const version) More... | |
virtual void | shape (const Vector< double > &s, Shape &psi) const =0 |
virtual void | shape_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const |
virtual void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual void | d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual double | J_eulerian (const Vector< double > &s) const |
virtual double | J_eulerian_at_knot (const unsigned &ipt) const |
void | check_J_eulerian_at_knots (bool &passed) const |
void | check_jacobian (const double &jacobian) const |
double | dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, DenseMatrix< double > &djacobian_dX, RankFourTensor< double > &d_dpsidx_dX) const |
double | d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual double | d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | describe_nodal_local_dofs (std::ostream &out, const std::string ¤t_string) const |
Node *& | node_pt (const unsigned &n) |
Return a pointer to the local node n. More... | |
Node *const & | node_pt (const unsigned &n) const |
Return a pointer to the local node n (const version) More... | |
unsigned | nnode () const |
Return the number of nodes. More... | |
virtual unsigned | nnode_1d () const |
double | raw_nodal_position (const unsigned &n, const unsigned &i) const |
double | raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position (const unsigned &n, const unsigned &i) const |
double | nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | dnodal_position_dt (const unsigned &n, const unsigned &i) const |
Return the i-th component of nodal velocity: dx/dt at local node n. More... | |
double | dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
virtual void | disable_ALE () |
virtual void | enable_ALE () |
virtual unsigned | required_nvalue (const unsigned &n) const |
unsigned | nnodal_position_type () const |
bool | has_hanging_nodes () const |
unsigned | nodal_dimension () const |
Return the required Eulerian dimension of the nodes in this element. More... | |
virtual unsigned | nvertex_node () const |
virtual Node * | vertex_node_pt (const unsigned &j) const |
int | get_node_number (Node *const &node_pt) const |
virtual Node * | get_node_at_local_coordinate (const Vector< double > &s) const |
double | raw_nodal_value (const unsigned &n, const unsigned &i) const |
double | raw_nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | nodal_value (const unsigned &n, const unsigned &i) const |
double | nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const |
unsigned | dim () const |
virtual ElementGeometry::ElementGeometry | element_geometry () const |
Return the geometry type of the element (either Q or T usually). More... | |
virtual double | interpolated_x (const Vector< double > &s, const unsigned &i) const |
Return FE interpolated coordinate x[i] at local coordinate s. More... | |
virtual double | interpolated_x (const unsigned &t, const Vector< double > &s, const unsigned &i) const |
virtual void | interpolated_x (const Vector< double > &s, Vector< double > &x) const |
Return FE interpolated position x[] at local coordinate s as Vector. More... | |
virtual void | interpolated_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) const |
virtual double | interpolated_dxdt (const Vector< double > &s, const unsigned &i, const unsigned &t) |
virtual void | interpolated_dxdt (const Vector< double > &s, const unsigned &t, Vector< double > &dxdt) |
void | position (const Vector< double > &zeta, Vector< double > &r) const |
void | position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const |
void | dposition_dt (const Vector< double > &zeta, const unsigned &t, Vector< double > &drdt) |
void | interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const |
void | locate_zeta (const Vector< double > &zeta, GeomObject *&geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false) |
virtual void | node_update () |
virtual void | identify_field_data_for_interactions (std::set< std::pair< Data *, unsigned >> &paired_field_data) |
virtual double | s_min () const |
Min value of local coordinate. More... | |
virtual double | s_max () const |
Max. value of local coordinate. More... | |
double | size () const |
virtual double | compute_physical_size () const |
virtual void | point_output_data (const Vector< double > &s, Vector< double > &data) |
void | point_output (std::ostream &outfile, const Vector< double > &s) |
virtual unsigned | nplot_points_paraview (const unsigned &nplot) const |
virtual unsigned | nsub_elements_paraview (const unsigned &nplot) const |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_output_offset_information (std::ofstream &file_out, const unsigned &nplot, unsigned &counter) const |
virtual void | write_paraview_type (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_offsets (std::ofstream &file_out, const unsigned &nplot, unsigned &offset_sum) const |
virtual unsigned | nscalar_paraview () const |
virtual void | scalar_value_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
virtual std::string | scalar_name_paraview (const unsigned &i) const |
virtual void | output (std::ostream &outfile) |
virtual void | output (std::ostream &outfile, const unsigned &n_plot) |
virtual void | output (const unsigned &t, std::ostream &outfile, const unsigned &n_plot) const |
virtual void | output (FILE *file_pt) |
virtual void | output (FILE *file_pt, const unsigned &n_plot) |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
Output an exact solution over the element. More... | |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
Output a time-dependent exact solution over the element. More... | |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, const SolutionFunctorBase &exact_soln) const |
Output a time-dependent exact solution over the element. More... | |
virtual void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const |
virtual std::string | tecplot_zone_string (const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (std::ostream &outfile, const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (FILE *file_pt, const unsigned &nplot) const |
virtual unsigned | nplot_points (const unsigned &nplot) const |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_abs_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error) |
void | integrate_fct (FiniteElement::SteadyExactSolutionFctPt integrand_fct_pt, Vector< double > &integral) |
Integrate Vector-valued function over element. More... | |
void | integrate_fct (FiniteElement::UnsteadyExactSolutionFctPt integrand_fct_pt, const double &time, Vector< double > &integral) |
Integrate Vector-valued time-dep function over element. More... | |
virtual void | build_face_element (const int &face_index, FaceElement *face_element_pt) |
virtual unsigned | self_test () |
virtual unsigned | get_bulk_node_number (const int &face_index, const unsigned &i) const |
virtual int | face_outer_unit_normal_sign (const int &face_index) const |
Get the sign of the outer unit normal on the face given by face_index. More... | |
virtual unsigned | nnode_on_face () const |
void | face_node_number_error_check (const unsigned &i) const |
Range check for face node numbers. More... | |
virtual CoordinateMappingFctPt | face_to_bulk_coordinate_fct_pt (const int &face_index) const |
virtual BulkCoordinateDerivativesFctPt | bulk_coordinate_derivatives_fct_pt (const int &face_index) const |
![]() | |
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 |
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_residuals (Vector< double > &residuals) |
virtual void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
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 void | compute_norm (Vector< 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 |
![]() | |
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 (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 |
Public Attributes | |
void(*&)(const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load) | load_vector_fct_pt () |
Reference to the load vector function pointer. More... | |
void(*&)(const Vector< double > &xi, const Vector< double > &x, double &h_ratio) | wall_profile_fct_pt () |
Reference to the wall thickness ratio profile function pointer. More... | |
Static Protected Member Functions | |
static void | Zero_traction_fct (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load) |
Default load function (zero traction) More... | |
static void | Unit_profile_fct (const Vector< double > &xi, const Vector< double > &x, double &h_ratio) |
Default profile function (constant thickness 'h_0') More... | |
Protected Attributes | |
void(* | Load_vector_fct_pt )(const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load) |
void(* | Wall_profile_fct_pt )(const Vector< double > &xi, const Vector< double > &x, double &h_ratio) |
GeomObject * | Undeformed_beam_pt |
![]() | |
MacroElement * | Undeformed_macro_elem_pt |
Pointer to the element's "undeformed" macro element (NULL by default) More... | |
SolidInitialCondition * | Solid_ic_pt |
Pointer to object that specifies the initial condition. More... | |
bool | Solve_for_consistent_newmark_accel_flag |
![]() | |
MacroElement * | Macro_elem_pt |
Pointer to the element's macro element (NULL by default) More... | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
Private Attributes | |
double * | Sigma0_pt |
Pointer to axial prestress. More... | |
double * | H_pt |
Pointer to wall thickness. More... | |
double * | Lambda_sq_pt |
Pointer to Timescale ratio (non-dim. density) More... | |
Static Private Attributes | |
static double | Default_sigma0_value = 0.0 |
Static default value for 2nd Piola Kirchhoff prestress. More... | |
static double | Default_lambda_sq_value = 1.0 |
Static default value for timescale ratio (1.0 – for natural scaling) More... | |
static double | Default_h_value = 0.05 |
Static default value for non-dim wall thickness. More... | |
Additional Inherited Members | |
![]() | |
typedef double(* | MultiplierFctPt) (const Vector< double > &xi) |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
![]() | |
static double | Tolerance_for_singular_jacobian = 1.0e-16 |
Tolerance below which the jacobian is considered singular. More... | |
static bool | Accept_negative_jacobian = false |
static bool | Suppress_output_while_checking_for_inverted_elements |
![]() | |
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 |
![]() | |
void | fill_in_generic_jacobian_for_solid_ic (Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag) |
void | set_nnodal_lagrangian_type (const unsigned &nlagrangian_type) |
virtual double | local_to_lagrangian_mapping (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
double | local_to_lagrangian_mapping (const DShape &dpsids, DenseMatrix< double > &inverse_jacobian) const |
virtual double | local_to_lagrangian_mapping_diagonal (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual void | assign_solid_local_eqn_numbers (const bool &store_local_dof) |
Assign local equation numbers for the solid equations in the element. More... | |
void | describe_solid_local_dofs (std::ostream &out, const std::string ¤t_string) const |
Classifies dofs locally for solid specific aspects. More... | |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
virtual void | fill_in_jacobian_from_solid_position_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_solid_position_by_fd (DenseMatrix< double > &jacobian) |
virtual void | update_before_solid_position_fd () |
virtual void | reset_after_solid_position_fd () |
virtual void | update_in_solid_position_fd (const unsigned &i) |
virtual void | reset_in_solid_position_fd (const unsigned &i) |
![]() | |
virtual void | assemble_local_to_eulerian_jacobian (const DShape &dpsids, DenseMatrix< double > &jacobian) const |
virtual void | assemble_local_to_eulerian_jacobian2 (const DShape &d2psids, DenseMatrix< double > &jacobian2) const |
virtual void | assemble_eulerian_base_vectors (const DShape &dpsids, DenseMatrix< double > &interpolated_G) const |
template<unsigned DIM> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual double | invert_jacobian_mapping (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual double | local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
double | local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &inverse_jacobian) const |
virtual double | local_to_eulerian_mapping_diagonal (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual void | dJ_eulerian_dnodal_coordinates (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<unsigned DIM> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
virtual void | d_dshape_eulerian_dnodal_coordinates (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<unsigned DIM> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
virtual void | transform_derivatives (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const |
void | transform_derivatives_diagonal (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const |
virtual void | transform_second_derivatives (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<unsigned DIM> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<unsigned DIM> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
virtual void | fill_in_jacobian_from_nodal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_nodal_by_fd (DenseMatrix< double > &jacobian) |
virtual void | update_before_nodal_fd () |
virtual void | reset_after_nodal_fd () |
virtual void | update_in_nodal_fd (const unsigned &i) |
virtual void | reset_in_nodal_fd (const unsigned &i) |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
Zero-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
One-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
Two-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
![]() | |
unsigned | add_internal_data (Data *const &data_pt, const bool &fd=true) |
bool | internal_data_fd (const unsigned &i) const |
void | exclude_internal_data_fd (const unsigned &i) |
void | include_internal_data_fd (const unsigned &i) |
void | clear_global_eqn_numbers () |
void | add_global_eqn_numbers (std::deque< unsigned long > const &global_eqn_numbers, std::deque< double * > const &global_dof_pt) |
virtual void | assign_internal_and_external_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | assign_additional_local_eqn_numbers () |
int | internal_local_eqn (const unsigned &i, const unsigned &j) const |
int | external_local_eqn (const unsigned &i, const unsigned &j) |
void | fill_in_jacobian_from_internal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_internal_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_external_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_external_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
virtual void | update_before_internal_fd () |
virtual void | reset_after_internal_fd () |
virtual void | update_in_internal_fd (const unsigned &i) |
virtual void | reset_in_internal_fd (const unsigned &i) |
virtual void | update_before_external_fd () |
virtual void | reset_after_external_fd () |
virtual void | update_in_external_fd (const unsigned &i) |
virtual void | reset_in_external_fd (const unsigned &i) |
virtual void | fill_in_contribution_to_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix) |
virtual void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | fill_in_contribution_to_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
virtual void | fill_in_contribution_to_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
virtual void | fill_in_contribution_to_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
virtual void | fill_in_contribution_to_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
virtual void | fill_in_contribution_to_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
virtual void | fill_in_contribution_to_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
![]() | |
static const unsigned | Default_Initial_Nvalue = 0 |
Default value for the number of values at a node. More... | |
static const double | Node_location_tolerance = 1.0e-14 |
static const unsigned | N2deriv [] = {0, 1, 3, 6} |
![]() | |
static DenseMatrix< double > | Dummy_matrix |
static std::deque< double * > | Dof_pt_deque |
A class for elements that solve the equations of Kirchhoff-Love large-displacement (but linearly-elastic) thin-beam theory.
The variational principle has the form
\[ \int_0^{L} \left[ (\sigma_0 + \gamma) \ \delta \gamma + \frac{1}{12} \left(\frac{h}{R_0}\right)^2 \kappa \ \delta \kappa - \left( \left(\frac{R_0}{h}\right) {\bf f} - \Lambda^2 \frac{\partial^2 {\bf R}_w}{\partial t^2} \right) \cdot \delta {\bf R}_w \right] \ d\xi = 0, \]
where all lengths have been non-dimensionalised w.r.t. \( R_0 \). The strain and and bending "tensors" \(\gamma\) and \(\kappa\) are computed relative to the shape of the beam's undeformed shape which is specified as a GeomObject.
Time is scaled on the timescale \(T\) and
\[ \Lambda = \frac{a}{T} \sqrt{\frac{\rho}{E_{eff}}}, \]
the ratio of the timescale used in the non-dimensionalisation of the equations to the natural timescale of the wall oscillations (in the wall's in-plane mode). \( \Lambda^2 \) can be interpreted as the non-dimensional wall density, therefore \( \Lambda=0\) corresponds to the case without wall inertia.
Note that:
Default values:
Need to specify:
The governing equations can be switched from the principle of virtual displacements to a system of equations that forces the beam to deform into a shape specified by a SolidInitialCondition object. If SolidFiniteElement::solid_ic_pt()!=0
we solve the the equations
\[ \int_0^{L} \left( \frac{\partial^i {\bf R}_{IC}}{\partial t^i} - {\bf R}_w \right) \psi_{jk} \ d\xi = 0, \]
where \( \partial^i {\bf R}_{IC}/\partial t^i\) is implemented by the SolidInitialCondition object, pointed to by SolidFiniteElement::shell_ic_pt()
.
|
inline |
Constructor. Set default values for all physical parameters and zero traction.
References Default_h_value, Default_lambda_sq_value, Default_sigma0_value, H_pt, Lambda_sq_pt, Load_vector_fct_pt, Sigma0_pt, Unit_profile_fct(), Wall_profile_fct_pt, and Zero_traction_fct().
|
virtual |
Get FE jacobian and residuals (Jacobian done by finite differences)
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::FSIHermiteBeamElement.
References fill_in_contribution_to_residuals_beam(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::GeneralisedElement::fill_in_jacobian_from_external_by_fd(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::GeneralisedElement::get_residuals(), oomph::GeneralisedElement::ndof(), and oomph::SolidFiniteElement::Solve_for_consistent_newmark_accel_flag.
Referenced by oomph::FSIHermiteBeamElement::fill_in_contribution_to_jacobian().
|
inlinevirtual |
Return the residuals for the equations of Kirchhoff-Love beam theory with linear constitutive equations; if Solid_ic_pt!=0, we assign residuals which force the assignement of an initial shape/ veloc/accel to the dofs. This overloads the standard interface.
Reimplemented from oomph::GeneralisedElement.
References fill_in_contribution_to_residuals_beam().
void oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam | ( | Vector< double > & | residuals | ) |
Return the residuals for the equations of Kirchhoff-Love beam theory with linear constitutive equations; if Solid_ic_pt!=0, we assign residuals which force the assignement of an initial shape/ veloc/accel to the dofs.
References a, b, oomph::GeomObject::d2position(), oomph::SolidFiniteElement::d2shape_lagrangian_at_knot(), f(), oomph::SolidFiniteElement::fill_in_residuals_for_solid_ic(), mathsFunc::gamma(), h(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), oomph::SolidFiniteElement::interpolated_xi(), J, j, k, Global_Physical_Variables::Lambda_sq, lambda_sq(), load_vector(), n, N, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), oomph::Integral::nweight(), oomph::SolidFiniteElement::position_local_eqn(), R, oomph::FiniteElement::raw_dnodal_position_gen_dt(), oomph::SolidFiniteElement::raw_lagrangian_position_gen(), oomph::FiniteElement::raw_nodal_position_gen(), sigma0(), oomph::SolidFiniteElement::Solid_ic_pt, sqrt(), Undeformed_beam_pt, w, oomph::QuadTreeNames::W, wall_profile(), and oomph::Integral::weight().
Referenced by fill_in_contribution_to_jacobian(), and fill_in_contribution_to_residuals().
Get potential (strain) and kinetic energy of the element.
Compute the potential (strain) and kinetic energy of the element (wrapper function).
void oomph::KirchhoffLoveBeamEquations::get_energy | ( | double & | stretch, |
double & | bend, | ||
double & | kin_en | ||
) |
Get the potential energy due to stretching and bending and the kinetic energy of the element
Compute the potential (strain) and kinetic energy of the element, breaking down the potential energy into stretching and bending components.
References a, b, oomph::GeomObject::d2position(), oomph::SolidFiniteElement::d2shape_lagrangian_at_knot(), mathsFunc::gamma(), h(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), oomph::SolidFiniteElement::interpolated_xi(), J, j, k, Global_Physical_Variables::Lambda_sq, lambda_sq(), n, N, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), oomph::Integral::nweight(), R, oomph::FiniteElement::raw_dnodal_position_gen_dt(), oomph::SolidFiniteElement::raw_lagrangian_position_gen(), oomph::FiniteElement::raw_nodal_position_gen(), sigma0(), sqrt(), Undeformed_beam_pt, w, oomph::QuadTreeNames::W, wall_profile(), and oomph::Integral::weight().
void oomph::KirchhoffLoveBeamEquations::get_non_unit_tangent | ( | const Vector< double > & | s, |
Vector< double > & | r, | ||
Vector< double > & | drds | ||
) |
Get position vector to and non-unit tangent vector on wall: dr/ds.
Get position vector to and non-unit tangent vector on wall: dr/ds
References oomph::FiniteElement::dshape_local(), i, k, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, UniformPSDSelfTest::r, oomph::FiniteElement::raw_nodal_position_gen(), s, and Undeformed_beam_pt.
Referenced by oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals().
|
inline |
Get normal vector on wall.
References N, UniformPSDSelfTest::r, and s.
Referenced by FSIChannelWithLeafletProblem< ELEMENT >::doc_solution(), and oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals().
void oomph::KirchhoffLoveBeamEquations::get_normal | ( | const Vector< double > & | s, |
Vector< double > & | r, | ||
Vector< double > & | N | ||
) |
Get position vector to and normal vector on wall.
References oomph::SolidFiniteElement::dshape_lagrangian(), i, j, k, N, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, oomph::FiniteElement::raw_nodal_position_gen(), s, sqrt(), and Undeformed_beam_pt.
|
inline |
Return the non-dimensional wall thickness.
References H_pt.
Referenced by fill_in_contribution_to_residuals_beam(), and get_energy().
|
inline |
Return a pointer to non-dim. wall thickness.
References H_pt.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), ElasticBeamProblem::ElasticBeamProblem(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), and FSIRingProblem::FSIRingProblem().
|
inline |
Return the timescale ratio (non-dimensional density)
References Lambda_sq_pt.
Referenced by fill_in_contribution_to_residuals_beam(), and get_energy().
|
inline |
Return a pointer to timescale ratio (nondim density)
References Lambda_sq_pt.
Referenced by FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), and FSIRingProblem::FSIRingProblem().
|
inlinevirtual |
Get the load vector: Pass number of integration point (dummy), Lagr. and Eulerian coordinate and normal vector and return the load vector (not all of the input arguments will be required for all specific load functions but the list should cover all cases). This function is virtual so it can be overloaded for FSI.
Reimplemented in oomph::FSIHermiteBeamElement.
References load(), Load_vector_fct_pt, N, and plotDoE::x.
Referenced by fill_in_contribution_to_residuals_beam().
|
inline |
Return the axial prestress.
References Sigma0_pt.
Referenced by fill_in_contribution_to_residuals_beam(), and get_energy().
|
inline |
Return a pointer to axial prestress.
References Sigma0_pt.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), ElasticBeamProblem::ElasticBeamProblem(), and FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem().
|
inline |
Return a Pointer to geometric object that specifies the beam's undeformed geometry
References Undeformed_beam_pt.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), ElasticBeamProblem::ElasticBeamProblem(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::ElasticRefineableQuarterCircleSectorMesh(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), and FSIRingProblem::FSIRingProblem().
|
staticprotected |
Default profile function (constant thickness 'h_0')
Default wall profile function (constant thickness h_0)
Referenced by KirchhoffLoveBeamEquations().
|
inline |
Get the wall profile: Pass Lagrangian & Eulerian coordinate and return the wall profile (not all of the input arguments will be required for all specific thickness functions but the list should cover all cases).
References Wall_profile_fct_pt, and plotDoE::x.
Referenced by fill_in_contribution_to_residuals_beam(), and get_energy().
|
staticprivate |
Static default value for non-dim wall thickness.
Static default value for non-dim wall thickness (1/20)
Referenced by KirchhoffLoveBeamEquations().
|
staticprivate |
Static default value for timescale ratio (1.0 – for natural scaling)
Static default value for timescale ratio (1.0 for natural scaling)
Referenced by KirchhoffLoveBeamEquations().
|
staticprivate |
Static default value for 2nd Piola Kirchhoff prestress.
Static default value for 2nd Piola Kirchhoff prestress (zero)
Referenced by KirchhoffLoveBeamEquations().
|
private |
Pointer to wall thickness.
Referenced by h(), h_pt(), and KirchhoffLoveBeamEquations().
|
private |
Pointer to Timescale ratio (non-dim. density)
Referenced by KirchhoffLoveBeamEquations(), lambda_sq(), and lambda_sq_pt().
|
inline |
Reference to the load vector function pointer.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), ElasticBeamProblem::ElasticBeamProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), and FSIRingProblem::FSIRingProblem().
|
protected |
Pointer to load vector function: Its arguments are: Lagrangian coordinate, Eulerian coordinate, normal vector and load vector itself (not all of the input arguments will be required for all specific load functions but the list should cover all cases)
Referenced by KirchhoffLoveBeamEquations(), load_vector(), and oomph::FSIHermiteBeamElement::load_vector().
|
private |
Pointer to axial prestress.
Referenced by KirchhoffLoveBeamEquations(), sigma0(), and sigma0_pt().
|
protected |
Pointer to the GeomObject that specifies the beam's undeformed midplane
Referenced by oomph::FSIHermiteBeamElement::dposition_dlagrangian_at_local_coordinate(), fill_in_contribution_to_residuals_beam(), get_energy(), get_non_unit_tangent(), get_normal(), oomph::HermiteBeamElement::output(), and undeformed_beam_pt().
|
inline |
Reference to the wall thickness ratio profile function pointer.
|
protected |
Pointer to wall profile function: Its arguments are: Lagrangian coordinate, Eulerian coordinate, and profile itself (not all of the input arguments will be required for all specific profile functions but the list should cover all cases)
Referenced by KirchhoffLoveBeamEquations(), and wall_profile().