![]() |
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.
|
#include <nurbs_volume_shape_functions.h>
Public Types | |
Type Definitions | |
| typedef std::size_t | IndexType |
| typedef std::size_t | SizeType |
Public Member Functions | |
Life Cycle | |
| NurbsVolumeShapeFunction () | |
| Default constructor. More... | |
| NurbsVolumeShapeFunction (const SizeType PolynomialDegreeU, const SizeType PolynomialDegreeV, const SizeType PolynomialDegreeW, const SizeType DerivativeOrder) | |
Operators | |
| double | operator() (const IndexType ControlPointIndex, const IndexType DerivativeRow) const |
| double | operator() (const IndexType ControlPointIndexU, const IndexType ControlPointIndexV, const IndexType ControlPointIndexW, const IndexType DerivativeRow) const |
Static Public Member Functions | |
Static Operations | |
| static SizeType | NumberOfShapeFunctionRows (const SizeType DerivativeOrder) |
| Returns the number of shape function rows for a given order. More... | |
| static IndexType | IndexOfShapeFunctionRow (const SizeType DerivativeOrderU, const SizeType DerivativeOrderV, const SizeType DerivativeOrderW) |
| Returns the index of the shape function row for the given derivative indices. More... | |
Operations | |
| void | ResizeDataContainers (const SizeType PolynomialDegreeU, const SizeType PolynomialDegreeV, const SizeType PolynomialDegreeW, const SizeType DerivativeOrder) |
| Prepares the required shape function data containers. More... | |
| SizeType | PolynomialDegreeU () const |
| SizeType | PolynomialDegreeV () const |
| SizeType | PolynomialDegreeW () const |
| SizeType | DerivativeOrder () const |
| SizeType | NumberOfShapeFunctionRows () const |
| SizeType | NumberOfNonzeroControlPointsU () const |
| SizeType | NumberOfNonzeroControlPointsV () const |
| SizeType | NumberOfNonzeroControlPointsW () const |
| SizeType | NumberOfNonzeroControlPoints () const |
| std::vector< array_1d< int, 3 > > | NonzeroControlPointIndices () const |
| Computes indices of the nonzero control points. More... | |
| std::vector< int > | ControlPointIndices (SizeType NumberOfControlPointsU, SizeType NumberOfControlPointsV, SizeType NumberOfControlPointsW) const |
| double | ShapeFunctionValue (const IndexType ControlPointIndexU, const IndexType ControlPointIndexV, const IndexType ControlPointIndexW, const SizeType DerivativeRow) const |
| Get shape function value for given CP-indices and derivative row. More... | |
| double | ShapeFunctionValue (const IndexType ControlPointIndex, const SizeType DerivativeOrder) const |
| Get shape function value for given CP-index and derivative row. More... | |
| IndexType | GetFirstNonzeroControlPointU () const |
| IndexType | GetLastNonzeroControlPointU () const |
| IndexType | GetFirstNonzeroControlPointV () const |
| IndexType | GetLastNonzeroControlPointV () const |
| IndexType | GetFirstNonzeroControlPointW () const |
| IndexType | GetLastNonzeroControlPointW () const |
| void | ComputeBSplineShapeFunctionValuesAtSpan (const Vector &rKnotsU, const Vector &rKnotsV, const Vector &rKnotsW, const int SpanU, const int SpanV, const int SpanW, const double ParameterU, const double ParameterV, const double ParameterW) |
| Computes the shape function values at the given parameter and span. More... | |
| void | ComputeBSplineShapeFunctionValues (const Vector &rKnotsU, const Vector &rKnotsV, const Vector &rKnotsW, const double ParameterU, const double ParameterV, const double ParameterW) |
| Computes the shape function values at the given parameter. More... | |
| void | ComputeNurbsShapeFunctionValuesAtSpan (const Vector &rKnotsU, const Vector &rKnotsV, const Vector &rKnotsW, const IndexType SpanU, const IndexType SpanV, const IndexType SpanW, const Vector &Weights, const double ParameterU, const double ParameterV, const double ParameterW) |
| void | ComputeNurbsShapeFunctionValues (const Vector &rKnotsU, const Vector &rKnotsV, const Vector &rKnotsW, const Vector &Weights, const double ParameterU, const double ParameterV, const double ParameterW) |
| typedef std::size_t Kratos::NurbsVolumeShapeFunction::IndexType |
| typedef std::size_t Kratos::NurbsVolumeShapeFunction::SizeType |
|
inline |
Default constructor.
|
inline |
|
inline |
Computes the shape function values at the given parameter.
Finds the span, where the given parameters are located and computes then the shape function values.
|
inline |
Computes the shape function values at the given parameter and span.
|
inline |
|
inline |
|
inline |
| Number | control points in u-direction. |
| Number | control points in v-direction. |
| Number | control points in w-direction. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Returns the index of the shape function row for the given derivative indices.
The shape functions are provided in the following order: N | dN/du, dN/dv, dN/dw | dN^2/du^2, dN^2/du*dv, dN^2/du*dw, dN^2/v^2, dN^2/dv*dw, dN^2/dw^2 | ... 0 | (1,0,0), (0,1,0), (0,0,1) | (2,0,0), (1,1,0), (1,0,1), (0,2,0), (0,1,1), (0,0,2) | ...
| DerivativesOrderU | Derivative order along u-direction. |
| DerivativesOrderV | Derivative order along v-direction. |
| DerivativesOrderW | Derivative order along w-direction. |
|
inline |
Computes indices of the nonzero control points.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Returns the number of shape function rows for a given order.
The shape functions are provided in the following order: N | dN/du, dN/dv, dN/dw | dN^2/du^2, dN^2/du*dv, dN^2/du*dw, dN^2/v^2, dN^2/dv*dw, dN^2/dw^2 | ... 0 | (1,0,0), (0,1,0), (0,0,1) | (2,0,0), (1,1,0), (1,0,1), (0,2,0), (0,1,1), (0,0,2) | ...
| DerivativesOrder | 0: the shape functions N only, 1: N and first derivatives, ... Thus, for DerivativesOrder 0 the return value is 1, for 1 the return value is 4, ... |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Prepares the required shape function data containers.
|
inline |
Get shape function value for given CP-index and derivative row.
|
inline |
Get shape function value for given CP-indices and derivative row.