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.