MFEM  v4.2.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
mfem::KnotVector Class Reference

#include <nurbs.hpp>

Collaboration diagram for mfem::KnotVector:
[legend]

Public Member Functions

 KnotVector ()
 Create KnotVector. More...
 
 KnotVector (std::istream &input)
 
 KnotVector (int Order_, int NCP)
 
 KnotVector (const KnotVector &kv)
 
KnotVectoroperator= (const KnotVector &kv)
 
int GetNE () const
 
int GetNKS () const
 
int GetNCP () const
 
int GetOrder () const
 
int Size () const
 
void GetElements ()
 Count the number of elements. More...
 
bool isElement (int i) const
 
double getKnotLocation (double xi, int ni) const
 
int findKnotSpan (double u) const
 
void CalcShape (Vector &shape, int i, double xi) const
 
void CalcDShape (Vector &grad, int i, double xi) const
 
void CalcDnShape (Vector &gradn, int n, int i, double xi) const
 
void CalcD2Shape (Vector &grad2, int i, double xi) const
 
void Difference (const KnotVector &kv, Vector &diff) const
 
void UniformRefinement (Vector &newknots) const
 
KnotVectorDegreeElevate (int t) const
 
void Flip ()
 
void Print (std::ostream &out) const
 
void PrintFunctions (std::ostream &out, int samples=11) const
 
 ~KnotVector ()
 Destroys KnotVector. More...
 
double & operator[] (int i)
 
const double & operator[] (int i) const
 

Protected Attributes

Vector knot
 
int Order
 
int NumOfControlPoints
 
int NumOfElements
 

Static Protected Attributes

static const int MaxOrder = 10
 

Detailed Description

Definition at line 31 of file nurbs.hpp.

Constructor & Destructor Documentation

mfem::KnotVector::KnotVector ( )
inline

Create KnotVector.

Definition at line 41 of file nurbs.hpp.

mfem::KnotVector::KnotVector ( std::istream &  input)

Definition at line 30 of file nurbs.cpp.

mfem::KnotVector::KnotVector ( int  Order_,
int  NCP 
)

Definition at line 37 of file nurbs.cpp.

mfem::KnotVector::KnotVector ( const KnotVector kv)
inline

Definition at line 44 of file nurbs.hpp.

mfem::KnotVector::~KnotVector ( )
inline

Destroys KnotVector.

Definition at line 83 of file nurbs.hpp.

Member Function Documentation

void mfem::KnotVector::CalcD2Shape ( Vector grad2,
int  i,
double  xi 
) const
inline

Definition at line 67 of file nurbs.hpp.

void mfem::KnotVector::CalcDnShape ( Vector gradn,
int  n,
int  i,
double  xi 
) const

Definition at line 243 of file nurbs.cpp.

void mfem::KnotVector::CalcDShape ( Vector grad,
int  i,
double  xi 
) const

Definition at line 186 of file nurbs.cpp.

void mfem::KnotVector::CalcShape ( Vector shape,
int  i,
double  xi 
) const

Definition at line 160 of file nurbs.cpp.

KnotVector * mfem::KnotVector::DegreeElevate ( int  t) const

Return a new KnotVector with elevated degree by repeating the endpoints of the knot vector.

Definition at line 58 of file nurbs.cpp.

void mfem::KnotVector::Difference ( const KnotVector kv,
Vector diff 
) const

Definition at line 374 of file nurbs.cpp.

int mfem::KnotVector::findKnotSpan ( double  u) const

Definition at line 345 of file nurbs.cpp.

void mfem::KnotVector::Flip ( )

Definition at line 113 of file nurbs.cpp.

void mfem::KnotVector::GetElements ( )

Count the number of elements.

Definition at line 101 of file nurbs.cpp.

double mfem::KnotVector::getKnotLocation ( double  xi,
int  ni 
) const
inline

Definition at line 59 of file nurbs.hpp.

int mfem::KnotVector::GetNCP ( ) const
inline

Definition at line 50 of file nurbs.hpp.

int mfem::KnotVector::GetNE ( ) const
inline

Definition at line 48 of file nurbs.hpp.

int mfem::KnotVector::GetNKS ( ) const
inline

Definition at line 49 of file nurbs.hpp.

int mfem::KnotVector::GetOrder ( ) const
inline

Definition at line 51 of file nurbs.hpp.

bool mfem::KnotVector::isElement ( int  i) const
inline

Definition at line 57 of file nurbs.hpp.

KnotVector & mfem::KnotVector::operator= ( const KnotVector kv)

Definition at line 46 of file nurbs.cpp.

double& mfem::KnotVector::operator[] ( int  i)
inline

Definition at line 85 of file nurbs.hpp.

const double& mfem::KnotVector::operator[] ( int  i) const
inline

Definition at line 86 of file nurbs.hpp.

void mfem::KnotVector::Print ( std::ostream &  out) const

Definition at line 126 of file nurbs.cpp.

void mfem::KnotVector::PrintFunctions ( std::ostream &  out,
int  samples = 11 
) const

Definition at line 133 of file nurbs.cpp.

int mfem::KnotVector::Size ( ) const
inline

Definition at line 52 of file nurbs.hpp.

void mfem::KnotVector::UniformRefinement ( Vector newknots) const

Definition at line 87 of file nurbs.cpp.

Member Data Documentation

Vector mfem::KnotVector::knot
protected

Definition at line 36 of file nurbs.hpp.

const int mfem::KnotVector::MaxOrder = 10
staticprotected

Definition at line 34 of file nurbs.hpp.

int mfem::KnotVector::NumOfControlPoints
protected

Definition at line 37 of file nurbs.hpp.

int mfem::KnotVector::NumOfElements
protected

Definition at line 37 of file nurbs.hpp.

int mfem::KnotVector::Order
protected

Definition at line 37 of file nurbs.hpp.


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