#include <pseudosolid_node_update_elements.h>
Public Member Functions | |
PseudoSolidNodeUpdateElement () | |
Constructor, call the BASIC and SOLID elements' constructors and set the "density" parameter for solid element to zero. More... | |
void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
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(...) More... | |
void | compute_norm (double &el_norm) |
Compute norm of solution: use the version in the BASIC class if there's any ambiguity. More... | |
unsigned | required_nvalue (const unsigned &n) const |
The required number of values is the sum of the two. More... | |
int | solid_p_nodal_index () const |
We assume that the solid stuff is stored at the end of the nodes, i.e. its index is the number of continuously interplated values in the BASIC equations. More... | |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Final override for the residuals function. Contributions are added from both underlying element types. More... | |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Final override for jacobian function: Contributions are included from both the underlying element types. More... | |
void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
Final override for mass matrix function: contributions are included from both the underlying element types. More... | |
void | evaluate_shape_derivs_by_direct_fd () |
Evaluate shape derivatives by direct finite differencing. More... | |
void | evaluate_shape_derivs_by_chain_rule () |
Evaluate shape derivatives by chain rule. More... | |
void | fill_in_shape_derivatives (DenseMatrix< double > &jacobian) |
Fill in the shape derivatives of the BASIC equations w.r.t. the solid position dofs. More... | |
void | fill_in_shape_derivatives_by_fd (DenseMatrix< double > &jacobian) |
Fill in the derivatives of the BASIC equations w.r.t. the solid position dofs. More... | |
void | identify_geometric_data (std::set< Data *> &geometric_data_pt) |
Specify Data that affects the geometry of the element by adding the position Data to the set that's passed in. (This functionality is required in FSI problems; set is used to avoid double counting). More... | |
void | output (std::ostream &outfile) |
Overload the output function: Call that of the basic element. More... | |
void | output (std::ostream &outfile, const unsigned &n_p) |
Output function: Plot at n_p plot points using the basic element's output function. More... | |
void | output (FILE *file_pt) |
Overload the output function: Call that of the basic element. More... | |
void | output (FILE *file_pt, const unsigned &n_p) |
Output function is just the same as the basic equations. More... | |
unsigned | num_Z2_flux_terms () |
Number of 'flux' terms for Z2 error estimation: Error estimation is based on error in BASIC element. More... | |
void | compute_exact_Z2_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_flux_pt, double &error, double &norm) |
Plot the error when compared against a given exact flux. Also calculates the norm of the error and that of the exact flux. Use version in BASIC element. More... | |
void | get_Z2_flux (const Vector< double > &s, Vector< double > &flux) |
unsigned | nvertex_node () const |
Number of vertex nodes in the element. More... | |
Node * | vertex_node_pt (const unsigned &j) const |
Pointer to the j-th vertex node in the element. More... | |
unsigned | nrecovery_order () |
Order of recovery shape functions for Z2 error estimation: Done for BASIC element since it determines the refinement. More... | |
unsigned | ndof_types () const |
The number of "DOF types" that degrees of freedom in this element are sub-divided into. More... | |
unsigned | nbasic_dof_types () const |
return the number of DOF types associated with the BASIC elements in this combined element More... | |
unsigned | nsolid_dof_types () const |
return the number of DOF types associated with the SOLID elements in this combined element More... | |
void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned > > &dof_lookup_list) const |
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. This method combines the get_dof_numbers_for_unknowns(...) method for the BASIC and SOLID elements. The basic elements retain their DOF type numbering and the SOLID elements DOF type numbers are incremented by nbasic_dof_types(). More... | |
Private Attributes | |
bool | Shape_derivs_by_direct_fd |
Boolean flag to indicate shape derivative method. More... | |
A templated class that permits combination two different element types, for the solution of problems in deforming domains. The first template paremter BASIC is the standard element and the second SOLID solves the equations that are used to control the mesh deformation.
Definition at line 62 of file pseudosolid_node_update_elements.h.
|
inline |
Constructor, call the BASIC and SOLID elements' constructors and set the "density" parameter for solid element to zero.
Definition at line 73 of file pseudosolid_node_update_elements.h.
References oomph::PseudoSolidHelper::Zero.
|
inline |
Plot the error when compared against a given exact flux. Also calculates the norm of the error and that of the exact flux. Use version in BASIC element.
Definition at line 438 of file pseudosolid_node_update_elements.h.
|
inline |
Compute norm of solution: use the version in the BASIC class if there's any ambiguity.
Definition at line 96 of file pseudosolid_node_update_elements.h.
|
inline |
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(...)
Definition at line 87 of file pseudosolid_node_update_elements.h.
|
inline |
Evaluate shape derivatives by chain rule.
Definition at line 170 of file pseudosolid_node_update_elements.h.
|
inline |
Evaluate shape derivatives by direct finite differencing.
Definition at line 166 of file pseudosolid_node_update_elements.h.
|
inline |
Final override for jacobian function: Contributions are included from both the underlying element types.
Definition at line 135 of file pseudosolid_node_update_elements.h.
References oomph::fill_in_contribution_to_jacobian().
|
inline |
Final override for mass matrix function: contributions are included from both the underlying element types.
Definition at line 149 of file pseudosolid_node_update_elements.h.
References oomph::fill_in_contribution_to_jacobian_and_mass_matrix().
|
inline |
Final override for the residuals function. Contributions are added from both underlying element types.
Definition at line 125 of file pseudosolid_node_update_elements.h.
References oomph::fill_in_contribution_to_residuals().
|
inline |
Fill in the shape derivatives of the BASIC equations w.r.t. the solid position dofs.
Definition at line 176 of file pseudosolid_node_update_elements.h.
References i.
|
inline |
Fill in the derivatives of the BASIC equations w.r.t. the solid position dofs.
Definition at line 244 of file pseudosolid_node_update_elements.h.
References oomph::fill_in_contribution_to_residuals(), and i.
|
inline |
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. This method combines the get_dof_numbers_for_unknowns(...) method for the BASIC and SOLID elements. The basic elements retain their DOF type numbering and the SOLID elements DOF type numbers are incremented by nbasic_dof_types().
Definition at line 496 of file pseudosolid_node_update_elements.h.
|
inline |
'Flux' vector for Z2 error estimation: Error estimation is based on error in BASIC element
Definition at line 449 of file pseudosolid_node_update_elements.h.
|
inline |
Specify Data that affects the geometry of the element by adding the position Data to the set that's passed in. (This functionality is required in FSI problems; set is used to avoid double counting).
Definition at line 403 of file pseudosolid_node_update_elements.h.
|
inline |
return the number of DOF types associated with the BASIC elements in this combined element
Definition at line 476 of file pseudosolid_node_update_elements.h.
|
inline |
The number of "DOF types" that degrees of freedom in this element are sub-divided into.
Definition at line 469 of file pseudosolid_node_update_elements.h.
|
inline |
Order of recovery shape functions for Z2 error estimation: Done for BASIC element since it determines the refinement.
Definition at line 464 of file pseudosolid_node_update_elements.h.
|
inline |
return the number of DOF types associated with the SOLID elements in this combined element
Definition at line 483 of file pseudosolid_node_update_elements.h.
|
inline |
Number of 'flux' terms for Z2 error estimation: Error estimation is based on error in BASIC element.
Definition at line 432 of file pseudosolid_node_update_elements.h.
|
inline |
Number of vertex nodes in the element.
Definition at line 455 of file pseudosolid_node_update_elements.h.
|
inline |
Overload the output function: Call that of the basic element.
Definition at line 416 of file pseudosolid_node_update_elements.h.
References oomph::output().
|
inline |
Output function: Plot at n_p plot points using the basic element's output function.
Definition at line 420 of file pseudosolid_node_update_elements.h.
References oomph::output().
|
inline |
Overload the output function: Call that of the basic element.
Definition at line 424 of file pseudosolid_node_update_elements.h.
References oomph::output().
|
inline |
Output function is just the same as the basic equations.
Definition at line 427 of file pseudosolid_node_update_elements.h.
References oomph::output().
|
inline |
The required number of values is the sum of the two.
Definition at line 102 of file pseudosolid_node_update_elements.h.
|
inline |
We assume that the solid stuff is stored at the end of the nodes, i.e. its index is the number of continuously interplated values in the BASIC equations.
Definition at line 108 of file pseudosolid_node_update_elements.h.
|
inline |
Pointer to the j-th vertex node in the element.
Definition at line 459 of file pseudosolid_node_update_elements.h.
|
private |
Boolean flag to indicate shape derivative method.
Definition at line 67 of file pseudosolid_node_update_elements.h.