![]() |
|
#include <beam_elements.h>
Public Member Functions | |
FSIHermiteBeamElement () | |
~FSIHermiteBeamElement () | |
Destructor: empty. More... | |
void | set_normal_pointing_into_fluid () |
void | set_normal_pointing_out_of_fluid () |
void | dposition_dlagrangian_at_local_coordinate (const Vector< double > &s, DenseMatrix< double > &drdxi) const |
void | load_vector (const unsigned &intpt, const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load) |
virtual void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | locate_zeta (const Vector< double > &zeta, GeomObject *&geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false) |
unsigned | ndof_types () const |
void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
HermiteBeamElement () | |
Constructor (empty) More... | |
void | output (std::ostream &outfile) |
Output function. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Output function with specified number of plot points. More... | |
void | output (const unsigned &t, std::ostream &outfile, const unsigned &n_plot) const |
void | output (FILE *file_pt) |
C-style output function. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
C-style output function with specified number of plot points. More... | |
void | output (const unsigned &t, FILE *file_pt, const unsigned &n_plot) const |
![]() | |
SolidQHermiteElement () | |
Constructor. More... | |
SolidQHermiteElement (const SolidQHermiteElement &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const SolidQHermiteElement &)=delete |
Broken assignment operator. More... | |
void | output (std::ostream &outfile) |
Overload the output function. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Output at n_plot points. More... | |
void | output (FILE *file_pt) |
C-style output. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
C_style output at n_plot points. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
void | output (FILE *file_pt, const unsigned &n_plot) |
void | output (std::ostream &outfile, const unsigned &n_p) |
The output function for any number of points per element. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
The C-style output function for any number of points per element. More... | |
void | build_face_element (const int &face_index, FaceElement *face_element_pt) |
![]() | |
QHermiteElement () | |
Constructor. More... | |
QHermiteElement (const QHermiteElement &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const QHermiteElement &)=delete |
Broken assignment operator. More... | |
bool | local_coord_is_valid (const Vector< double > &s) |
Check whether the local coordinate are valid or not. More... | |
void | move_local_coord_back_into_element (Vector< double > &s) const |
void | shape (const Vector< double > &s, Shape &psi) const |
void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
double | invert_jacobian_mapping (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
void | transform_second_derivatives (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
double | s_min () const |
Min. value of local coordinate. More... | |
double | s_max () const |
Max. value of local coordinate. More... | |
void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
Get local coordinates of node j in the element; vector sets its own size. More... | |
void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
Get local fraction of node j in the element; vector sets its own size. More... | |
double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
unsigned | nnode_1d () const |
Return number of nodes along each element edge. More... | |
void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &use_equally_spaced_interior_sample_points=false) const |
std::string | tecplot_zone_string (const unsigned &nplot) const |
unsigned | nplot_points (const unsigned &nplot) const |
void | shape (const Vector< double > &s, Shape &psi) const |
Shape function for specific QHermiteElement<1> More... | |
void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
Derivatives of shape functions for specific QHermiteElement<1> More... | |
void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
void | shape (const Vector< double > &s, Shape &psi) const |
Shape function for specific QHermiteElement<2> More... | |
void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
Derivatives of shape functions for specific QHermiteElement<2> More... | |
void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &use_equally_spaced_interior_sample_points) const |
std::string | tecplot_zone_string (const unsigned &nplot) const |
unsigned | nplot_points (const unsigned &nplot) const |
void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &use_equally_spaced_interior_sample_points) const |
std::string | tecplot_zone_string (const unsigned &nplot) const |
unsigned | nplot_points (const unsigned &nplot) const |
![]() | |
QHermiteElementBase () | |
Empty default constructor. More... | |
QHermiteElementBase (const QHermiteElementBase &)=delete | |
Broken copy constructor. More... | |
void | operator= (const QHermiteElementBase &)=delete |
Broken assignment operator. More... | |
![]() | |
QElementGeometricBase () | |
Empty default constructor. More... | |
QElementGeometricBase (const QElementGeometricBase &)=delete | |
Broken copy constructor. More... | |
![]() | |
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... | |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
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_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) 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... | |
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) |
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_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 | 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 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 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) |
![]() | |
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 |
![]() | |
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) |
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 |
![]() | |
KirchhoffLoveBeamEquations () | |
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) |
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 | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
FSIWallElement () | |
FSIWallElement (const FSIWallElement &)=delete | |
Broken copy constructor. More... | |
void | operator= (const FSIWallElement &)=delete |
Broken assignment operator. More... | |
virtual | ~FSIWallElement () |
Empty virtual destructor for safety. More... | |
void | setup_fsi_wall_element (const unsigned &nlagr_solid, const unsigned &ndim_fluid) |
const double & | q () const |
double *& | q_pt () |
void | enable_fluid_loading_on_both_sides () |
bool | only_front_is_loaded_by_fluid () const |
void | exclude_external_load_data () |
void | include_external_load_data () |
void | disable_shear_stress_in_jacobian () |
void | enable_shear_stress_in_jacobian () |
void | node_update_adjacent_fluid_elements () |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
![]() | |
ElementWithExternalElement () | |
virtual | ~ElementWithExternalElement () |
The destructor, clean up any allocated memory. More... | |
ElementWithExternalElement (const ElementWithExternalElement &)=delete | |
Broken copy constructor. More... | |
void | operator= (const ElementWithExternalElement &)=delete |
Broken assignment operator. More... | |
bool | storage_has_been_allocated () const |
Helper function to check if storage has actually been allocated. More... | |
FiniteElement *& | external_element_pt (const unsigned &interaction_index, const unsigned &ipt) |
FiniteElement *const & | external_element_pt (const unsigned &interaction_index, const unsigned &ipt) const |
Access function to source element, const version. More... | |
Vector< double > & | external_element_local_coord (const unsigned &interaction_index, const unsigned &ipt) |
Vector< double > const & | external_element_local_coord (const unsigned &interaction_index, const unsigned &ipt) const |
Access function to get source element's coords, const version. More... | |
void | output_external_elements (std::ostream &outfile, const unsigned &interaction_index) |
void | initialise_external_element_storage () |
void | flush_all_external_element_storage () |
Flush the storage for external elements. More... | |
void | set_ninteraction (const unsigned &n_interaction) |
unsigned | ninteraction () const |
Return the number of interactions in the element. More... | |
unsigned | nexternal_interaction_field_data () const |
Vector< Data * > | external_interaction_field_data_pt () const |
unsigned | nexternal_interaction_geometric_data () const |
bool | add_external_geometric_data () |
Are we including external geometric data in the element's Jacobian. More... | |
bool | add_external_interaction_data () |
Are we including external data in the element's Jacobian. More... | |
Vector< Data * > | external_interaction_geometric_data_pt () const |
void | ignore_external_geometric_data () |
void | ignore_external_interaction_data () |
void | include_external_geometric_data () |
void | include_external_interaction_data () |
bool | external_geometric_data_is_included () const |
Private Attributes | |
bool | Normal_points_into_fluid |
Additional Inherited Members | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
![]() | |
typedef double(* | MultiplierFctPt) (const Vector< double > &xi) |
![]() | |
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 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 |
![]() | |
static bool | Dont_warn_about_missing_adjacent_fluid_elements = false |
Static flag that allows the suppression of warning messages. More... | |
![]() | |
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 | 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 |
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 () |
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_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 | update_before_external_fd () |
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) |
![]() | |
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... | |
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 () |
![]() | |
void | update_in_internal_fd (const unsigned &i) |
After an internal data change, update the nodal positions. More... | |
void | reset_in_internal_fd (const unsigned &i) |
void | reset_after_internal_fd () |
void | update_in_external_fd (const unsigned &i) |
After an external data change, update the nodal positions. More... | |
void | reset_in_external_fd (const unsigned &i) |
void | reset_after_external_fd () |
void | update_in_nodal_fd (const unsigned &i) |
After a nodal data change, update the nodal positions. More... | |
void | reset_in_nodal_fd (const unsigned &i) |
void | reset_after_nodal_fd () |
void | update_in_external_interaction_field_fd (const unsigned &i) |
After an external field data change, update the nodal positions. More... | |
void | reset_in_external_interaction_field_fd (const unsigned &i) |
void | reset_after_external_interaction_field_fd () |
void | update_in_external_interaction_geometric_fd (const unsigned &i) |
void | reset_in_external_interaction_geometric_fd (const unsigned &i) |
void | reset_after_external_interaction_geometric_fd () |
void | update_in_solid_position_fd (const unsigned &i) |
After an internal data change, update the nodal positions. More... | |
void | reset_in_solid_position_fd (const unsigned &i) |
void | reset_after_solid_position_fd () |
void | fluid_load_vector (const unsigned &intpt, const Vector< double > &N, Vector< double > &load) |
![]() | |
void | assign_internal_and_external_local_eqn_numbers (const bool &store_local_dof_pt) |
void | assign_external_interaction_data_local_eqn_numbers (const bool &store_local_dof_pt) |
void | fill_in_jacobian_from_external_interaction_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_external_interaction_by_fd (DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_external_interaction_field_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_external_interaction_field_by_fd (DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_external_interaction_geometric_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_external_interaction_geometric_by_fd (DenseMatrix< double > &jacobian) |
virtual void | update_before_external_interaction_field_fd () |
virtual void | update_before_external_interaction_geometric_fd () |
![]() | |
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... | |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
bool | Add_external_interaction_data |
Boolean flag to indicate whether to include the external data. More... | |
bool | Add_external_geometric_data |
Boolean flag to indicate whether to include the external geometric data. More... | |
Data ** | External_interaction_field_data_pt |
Data ** | External_interaction_geometric_data_pt |
![]() | |
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 |
Hermite Kirchhoff Love beam "upgraded" to a FSIWallElement (and thus, by inheritance, a GeomObject), so it can be used in FSI.
|
inline |
Constructor: Create beam element as FSIWallElement (and thus, by inheritance, a GeomObject). By default, we assume that the normal vector computed by KirchhoffLoveBeamEquations::get_normal(...) points into the fluid. If this is not the case, overwrite this with the access function FSIHermiteBeamElement::set_normal_pointing_out_of_fluid()
References oomph::FSIWallElement::setup_fsi_wall_element().
void oomph::FSIHermiteBeamElement::dposition_dlagrangian_at_local_coordinate | ( | const Vector< double > & | s, |
DenseMatrix< double > & | drdxi | ||
) | const |
Derivative of position vector w.r.t. the SolidFiniteElement's Lagrangian coordinates; evaluated at current time.
Define the dposition function. This is used to set no-slip boundary conditions in FSI problems.
References oomph::SolidFiniteElement::dshape_lagrangian(), i, oomph::DenseMatrix< T >::initialise(), j, k, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_position_gen(), OOMPH_EXCEPTION_LOCATION, s, and oomph::KirchhoffLoveBeamEquations::Undeformed_beam_pt.
|
inlinevirtual |
Get the Jacobian and residuals. Wrapper to generic FSI version; that catches the case when we replace the Jacobian by the mass matrix (for the consistent assignment of initial conditions).
Reimplemented from oomph::KirchhoffLoveBeamEquations.
References oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_jacobian(), and oomph::ElementWithExternalElement::fill_in_jacobian_from_external_interaction_by_fd().
|
virtual |
Create a list of pairs for all unknowns in this element, so that the first entry in each pair contains the global equation number of the unknown, while the second one contains the number of the "DOF type" that this unknown is associated with. (Function can obviously only be called if the equation numbering scheme has been set up.)
Create a list of pairs for all unknowns in this element, so that the first entry in each pair contains the global equation number of the unknown, while the second one contains the number of the "DOF type" that this unknown is associated with. (Function can obviously only be called if the equation numbering scheme has been set up.) This element is only in charge of the solid dofs.
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::eqn_number(), i, k, n, oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_dimension(), and oomph::SolidFiniteElement::position_local_eqn().
|
inlinevirtual |
Get the load vector: Pass number of the integration point, Lagr. coordinate, 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). We first evaluate the load function defined via KirchhoffLoveBeamEquations::load_vector_fct_pt() – this represents the non-FSI load on the beam, e.g. an external pressure load. Then we add to this the FSI load due to the traction exerted by the adjacent FSIFluidElements, taking the sign of the normal into account.
Reimplemented from oomph::KirchhoffLoveBeamEquations.
References oomph::FSIWallElement::fluid_load_vector(), i, load(), oomph::KirchhoffLoveBeamEquations::Load_vector_fct_pt, N, Normal_points_into_fluid, SYCL::sign(), and plotDoE::x.
|
virtual |
Find the local coordinate s in this element that corresponds to the global "intrinsic" coordinate \( \zeta \) (here identical to the Lagrangian coordinate \( \xi \)). If the coordinate is contained within this element, the geom_object_pt points to "this" element; if the zeta coordinate is not contained in this element geom_object_pt=NULL. By default don't use any value passed in to the local coordinate s as the initial guess in the Newton method
//////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// Function used to find the local coordinate s that corresponds to the "global" intrinsic coordinate zeta (in the element's incarnation as a GeomObject). For this element, zeta is equal to the Lagrangian coordinate xi. If the required zeta is located within this element, geom_object_pt points to "this" element. If zeta is not located within the element it is set to NULL.
Reimplemented from oomph::GeomObject.
References oomph::SarahBL::epsilon, boost::multiprecision::fabs(), oomph::FiniteElement::interpolated_zeta(), OOMPH_EXCEPTION_LOCATION, oomph::SolidFiniteElement::raw_lagrangian_position(), s, and Eigen::zeta().
|
inlinevirtual |
The number of "DOF types" that degrees of freedom in this element are sub-divided into: Just the solid degrees of freedom themselves.
Reimplemented from oomph::GeneralisedElement.
|
inline |
Set the normal computed by KirchhoffLoveBeamEquations::get_normal(...) to point into the fluid
References Normal_points_into_fluid.
|
inline |
Set the normal computed by KirchhoffLoveBeamEquations::get_normal(...) to point out of the fluid
References Normal_points_into_fluid.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), and FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem().
|
private |
Referenced by load_vector(), set_normal_pointing_into_fluid(), and set_normal_pointing_out_of_fluid().