32#include "navier_stokes.h"
98 for (
unsigned i = 0;
i <
DIM;
i++)
131 for (
unsigned i = 0;
i <
DIM;
i++)
135 for (
unsigned j = 0;
j <
DIM;
j++)
149 LinearisedQTaylorHoodElement::fill_in_contribution_to_jacobian(
residuals,
216 for (
unsigned i = 0;
i <
DIM;
i++)
249 for (
unsigned i = 0;
i <
DIM;
i++)
253 for (
unsigned j = 0;
j <
DIM;
j++)
267 LinearisedQCrouzeixRaviartElement::fill_in_contribution_to_jacobian(
335 for (
unsigned i = 0;
i <
DIM;
i++)
368 for (
unsigned i = 0;
i <
DIM;
i++)
372 for (
unsigned j = 0;
j <
DIM;
j++)
386 RefineableLinearisedQTaylorHoodElement::fill_in_contribution_to_jacobian(
455 for (
unsigned i = 0;
i <
DIM;
i++)
488 for (
unsigned i = 0;
i <
DIM;
i++)
492 for (
unsigned j = 0;
j <
DIM;
j++)
506 RefineableLinearisedQCrouzeixRaviartElement::
507 fill_in_contribution_to_jacobian(
residuals, jacobian);
Build a LinearisedQCrouzeixRaviart element that inherits from ElementWithExternalElement so that it c...
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.
LinearisedQCrouzeixRaviartMultiDomainElement()
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...
Build a LinearisedQTaylorHood element that inherits from ElementWithExternalElement so that it can "c...
LinearisedQTaylorHoodMultiDomainElement()
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...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
Build a RefineableLinearisedQCrouzeixRaviart element that inherits from ElementWithExternalElement so...
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...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
RefineableLinearisedQCrouzeixRaviartMultiDomainElement()
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...
Build a RefineableLinearisedQTaylorHood element that inherits from ElementWithExternalElement so that...
RefineableLinearisedQTaylorHoodMultiDomainElement()
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...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
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.
void ignore_external_geometric_data()
Do not include any external geometric data when computing the element's Jacobian. This function shoul...
Crouzeix-Raviart elements are Navier-Stokes elements with quadratic interpolation for velocities and ...
Taylor–Hood elements are Navier–Stokes elements with quadratic interpolation for velocities and posit...
Refineable version of linearised axisymmetric quadratic Crouzeix-Raviart elements.
Refineable version of linearised axisymmetric quadratic Taylor-Hood elements.
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).