KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::NurbsSurfaceShapeFunction Class Reference

#include <nurbs_surface_shape_functions.h>

Collaboration diagram for Kratos::NurbsSurfaceShapeFunction:

Public Types

Type Definitions
typedef std::size_t IndexType
 
typedef std::size_t SizeType
 

Public Member Functions

Life Cycle
 NurbsSurfaceShapeFunction ()
 Default constructor. More...
 
 NurbsSurfaceShapeFunction (const SizeType PolynomialDegreeU, const SizeType PolynomialDegreeV, const SizeType DerivativeOrder)
 
Operators
double operator() (const IndexType ControlPointIndex, const IndexType DerivativeRow) const
 
double operator() (const IndexType ControlPointIndexU, const IndexType ControlPointIndexV, const IndexType DerivativeRow) const
 

Static Public Member Functions

Static Operations
static constexpr SizeType NumberOfShapeFunctionRows (const SizeType DerivativeOrder) noexcept
 
static constexpr IndexType IndexOfShapeFunctionRow (const SizeType DerivativeOrderU, const SizeType DerivativeOrderV) noexcept
 

Operations

void ResizeDataContainers (const SizeType PolynomialDegreeU, const SizeType PolynomialDegreeV, const SizeType DerivativeOrder)
 
SizeType PolynomialDegreeU () const
 
SizeType PolynomialDegreeV () const
 
SizeType DerivativeOrder () const
 
SizeType NumberOfShapeFunctionRows () const
 
SizeType NumberOfNonzeroControlPointsU () const
 
SizeType NumberOfNonzeroControlPointsV () const
 
SizeType NumberOfNonzeroControlPoints () const
 
std::vector< std::pair< int, int > > NonzeroControlPointIndices () const
 
std::vector< intControlPointIndices (SizeType NumberOfControlPointsU, SizeType NumberOfControlPointsV) const
 
double ShapeFunctionValue (const IndexType ControlPointIndexU, const IndexType ControlPointIndexV, const SizeType DerivativeRow) const
 
double ShapeFunctionValue (const IndexType ControlPointIndex, const SizeType DerivativeOrder) const
 
IndexType GetFirstNonzeroControlPointU () const
 
IndexType GetLastNonzeroControlPointU () const
 
IndexType GetFirstNonzeroControlPointV () const
 
IndexType GetLastNonzeroControlPointV () const
 
void ComputeBSplineShapeFunctionValuesAtSpan (const Vector &rKnotsU, const Vector &rKnotsV, const int SpanU, const int SpanV, const double ParameterU, const double ParameterV)
 
void ComputeBSplineShapeFunctionValues (const Vector &rKnotsU, const Vector &rKnotsV, const double ParameterU, const double ParameterV)
 
void ComputeNurbsShapeFunctionValuesAtSpan (const Vector &rKnotsU, const Vector &rKnotsV, const IndexType SpanU, const IndexType SpanV, const Vector &Weights, const double ParameterU, const double ParameterV)
 
void ComputeNurbsShapeFunctionValues (const Vector &rKnotsU, const Vector &rKnotsV, const Vector &Weights, const double ParameterU, const double ParameterV)
 

Detailed Description

This class is to be initialized to optimize. It creates the containers for the shape functions and the derivatives for an optimized data treatment.

Member Typedef Documentation

◆ IndexType

◆ SizeType

Constructor & Destructor Documentation

◆ NurbsSurfaceShapeFunction() [1/2]

Kratos::NurbsSurfaceShapeFunction::NurbsSurfaceShapeFunction ( )
inline

Default constructor.

◆ NurbsSurfaceShapeFunction() [2/2]

Kratos::NurbsSurfaceShapeFunction::NurbsSurfaceShapeFunction ( const SizeType  PolynomialDegreeU,
const SizeType  PolynomialDegreeV,
const SizeType  DerivativeOrder 
)
inline

Member Function Documentation

◆ ComputeBSplineShapeFunctionValues()

void Kratos::NurbsSurfaceShapeFunction::ComputeBSplineShapeFunctionValues ( const Vector rKnotsU,
const Vector rKnotsV,
const double  ParameterU,
const double  ParameterV 
)
inline

◆ ComputeBSplineShapeFunctionValuesAtSpan()

void Kratos::NurbsSurfaceShapeFunction::ComputeBSplineShapeFunctionValuesAtSpan ( const Vector rKnotsU,
const Vector rKnotsV,
const int  SpanU,
const int  SpanV,
const double  ParameterU,
const double  ParameterV 
)
inline

◆ ComputeNurbsShapeFunctionValues()

