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.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...