26 #ifndef OOMPH_BIHARMONIC_FLUX_ELEMENTS_HEADER
27 #define OOMPH_BIHARMONIC_FLUX_ELEMENTS_HEADER
31 #include <oomph-lib-config.h>
44 #include "../generic/matrices.h"
45 #include "../generic/elements.h"
46 #include "../generic/hermite_elements.h"
57 template<
unsigned DIM>
80 template<
unsigned DIM>
88 typedef void (*
FluxFctPt)(
const double&
s,
double& flux);
99 throw OomphLibError(
"Don't call empty constructor for PoissonFluxElement",
100 OOMPH_CURRENT_FUNCTION,
101 OOMPH_EXCEPTION_LOCATION);
149 const unsigned&
i)
const
160 void output(std::ostream& outfile,
const unsigned& n_plot) {}
168 void output(FILE* file_pt,
const unsigned& n_plot) {}
181 std::ostream& outfile,
182 const unsigned& nplot,
200 (*Flux0_fct_pt)(
s, flux);
216 (*Flux1_fct_pt)(
s, flux);
unsigned Nface_nodal_dof
the number of nodal degrees of freedom for the face element basis functions
void output(std::ostream &outfile)
Output function – does nothing.
void(* FluxFctPt)(const double &s, double &flux)
definition of flux function pointer, flux must be parametised in terms of the macro element coordinat...
FluxFctPt & flux0_fct_pt()
Access function for the flux0 function pointer.
double J_eulerian(const Vector< double > &s) const
Calculate the Jacobian of the mapping between local and global coordinates at the position s for face...
FluxFctPt Flux1_fct_pt
Function pointer to the prescribed flux.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Add the element's contribution to its residual vector and its Jacobian matrix (note - no contribution...
unsigned Boundary
Boundary ID.
BiharmonicFluxElement(const BiharmonicFluxElement &dummy)=delete
Broken copy constructor.
void operator=(const BiharmonicFluxElement &)=delete
Broken assignment operator.
void output(std::ostream &outfile, const unsigned &n_plot)
Output function – does nothing.
void output(FILE *file_pt)
C-style output function – does nothing.
void compute_error(std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
compute_error – does nothing
FluxFctPt & flux1_fct_pt()
Access function for the flux1 function pointer.
void fill_in_generic_residual_contribution_biharmonic_flux(Vector< double > &residuals)
Add the element's contribution to its residual vector. Flux elements only make contribution to the re...
FluxFctPt Flux0_fct_pt
Function pointer to the prescribed flux.
BiharmonicFluxElement()
Broken empty constructor.
void get_flux1(const double &s, double &flux)
Function to return the prescribed flux at a given macro element coordinate position.
void get_flux0(const double &s, double &flux)
Function to return the prescribed flux at a given macro element coordinate position.
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Add the element's contribution to its residual vector.
void output(FILE *file_pt, const unsigned &n_plot)
C-style output function – does nothing.
BiharmonicFluxElement(FiniteElement *const &bulk_el_pt, const int &face_index, const unsigned &b)
constructor
double zeta_nodal(const unsigned &n, const unsigned &k, const unsigned &i) const
Specify the value of nodal zeta from the face geometry The "global" intrinsic coordinate of the eleme...
virtual void output_fct(std::ostream &outfile, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Output an exact solution over the element.
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,...
FaceGeometry()
Constructor: Call the constructor for the appropriate lower-dimensional BiharmonicElement.
FaceGeometry()
Constructor: Call the constructor for the appropriate lower-dimensional BiharmonicElement.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
A general Finite Element class.
void(* SteadyExactSolutionFctPt)(const Vector< double > &, Vector< double > &)
Function pointer for function that computes vector-valued steady "exact solution" as .
An OomphLibError object which should be thrown when an run-time error is encountered....
/////////////////////////////////////////////////////////////////////// /////////////////////////////...
/////////////////////////////////////////////////////////////////// /////////////////////////////////...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...