void Kratos::NurbsSurfaceShapeFunction::ComputeNurbsShapeFunctionValues ( const Vector rKnotsU,
const Vector rKnotsV,
const Vector Weights,
const double  ParameterU,
const double  ParameterV 
)
inline

◆ ComputeNurbsShapeFunctionValuesAtSpan()

void Kratos::NurbsSurfaceShapeFunction::ComputeNurbsShapeFunctionValuesAtSpan ( const Vector rKnotsU,
const Vector rKnotsV,
const IndexType  SpanU,
const IndexType  SpanV,
const Vector Weights,
const double  ParameterU,
const double  ParameterV 
)
inline

◆ ControlPointIndices()

std::vector<int> Kratos::NurbsSurfaceShapeFunction::ControlPointIndices ( SizeType  NumberOfControlPointsU,
SizeType  NumberOfControlPointsV 
) const
inline

◆ DerivativeOrder()

SizeType Kratos::NurbsSurfaceShapeFunction::DerivativeOrder ( ) const
inline

◆ GetFirstNonzeroControlPointU()

IndexType Kratos::NurbsSurfaceShapeFunction::GetFirstNonzeroControlPointU ( ) const
inline

◆ GetFirstNonzeroControlPointV()

IndexType Kratos::NurbsSurfaceShapeFunction::GetFirstNonzeroControlPointV ( ) const
inline

◆ GetLastNonzeroControlPointU()

IndexType Kratos::NurbsSurfaceShapeFunction::GetLastNonzeroControlPointU ( ) const
inline

◆ GetLastNonzeroControlPointV()

IndexType Kratos::NurbsSurfaceShapeFunction::GetLastNonzeroControlPointV ( ) const
inline

◆ IndexOfShapeFunctionRow()

static constexpr IndexType Kratos::NurbsSurfaceShapeFunction::IndexOfShapeFunctionRow ( const SizeType  DerivativeOrderU,
const SizeType  DerivativeOrderV 
)
inlinestaticconstexprnoexcept

◆ NonzeroControlPointIndices()

std::vector<std::pair<int, int> > Kratos::NurbsSurfaceShapeFunction::NonzeroControlPointIndices ( ) const
inline

◆ NumberOfNonzeroControlPoints()

SizeType Kratos::NurbsSurfaceShapeFunction::NumberOfNonzeroControlPoints ( ) const
inline

◆ NumberOfNonzeroControlPointsU()

SizeType Kratos::NurbsSurfaceShapeFunction::NumberOfNonzeroControlPointsU ( ) const
inline

◆ NumberOfNonzeroControlPointsV()

SizeType Kratos::NurbsSurfaceShapeFunction::NumberOfNonzeroControlPointsV ( ) const
inline

◆ NumberOfShapeFunctionRows() [1/2]

SizeType Kratos::NurbsSurfaceShapeFunction::NumberOfShapeFunctionRows ( ) const
inline

◆ NumberOfShapeFunctionRows() [2/2]

static constexpr SizeType Kratos::NurbsSurfaceShapeFunction::NumberOfShapeFunctionRows ( const SizeType  DerivativeOrder)
inlinestaticconstexprnoexcept

◆ operator()() [1/2]

double Kratos::NurbsSurfaceShapeFunction::operator() ( const IndexType  ControlPointIndex,
const IndexType  DerivativeRow 
) const
inline

◆ operator()() [2/2]

double Kratos::NurbsSurfaceShapeFunction::operator() ( const IndexType  ControlPointIndexU,
const IndexType  ControlPointIndexV,
const IndexType  DerivativeRow 
) const
inline

◆ PolynomialDegreeU()

SizeType Kratos::NurbsSurfaceShapeFunction::PolynomialDegreeU ( ) const
inline

◆ PolynomialDegreeV()

SizeType Kratos::NurbsSurfaceShapeFunction::PolynomialDegreeV ( ) const
inline

◆ ResizeDataContainers()

void Kratos::NurbsSurfaceShapeFunction::ResizeDataContainers ( const SizeType  PolynomialDegreeU,
const SizeType  PolynomialDegreeV,
const SizeType  DerivativeOrder 
)
inline

◆ ShapeFunctionValue() [1/2]

double Kratos::NurbsSurfaceShapeFunction::ShapeFunctionValue ( const IndexType  ControlPointIndex,
const SizeType  DerivativeOrder 
) const
inline

◆ ShapeFunctionValue() [2/2]

double Kratos::NurbsSurfaceShapeFunction::ShapeFunctionValue ( const IndexType  ControlPointIndexU,
const IndexType  ControlPointIndexV,
const SizeType  DerivativeRow 
) const
inline

The documentation for this class was generated from the following file: