31 #ifndef OOMPH_FACE_ELEMENT_AS_GEOMETRIC_OBJECT_HEADER 
   32 #define OOMPH_FACE_ELEMENT_AS_GEOMETRIC_OBJECT_HEADER 
   36 #include <oomph-lib-config.h> 
   58   template<
class ELEMENT>
 
  106                       const unsigned& 
i)
 const 
  124       std::ostringstream error_message;
 
  126         << 
"FaceElementAsGeomObject::geom_data_pt() is deliberately broken\n" 
  127         << 
"as it does not depend on any geometric Data" << std::endl;
 
  129         error_message.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
 
  138       std::ostringstream warn_message;
 
  139       warn_message << 
"Warning: You have just called the empty function \n" 
  140                    << 
"fill_in_contribution_to_jacobian() for a " 
  141                       "FaceElementAsGeometricObject.\n" 
  142                    << 
"These Elements should only be used to setup " 
  143                       "interactions, so should\n" 
  144                    << 
"not be included in any jacobian calculations\n";
 
  148         "FaceElementAsGeometricObject::fill_in_contribution_to_jacobian()",
 
  149         OOMPH_EXCEPTION_LOCATION);
 
  181   template<
class ELEMENT>
 
  196       if (cast_element1_pt == 0)
 
  198         std::ostringstream error_message;
 
  200           << 
"Failed to cast element1_pt to a FaceElementAsGeomObject" 
  203                             OOMPH_CURRENT_FUNCTION,
 
  204                             OOMPH_EXCEPTION_LOCATION);
 
  207       if (cast_element2_pt == 0)
 
  209         std::ostringstream error_message;
 
  211           << 
"Failed to cast element2_pt to a FaceElementAsGeomObject" 
  214                             OOMPH_CURRENT_FUNCTION,
 
  215                             OOMPH_EXCEPTION_LOCATION);
 
  239       return cast_element1_pt->
zeta_nodal(0, 0, 0) <
 
A class to do comparison of the elements by lexicographic ordering, based on the boundary coordinates...
int operator()(GeneralisedElement *const &element1_pt, GeneralisedElement *const &element2_pt)
The actual comparison operator.
A class that represents a collection of data; each Data object may contain many different individual ...
This is a base class for all elements that require external sources (e.g. FSI, multi-domain problems ...
void describe_local_dofs(std::ostream &out, const std::string &curr_string) const
Function to describe the local dofs of the element. The ostream specifies the output stream to which ...
Class that is used to create FaceElement from bulk elements and to provide these FaceElement with a g...
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 ...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Override fill in contribution to jacobian, nothing should be done.
FaceElementAsGeomObject(const FaceElementAsGeomObject &)=delete
Broken copy constructor.
void assign_all_generic_local_eqn_numbers(const bool &store_local_dof_pt)
Unique final overrider needed for assign_all_generic_local_eqn_numbers.
unsigned ngeom_data() const
How many items of Data does the shape of the object depend on? None! We're dealing with a pure geomet...
double zeta_nodal(const unsigned &n, const unsigned &k, const unsigned &i) const
Broken assignment operator.
FaceElementAsGeomObject(FiniteElement *const &element_pt, const int &face_index)
Constructor which takes a pointer to a "bulk" element, to which this element is attached....
Data * geom_data_pt(const unsigned &j)
Return pointer to the j-th Data item that the object's shape depends on. Object doesn't depend on any...
FaceElements are elements that coincide with the faces of higher-dimensional "bulk" elements....
int & face_index()
Index of the face (a number that uniquely identifies the face in the element)
double zeta_nodal(const unsigned &n, const unsigned &k, const unsigned &i) const
In a FaceElement, the "global" intrinsic coordinate of the element along the boundary,...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
A general Finite Element class.
virtual void assign_all_generic_local_eqn_numbers(const bool &store_local_dof_pt)
Overloaded version of the calculation of the local equation numbers. If the boolean argument is true ...
unsigned dim() const
Return the spatial dimension of the element, i.e. the number of local coordinates required to paramet...
virtual void build_face_element(const int &face_index, FaceElement *face_element_pt)
Function for building a lower dimensional FaceElement on the specified face of the FiniteElement....
unsigned nodal_dimension() const
Return the required Eulerian dimension of the nodes in this element.
A Generalised Element class.
void set_nlagrangian_and_ndim(const unsigned &n_lagrangian, const unsigned &n_dim)
Set # of Lagrangian and Eulerian coordinates.
An OomphLibError object which should be thrown when an run-time error is encountered....
An OomphLibWarning object which should be created as a temporary object to issue a warning....
std::string string(const unsigned &i)
Return the i-th string or "" if the relevant string hasn't been defined.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...