![]() |
|
#include <element_with_moving_nodes.h>
Public Types | |
enum | { Shape_derivs_by_chain_rule , Shape_derivs_by_direct_fd , Shape_derivs_by_fastest_method } |
Public enumeration to choose method for computing shape derivatives. More... | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
Public Member Functions | |
ElementWithMovingNodes () | |
Constructor. More... | |
ElementWithMovingNodes (const ElementWithMovingNodes &)=delete | |
Broken copy constructor. More... | |
void | operator= (const ElementWithMovingNodes &)=delete |
Broken assignment operator. More... | |
void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual | ~ElementWithMovingNodes () |
Virtual destructor (clean up and allocated memory) More... | |
unsigned | ngeom_dof () const |
Number of geometric dofs. More... | |
int | geometric_data_local_eqn (const unsigned &n, const unsigned &i) |
void | assemble_set_of_all_geometric_data (std::set< Data * > &unique_geom_data_pt) |
Return a set of all geometric data associated with the element. More... | |
void | identify_geometric_data (std::set< Data * > &geometric_data_pt) |
bool | are_dresidual_dnodal_coordinates_always_evaluated_by_fd () const |
Return whether shape derivatives are evaluated by fd. More... | |
void | enable_always_evaluate_dresidual_dnodal_coordinates_by_fd () |
void | disable_always_evaluate_dresidual_dnodal_coordinates_by_fd () |
void | evaluate_shape_derivs_by_direct_fd () |
Evaluate shape derivatives by direct finite differencing. More... | |
void | evaluate_shape_derivs_by_chain_rule (const bool &i_know_what_i_am_doing=false) |
void | evaluate_shape_derivs_by_fastest_method (const bool &i_know_what_i_am_doing=false) |
int & | method_for_shape_derivs () |
Access to method (enumerated flag) for determination of shape derivs. More... | |
void | enable_bypass_fill_in_jacobian_from_geometric_data () |
Bypass the call to fill_in_jacobian_from_geometric_data. More... | |
void | disable_bypass_fill_in_jacobian_from_geometric_data () |
Do not bypass the call to fill_in_jacobian_from_geometric_data. More... | |
bool | is_fill_in_jacobian_from_geometric_data_bypassed () const |
unsigned | ngeom_data () 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) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
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 |
virtual Node * | construct_node (const unsigned &n) |
virtual Node * | construct_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
virtual Node * | construct_boundary_node (const unsigned &n) |
virtual Node * | construct_boundary_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
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) |
unsigned | ngeom_data () const |
Data * | geom_data_pt (const unsigned &j) |
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) |
virtual double | zeta_nodal (const unsigned &n, const unsigned &k, const unsigned &i) const |
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 | 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 void | compute_norm (double &norm) |
virtual unsigned | ndof_types () const |
virtual void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
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 |
Protected Member Functions | |
virtual void | get_dnodal_coordinates_dgeom_dofs (RankThreeTensor< double > &dnodal_coordinates_dgeom_dofs) |
void | complete_setup_of_dependencies () |
Construct the vector of (unique) geometric data. More... | |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
void | fill_in_jacobian_from_geometric_data (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_geometric_data (DenseMatrix< double > &jacobian) |
![]() | |
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) |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
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) |
virtual void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
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) |
Protected Attributes | |
Vector< Data * > | Geom_data_pt |
![]() | |
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 | |
int ** | Geometric_data_local_eqn |
unsigned | Ngeom_dof |
bool | Bypass_fill_in_jacobian_from_geometric_data |
bool | Evaluate_dresidual_dnodal_coordinates_by_fd |
int | Method_for_shape_derivs |
Additional Inherited Members | |
![]() | |
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 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 policy class that serves to establish the common interfaces for elements that contain moving nodes. This class provides storage for the geometric data that affect the update of all the nodes of the element, i.e. USUALLY all data that are using during a call to the Element's node_update() function. In some cases (e.g. FluidInterfaceEdge elements), node_update() is overloaded to perform an update of the bulk element, in which case the additional bulk geometric data become external data of the element and the function GeneralisedElement::update_in_external_fd(i) is overloaded to also perform the bulk node update. The storage is populated during the assignment of the equation numbers via the complete_setup_of_dependencies() function and then local equations numbers are assigned to these data, accessible via geometric_data_local_eqn(n,i). Finally, a function is provided that calculates the terms in the jacobian matrix by due to these geometric data by finite differences.
anonymous enum |
Public enumeration to choose method for computing shape derivatives.
Enumerator | |
---|---|
Shape_derivs_by_chain_rule | |
Shape_derivs_by_direct_fd | |
Shape_derivs_by_fastest_method |
|
inline |
Constructor.
|
delete |
Broken copy constructor.
|
inlinevirtual |
|
inline |
Return whether shape derivatives are evaluated by fd.
References Evaluate_dresidual_dnodal_coordinates_by_fd.
void oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data | ( | std::set< Data * > & | unique_geom_data_pt | ) |
Return a set of all geometric data associated with the element.
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// Return a set of all geometric data associated with the element's node update function
References oomph::Node::all_geom_data_pt(), oomph::Node::all_geom_object_pt(), oomph::GeomObject::geom_data_pt(), oomph::Node::hanging_pt(), i, oomph::Node::is_hanging(), oomph::HangInfo::master_node_pt(), n, oomph::GeomObject::ngeom_data(), oomph::Node::ngeom_data(), oomph::Node::ngeom_object(), oomph::HangInfo::nmaster(), oomph::FiniteElement::nnode(), and oomph::FiniteElement::node_pt().
Referenced by complete_setup_of_dependencies(), oomph::FixedVolumeSpineLineMarangoniFluidInterfaceElement< ELEMENT >::make_bounding_element(), and oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::make_bounding_element().
|
protectedvirtual |
Assign local equation numbers for the geometric Data in the element If the boolean argument is true then the degrees of freedom are stored in Dof_pt
Assign local equation numbers for the geometric data associated with the element.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::ElementWithSpecificMovingNodes< ELEMENT, SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, PerturbedSpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, AlgebraicNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, MacroElementNodeUpdateNode >.
References oomph::GeneralisedElement::add_global_eqn_numbers(), oomph::GeneralisedElement::Dof_pt_deque, oomph::Data::eqn_number(), oomph::GeneralisedElement::eqn_number(), Geom_data_pt, Geometric_data_local_eqn, i, oomph::Data::Is_pinned, oomph::Data::Is_unclassified, j, oomph::GeneralisedElement::local_eqn_number(), oomph::GeneralisedElement::ndof(), ngeom_data(), Ngeom_dof, oomph::Data::nvalue(), and oomph::Data::value_pt().
Referenced by oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >::assign_all_generic_local_eqn_numbers().
|
protectedvirtual |
Construct the vector of (unique) geometric data.
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::SpineElement< ELEMENT >, oomph::SpineElement< PointElement >, oomph::SpineElement< FaceGeometry< ELEMENT > >, oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::ElementWithSpecificMovingNodes< ELEMENT, SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, PerturbedSpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, AlgebraicNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, MacroElementNodeUpdateNode >.
References assemble_set_of_all_geometric_data(), and Geom_data_pt.
Referenced by oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >::complete_setup_of_dependencies().
|
virtual |
Function to describe the local dofs of the element. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...)
Function to describe the local dofs of the element[s]. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...)
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::ElementWithSpecificMovingNodes< ELEMENT, SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, PerturbedSpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, AlgebraicNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, MacroElementNodeUpdateNode >.
References oomph::Data::describe_dofs(), oomph::FiniteElement::describe_local_dofs(), Geom_data_pt, i, ngeom_data(), out(), and oomph::Global_string_for_annotation::string().
Referenced by oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >::describe_local_dofs().
|
inline |
Insist that shape derivatives are always evaluated using the overloaded version of this function that may have been implemented in a derived class. (The default behaviour will still be finite differences unless the function has actually been overloaded
References Evaluate_dresidual_dnodal_coordinates_by_fd.
Referenced by FSIRingProblem::FSIRingProblem().
|
inline |
Do not bypass the call to fill_in_jacobian_from_geometric_data.
References Bypass_fill_in_jacobian_from_geometric_data.
|
inline |
Insist that shape derivatives are always evaluated by fd (using FiniteElement::get_dresidual_dnodal_coordinates())
References Evaluate_dresidual_dnodal_coordinates_by_fd.
Referenced by oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), oomph::RefineableQElement< 2 >::build(), and FSIRingProblem::FSIRingProblem().
|
inline |
Bypass the call to fill_in_jacobian_from_geometric_data.
References Bypass_fill_in_jacobian_from_geometric_data.
Referenced by oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), and oomph::RefineableQElement< 2 >::build().
|
inline |
Evaluate shape derivatives by chain rule. Currently disabled by default because it's broken; can re-enable use by setting optional boolean to true.
References Method_for_shape_derivs, OOMPH_EXCEPTION_LOCATION, and Shape_derivs_by_chain_rule.
Referenced by FSIRingProblem::FSIRingProblem().
|
inline |
Evaluate shape derivatives by direct finite differencing.
References Method_for_shape_derivs, and Shape_derivs_by_direct_fd.
Referenced by AirwayReopeningProblem< ELEMENT >::actions_before_newton_convergence_check(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_before_newton_convergence_check(), ThreeDimBethertonProblem< ELEMENT >::actions_before_newton_convergence_check(), and FSIRingProblem::FSIRingProblem().
|
inline |
Evaluate shape derivatives by (anticipated) fastest method. Currently disabled by default because it's broken; can re-enable use by setting optional boolean to true.
References Method_for_shape_derivs, OOMPH_EXCEPTION_LOCATION, and Shape_derivs_by_fastest_method.
Referenced by FSIRingProblem::FSIRingProblem().
|
inlineprotected |
Calculate the contributions to the Jacobian matrix from the geometric data. This version computes the residuals vector before calculating the Jacobian terms
References Bypass_fill_in_jacobian_from_geometric_data, fill_in_jacobian_from_geometric_data(), oomph::GeneralisedElement::get_residuals(), and oomph::GeneralisedElement::ndof().
|
protected |
Calculate the contributions to the Jacobian matrix from the geometric data. This version assumes that the (full) residuals vector has already been calculated and is passed in as the first argument – needed in case the derivatives are computed by FD.
Calculate the node-update–related entries in the Jacobian. The vector passed in residuals has to contain the nonlinear residuals, evaluated for the current values of the unknowns, in case FDing is used to computed the derivatives.
References Bypass_fill_in_jacobian_from_geometric_data, oomph::GeneralisedElement::Default_fd_jacobian_step, Evaluate_dresidual_dnodal_coordinates_by_fd, Geom_data_pt, geometric_data_local_eqn(), get_dnodal_coordinates_dgeom_dofs(), oomph::FiniteElement::get_dresidual_dnodal_coordinates(), oomph::GeneralisedElement::get_residuals(), i, j, k, m, Method_for_shape_derivs, oomph::Node::ndim(), oomph::GeneralisedElement::ndof(), ngeom_data(), Ngeom_dof, oomph::FiniteElement::nnode(), oomph::FiniteElement::node_pt(), oomph::FiniteElement::node_update(), oomph::RefineableElement::nshape_controlling_nodes(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Shape_derivs_by_chain_rule, Shape_derivs_by_direct_fd, and Shape_derivs_by_fastest_method.
Referenced by oomph::PerturbedSpineLinearisedAxisymmetricFluidInterfaceElement< ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpineLineVolumeConstraintBoundingElement< ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpineAxisymmetricVolumeConstraintBoundingElement< ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpineSurfaceVolumeConstraintBoundingElement< ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpinePointFluidInterfaceBoundingElement< ELEMENT >::fill_in_contribution_to_jacobian(), oomph::SpineLineFluidInterfaceBoundingElement< ELEMENT >::fill_in_contribution_to_jacobian(), fill_in_jacobian_from_geometric_data(), oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >::get_jacobian(), and oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >::get_jacobian_and_mass_matrix().
|
inline |
Return the local equation number corresponding to the i-th value at the n-th geometric data object.
References Geom_data_pt, Geometric_data_local_eqn, i, n, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by fill_in_jacobian_from_geometric_data(), get_dnodal_coordinates_dgeom_dofs(), oomph::SpineElement< ELEMENT >::spine_local_eqn(), and oomph::PerturbedSpineElement< ELEMENT >::spine_local_eqn().
|
protectedvirtual |
Compute derivatives of the nodal coordinates w.r.t. to the geometric dofs. Default implementation by FD can be overwritten for specific elements. dnodal_coordinates_dgeom_dofs(l,i,j) = dX_{ij} / d s_l
References oomph::GeneralisedElement::Default_fd_jacobian_step, Geom_data_pt, geometric_data_local_eqn(), i, j, oomph::Node::ndim(), ngeom_data(), oomph::FiniteElement::nnode(), oomph::FiniteElement::node_pt(), oomph::FiniteElement::node_update(), oomph::RefineableElement::nshape_controlling_nodes(), oomph::Node::position(), and oomph::RefineableElement::shape_controlling_node_lookup().
Referenced by fill_in_jacobian_from_geometric_data().
|
inlinevirtual |
Specify Data that affects the geometry of the element by adding the element's geometric Data to the set that's passed in. (This functionality is required in FSI problems; set is used to avoid double counting).
Reimplemented from oomph::FiniteElement.
References Geom_data_pt, and n.
|
inline |
Test whether the call to fill_in_jacobian_from_geometric_data is bypassed
References Bypass_fill_in_jacobian_from_geometric_data.
|
inline |
Access to method (enumerated flag) for determination of shape derivs.
References Method_for_shape_derivs.
Referenced by oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), and oomph::RefineableQElement< 2 >::build().
|
inlinevirtual |
Return the number of geometric data upon which the shape of the element depends
Reimplemented from oomph::GeomObject.
References Geom_data_pt.
Referenced by assign_all_generic_local_eqn_numbers(), describe_local_dofs(), fill_in_jacobian_from_geometric_data(), get_dnodal_coordinates_dgeom_dofs(), oomph::SpineElement< ELEMENT >::spine_local_eqn(), and oomph::PerturbedSpineElement< ELEMENT >::spine_local_eqn().
|
inline |
|
delete |
Broken assignment operator.
|
private |
Set flag to true to bypass calculation of Jacobain entries resulting from geometric data.
Referenced by disable_bypass_fill_in_jacobian_from_geometric_data(), enable_bypass_fill_in_jacobian_from_geometric_data(), fill_in_jacobian_from_geometric_data(), and is_fill_in_jacobian_from_geometric_data_bypassed().
|
private |
Boolean to decide if shape derivatives are to be evaluated by fd (using FiniteElement::get_dresidual_dnodal_coordinates()) or analytically, using the overloaded version of this function in this class.
Referenced by are_dresidual_dnodal_coordinates_always_evaluated_by_fd(), disable_always_evaluate_dresidual_dnodal_coordinates_by_fd(), enable_always_evaluate_dresidual_dnodal_coordinates_by_fd(), and fill_in_jacobian_from_geometric_data().
Vector that stores pointers to all Data that affect the node update operations, i.e. the variables that can affect the position of the node.
Referenced by assign_all_generic_local_eqn_numbers(), complete_setup_of_dependencies(), describe_local_dofs(), fill_in_jacobian_from_geometric_data(), geometric_data_local_eqn(), get_dnodal_coordinates_dgeom_dofs(), identify_geometric_data(), and ngeom_data().
|
private |
Array to hold local eqn number information for the geometric Data variables
Referenced by assign_all_generic_local_eqn_numbers(), geometric_data_local_eqn(), and ~ElementWithMovingNodes().
|
private |
Choose method for evaluation of shape derivatives (this takes one of the values in the enumeration)
Referenced by evaluate_shape_derivs_by_chain_rule(), evaluate_shape_derivs_by_direct_fd(), evaluate_shape_derivs_by_fastest_method(), fill_in_jacobian_from_geometric_data(), and method_for_shape_derivs().
|
private |
Number of geometric dofs (computed on the fly when equation numbers are set up)
Referenced by assign_all_generic_local_eqn_numbers(), fill_in_jacobian_from_geometric_data(), and ngeom_dof().