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::NurbsVolumeRefinementUtilities Class Reference

#include <nurbs_volume_refinement_utilities.h>

Collaboration diagram for Kratos::NurbsVolumeRefinementUtilities:

Public Types

Type Definitions
typedef std::size_t IndexType
 
typedef std::size_t SizeType
 
typedef Node NodeType
 
typedef NurbsVolumeGeometry< PointerVector< NodeType > > NurbsVolumeGeometryType
 
typedef NurbsVolumeGeometryType::Pointer NurbsVolumeGeometryPointerType
 

Static Public Member Functions

Operations
static void KnotRefinementU (NurbsVolumeGeometryType &rGeometry, std::vector< double > &rKnotsUToInsert, PointerVector< NodeType > &rPointsRefined, Vector &rKnotsURefined)
 Refines the u-knotvector of a NurbsVolumeGeometry. More...
 
static void KnotRefinementV (NurbsVolumeGeometryType &rGeometry, std::vector< double > &rKnotsVToInsert, PointerVector< NodeType > &rPointsRefined, Vector &rKnotsVRefined)
 Refines the v-knotvector of a NurbsVolumeGeometry. More...
 
static void KnotRefinementW (NurbsVolumeGeometryType &rGeometry, std::vector< double > &rKnotsWToInsert, PointerVector< NodeType > &rPointsRefined, Vector &rKnotsWRefined)
 Refines the w-knotvector of a NurbsVolumeGeometry. More...
 

Member Typedef Documentation

◆ IndexType

◆ NodeType

◆ NurbsVolumeGeometryPointerType

◆ NurbsVolumeGeometryType

◆ SizeType

Member Function Documentation

◆ KnotRefinementU()

static void Kratos::NurbsVolumeRefinementUtilities::KnotRefinementU ( NurbsVolumeGeometryType rGeometry,
std::vector< double > &  rKnotsUToInsert,
PointerVector< NodeType > &  rPointsRefined,
Vector rKnotsURefined 
)
inlinestatic

Refines the u-knotvector of a NurbsVolumeGeometry.

This function adopts the surface knot-refinement algorithm from Piegl1995 (p.164 Algorithm A5.5). The algorithm is modified to suit trivariant B-Spline volumes.

Parameters
rGeometrysurface to be refined.
rKnotsUToInsertKnots to be inserted.
rPointsRefinedthe nodes for the refined geometry.
rKnotsURefinedthe new knot vector.
Note
This function does not consider weights, thus only B-Spline-Volumes can be refined.

◆ KnotRefinementV()

static void Kratos::NurbsVolumeRefinementUtilities::KnotRefinementV ( NurbsVolumeGeometryType rGeometry,
std::vector< double > &  rKnotsVToInsert,
PointerVector< NodeType > &  rPointsRefined,
Vector rKnotsVRefined 
)
inlinestatic

Refines the v-knotvector of a NurbsVolumeGeometry.

This function adopts the surface knot-refinement algorithm from Piegl1995 (p.164 Algorithm A5.5). The algorithm is modified to suit trivariant B-Spline volumes.

Parameters
rGeometryGeometry to be refined.
rKnotsVToInsertKnots to be inserted.
rPointsRefinedthe nodes for the refined geometry.
rKnotsVRefinedthe new knot vector.
Note
This function does not consider weights, thus only B-Spline-Volumes can be refined.

◆ KnotRefinementW()

static void Kratos::NurbsVolumeRefinementUtilities::KnotRefinementW ( NurbsVolumeGeometryType rGeometry,
std::vector< double > &  rKnotsWToInsert,
PointerVector< NodeType > &  rPointsRefined,
Vector rKnotsWRefined 
)
inlinestatic

Refines the w-knotvector of a NurbsVolumeGeometry.

This function adopts the surface knot-refinement algorithm from Piegl1995 (p.164 Algorithm A5.5). The algorithm is modified to suit trivariant B-Spline volumes.

Parameters
rGeometryGeometry to be refined.
rKnotsWToInsertKnots to be inserted.
rPointsRefinedthe nodes for the refined geometry.
rKnotsWRefinedthe new knot vector.
Note
This function does not consider weights, thus only B-Spline-Volumes can be refined.

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