32#include "axisym_navier_stokes.h"
66 ElementWithExternalElement::ignore_external_interaction_data();
70 ElementWithExternalElement::ignore_external_geometric_data();
81 const unsigned interaction = 0;
98 for (
unsigned i = 0;
i < 3;
i++)
114 const unsigned interaction = 1;
131 for (
unsigned i = 0;
i < 3;
i++)
135 for (
unsigned j = 0; j < 2; j++)
150 LinearisedAxisymmetricQTaylorHoodElement::fill_in_contribution_to_jacobian(
151 residuals, jacobian);
186 ElementWithExternalElement::ignore_external_interaction_data();
190 ElementWithExternalElement::ignore_external_geometric_data();
201 const unsigned interaction = 0;
218 for (
unsigned i = 0;
i < 3;
i++)
234 const unsigned interaction = 1;
251 for (
unsigned i = 0;
i < 3;
i++)
255 for (
unsigned j = 0; j < 2; j++)
270 LinearisedAxisymmetricQCrouzeixRaviartElement::
271 fill_in_contribution_to_jacobian(residuals, jacobian);
307 ElementWithExternalElement::ignore_external_interaction_data();
311 ElementWithExternalElement::ignore_external_geometric_data();
322 const unsigned interaction = 0;
339 for (
unsigned i = 0;
i < 3;
i++)
355 const unsigned interaction = 1;
372 for (
unsigned i = 0;
i < 3;
i++)
376 for (
unsigned j = 0; j < 2; j++)
391 RefineableLinearisedAxisymmetricQTaylorHoodElement::
392 fill_in_contribution_to_jacobian(residuals, jacobian);
428 ElementWithExternalElement::ignore_external_interaction_data();
432 ElementWithExternalElement::ignore_external_geometric_data();
443 const unsigned interaction = 0;
460 for (
unsigned i = 0;
i < 3;
i++)
476 const unsigned interaction = 1;
493 for (
unsigned i = 0;
i < 3;
i++)
497 for (
unsigned j = 0; j < 2; j++)
512 RefineableLinearisedAxisymmetricQCrouzeixRaviartElement::
513 fill_in_contribution_to_jacobian(residuals, jacobian);
////////////////////////////////////////////////////////////////////// //////////////////////////////...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
LinearisedAxisymmetricQCrouzeixRaviartMultiDomainElement()
Constructor: call the underlying constructors.
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
////////////////////////////////////////////////////////////////////// //////////////////////////////...
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
LinearisedAxisymmetricQTaylorHoodMultiDomainElement()
Constructor: call the underlying constructors.
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
////////////////////////////////////////////////////////////////////// //////////////////////////////...
RefineableLinearisedAxisymmetricQCrouzeixRaviartMultiDomainElement()
Constructor: call the underlying constructors.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
////////////////////////////////////////////////////////////////////// //////////////////////////////...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
RefineableLinearisedAxisymmetricQTaylorHoodMultiDomainElement()
Constructor: call the underlying constructors.
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
double interpolated_dudx_axi_nst(const Vector< double > &s, const unsigned &i, const unsigned &j) const
Return FE interpolated derivatives of velocity component u[i] w.r.t spatial global coordinate directi...
void interpolated_u_axi_nst(const Vector< double > &s, Vector< double > &veloc) const
Compute vector of FE interpolated velocity u at local coordinate s.
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////
This is a base class for all elements that require external sources (e.g. FSI, multi-domain problems ...
Vector< double > & external_element_local_coord(const unsigned &interaction_index, const unsigned &ipt)
Access function to get source element's local coords for specified interaction index at specified int...
void set_ninteraction(const unsigned &n_interaction)
Set the number of interactions in the element This function is usually called in the specific element...
void fill_in_jacobian_from_external_interaction_by_fd(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Calculate the contributions to the jacobian from all external interaction degrees of freedom (geometr...
FiniteElement *& external_element_pt(const unsigned &interaction_index, const unsigned &ipt)
Access function to source element for specified interaction index at specified integration point.
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...