oomph::OneDimDiscontinuousGalerkin Namespace Reference

Functions

template<unsigned NNODE_1D>
void shape (const double &s, double *Psi)
 
template<unsigned NNODE_1D>
void dshape (const double &s, double *DPsi)
 
template<unsigned NNODE_1D>
void d2shape (const double &s, double *DPsi)
 
template<>
void shape< 2 > (const double &s, double *Psi)
 1D shape functions specialised to linear order (2 Nodes) More...
 
template<>
void dshape< 2 > (const double &s, double *DPsi)
 Derivatives of 1D shape functions specialised to linear order (2 Nodes) More...
 
template<>
void d2shape< 2 > (const double &s, double *DPsi)
 
template<>
void shape< 3 > (const double &s, double *Psi)
 1D shape functions specialised to quadratic order (3 Nodes) More...
 
template<>
void dshape< 3 > (const double &s, double *DPsi)
 
template<>
void d2shape< 3 > (const double &s, double *DPsi)
 
template<>
void shape< 4 > (const double &s, double *Psi)
 1D shape functions specialised to cubic order (4 Nodes) More...
 
template<>
void dshape< 4 > (const double &s, double *DPsi)
 Derivatives of 1D shape functions specialised to cubic order (4 Nodes) More...
 
template<>
void d2shape< 4 > (const double &s, double *DPsi)
 

Detailed Description

One dimensional shape functions and derivatives. Empty – simply establishes the template parameters.

Function Documentation

◆ d2shape()

template<unsigned NNODE_1D>
void oomph::OneDimDiscontinuousGalerkin::d2shape ( const double s,
double DPsi 
)

Definition for second derivatives of 1D Lagrange shape functions. The value of all the shape function derivatives at the local coordinate s are returned in the array DPsi.

764  {
765  // Create an output stream
766  std::ostringstream error_stream;
767 
768  // Create the error message
769  error_stream << "One dimensional Lagrange shape function "
770  << "second derivatives "
771  << "have not been defined "
772  << "for " << NNODE_1D << " nodes." << std::endl;
773 
774  // Throw the error message
775  throw OomphLibError(
776  error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
777  }
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86

References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

◆ d2shape< 2 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::d2shape< 2 > ( const double s,
double DPsi 
)
inline

Second Derivatives of 1D shape functions, specialised to linear order (2 Nodes)

801  {
802  DPsi[0] = 0.0;
803  DPsi[1] = 0.0;
804  }

◆ d2shape< 3 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::d2shape< 3 > ( const double s,
double DPsi 
)
inline

Second Derivatives of 1D shape functions, specialised to quadratic order (3 Nodes)

831  {
832  DPsi[0] = 0.0;
833  DPsi[1] = 0.0;
834  DPsi[2] = 0.0;
835  }

◆ d2shape< 4 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::d2shape< 4 > ( const double s,
double DPsi 
)
inline

Second derivatives of 1D shape functions specialised to cubic order (4 nodes)

862  {
863  DPsi[0] = 0.0;
864  DPsi[1] = 1.0;
865  DPsi[2] = -2.0;
866  DPsi[3] = 1.0;
867  }

◆ dshape()

template<unsigned NNODE_1D>
void oomph::OneDimDiscontinuousGalerkin::dshape ( const double s,
double DPsi 
)

Definition for derivatives of 1D Lagrange shape functions. The value of all the shape function derivatives at the local coordinate s are returned in the array DPsi.

744  {
745  // Create an output stream
746  std::ostringstream error_stream;
747 
748  // Create the error message
749  error_stream << "One dimensional Lagrange shape function derivatives "
750  << "have not been defined "
751  << "for " << NNODE_1D << " nodes." << std::endl;
752 
753  // Throw the error message
754  throw OomphLibError(
755  error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
756  }

References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

◆ dshape< 2 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::dshape< 2 > ( const double s,
double DPsi 
)
inline

Derivatives of 1D shape functions specialised to linear order (2 Nodes)

792  {
793  DPsi[0] = 0.0;
794  DPsi[1] = 0.0;
795  }

◆ dshape< 3 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::dshape< 3 > ( const double s,
double DPsi 
)
inline

Derivatives of 1D shape functions specialised to quadratic order (3 Nodes)

821  {
822  DPsi[0] = 0.0;
823  DPsi[1] = -0.5;
824  DPsi[2] = 0.5;
825  }

Referenced by oomph::QTaylorHoodSpaceTimeElement< DIM >::dshape_and_dtest_eulerian_nst().

◆ dshape< 4 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::dshape< 4 > ( const double s,
double DPsi 
)
inline

Derivatives of 1D shape functions specialised to cubic order (4 Nodes)

851  {
852  DPsi[0] = 0.0;
853  DPsi[1] = s - 0.5;
854  DPsi[2] = -2.0 * s;
855  DPsi[3] = s + 0.5;
856  }
RealScalar s
Definition: level1_cplx_impl.h:130

References s.

◆ shape()

template<unsigned NNODE_1D>
void oomph::OneDimDiscontinuousGalerkin::shape ( const double s,
double Psi 
)

Definition for 1D Lagrange shape functions. The value of all the shape functions at the local coordinate s are returned in the array Psi.

725  {
726  // Create an output stream
727  std::ostringstream error_stream;
728 
729  // Create the error message
730  error_stream << "One dimensional Lagrange shape functions "
731  << "have not been defined "
732  << "for " << NNODE_1D << " nodes." << std::endl;
733 
734  // Throw the error message
735  throw OomphLibError(
736  error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
737  }

References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

◆ shape< 2 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::shape< 2 > ( const double s,
double Psi 
)
inline

1D shape functions specialised to linear order (2 Nodes)

784  {
785  Psi[0] = 0.0;
786  Psi[1] = 1.0;
787  }

◆ shape< 3 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::shape< 3 > ( const double s,
double Psi 
)
inline

1D shape functions specialised to quadratic order (3 Nodes)

811  {
812  Psi[0] = 0.0;
813  Psi[1] = 0.5 * (1.0 - s);
814  Psi[2] = 0.5 * (1.0 + s);
815  }

References s.

Referenced by oomph::QTaylorHoodSpaceTimeElement< DIM >::dshape_and_dtest_eulerian_nst(), and oomph::NavierStokesSpaceTimeTractionElement< ELEMENT >::shape_and_test_at_knot().

◆ shape< 4 >()

template<>
void oomph::OneDimDiscontinuousGalerkin::shape< 4 > ( const double s,
double Psi 
)
inline

1D shape functions specialised to cubic order (4 Nodes)

840  {
841  Psi[0] = 0.0;
842  Psi[1] = 0.5 * s * (s - 1.0);
843  Psi[2] = 1.0 - s * s;
844  Psi[3] = 0.5 * s * (s + 1.0);
845  }

References s.