MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
mfem::NURBSExtension Class Reference

#include <nurbs.hpp>

Inheritance diagram for mfem::NURBSExtension:
[legend]
Collaboration diagram for mfem::NURBSExtension:
[legend]

Public Member Functions

 NURBSExtension (const NURBSExtension &orig)
 Copy constructor: deep copy. More...
 
 NURBSExtension (std::istream &input)
 Read-in a NURBSExtension. More...
 
 NURBSExtension (NURBSExtension *parent, int newOrder)
 Create a NURBSExtension with elevated order by repeating the endpoints of the knot vectors and using uniform weights of 1. More...
 
 NURBSExtension (NURBSExtension *parent, const Array< int > &newOrders)
 Create a NURBSExtension with elevated knot vector orders (by repeating the endpoints of the knot vectors and using uniform weights of 1) as given by the array newOrders. More...
 
 NURBSExtension (Mesh *mesh_array[], int num_pieces)
 Construct a NURBSExtension by merging a partitioned NURBS mesh. More...
 
NURBSExtensionoperator= (const NURBSExtension &)=delete
 Copy assignment not supported. More...
 
void ConnectBoundaries (Array< int > &master, Array< int > &slave)
 
const Array< int > & GetMaster () const
 
Array< int > & GetMaster ()
 
const Array< int > & GetSlave () const
 
Array< int > & GetSlave ()
 
void MergeGridFunctions (GridFunction *gf_array[], int num_pieces, GridFunction &merged)
 
virtual ~NURBSExtension ()
 Destroy a NURBSExtension. More...
 
void Print (std::ostream &out) const
 
void PrintCharacteristics (std::ostream &out) const
 
void PrintFunctions (const char *filename, int samples=11) const
 
int Dimension () const
 
int GetNP () const
 
int GetNBP () const
 
const Array< int > & GetOrders () const
 Read-only access to the orders of all knot vectors. More...
 
int GetOrder () const
 If all orders are identical, return that number. Otherwise, return NURBSFECollection::VariableOrder. More...
 
int GetNKV () const
 
int GetGNV () const
 
int GetNV () const
 
int GetGNE () const
 
int GetNE () const
 
int GetGNBE () const
 
int GetNBE () const
 
int GetNTotalDof () const
 
int GetNDof () const
 
void GetPatchKnotVectors (int p, Array< const KnotVector *> &kv) const
 Returns knotvectors in each dimension for patch p. More...
 
void GetBdrPatchKnotVectors (int p, Array< const KnotVector *> &kv) const
 
const KnotVectorGetKnotVector (int i) const
 
void GetElementTopo (Array< Element *> &elements) const
 
void GetBdrElementTopo (Array< Element *> &boundary) const
 
bool HavePatches () const
 
TableGetElementDofTable ()
 
TableGetBdrElementDofTable ()
 
void GetVertexLocalToGlobal (Array< int > &lvert_vert)
 
void GetElementLocalToGlobal (Array< int > &lelem_elem)
 
void SetPatchAttribute (int i, int attr)
 
int GetPatchAttribute (int i) const
 
void SetPatchBdrAttribute (int i, int attr)
 
int GetPatchBdrAttribute (int i) const
 
void LoadFE (int i, const FiniteElement *FE) const
 
void LoadBE (int i, const FiniteElement *BE) const
 
const VectorGetWeights () const
 
VectorGetWeights ()
 
void ConvertToPatches (const Vector &Nodes)
 
void SetKnotsFromPatches ()
 
void SetCoordsFromPatches (Vector &Nodes)
 
void LoadSolution (std::istream &input, GridFunction &sol) const
 
void PrintSolution (const GridFunction &sol, std::ostream &out) const
 
void DegreeElevate (int rel_degree, int degree=16)
 
void UniformRefinement ()
 
void KnotInsert (Array< KnotVector *> &kv)
 
void KnotInsert (Array< Vector *> &kv)
 
int GetElementPatch (int elem) const
 Returns the index of the patch containing element elem. More...
 
void GetElementIJK (int elem, Array< int > &ijk)
 
void GetPatchDofs (const int patch, Array< int > &dofs)
 
const Array< int > & GetPatchElements (int patch)
 
const Array< int > & GetPatchBdrElements (int patch)
 

Protected Member Functions

int KnotInd (int edge) const
 
KnotVectorKnotVec (int edge)
 
const KnotVectorKnotVec (int edge) const
 
const KnotVectorKnotVec (int edge, int oedge, int *okv) const
 
void CheckPatches ()
 
void CheckBdrPatches ()
 
void CheckKVDirection (int p, Array< int > &kvdir)
 
void CreateComprehensiveKV ()
 
void UpdateUniqueKV ()
 
bool ConsistentKVSets ()
 
void GetPatchKnotVectors (int p, Array< KnotVector *> &kv)
 
void GetBdrPatchKnotVectors (int p, Array< KnotVector *> &kv)
 
void SetOrderFromOrders ()
 
void SetOrdersFromKnotVectors ()
 
void InitDofMap ()
 
void ConnectBoundaries ()
 
void ConnectBoundaries1D (int bnd0, int bnd1)
 
void ConnectBoundaries2D (int bnd0, int bnd1)
 
void ConnectBoundaries3D (int bnd0, int bnd1)
 
int DofMap (int dof) const
 
void GenerateOffsets ()
 
void CountElements ()
 
void CountBdrElements ()
 
void Get1DElementTopo (Array< Element *> &elements) const
 
void Get2DElementTopo (Array< Element *> &elements) const
 
void Get3DElementTopo (Array< Element *> &elements) const
 
void Get1DBdrElementTopo (Array< Element *> &boundary) const
 
void Get2DBdrElementTopo (Array< Element *> &boundary) const
 
void Get3DBdrElementTopo (Array< Element *> &boundary) const
 
void GenerateElementDofTable ()
 
void Generate1DElementDofTable ()
 
void Generate2DElementDofTable ()
 
void Generate3DElementDofTable ()
 
void GenerateBdrElementDofTable ()
 
void Generate1DBdrElementDofTable ()
 
void Generate2DBdrElementDofTable ()
 
void Generate3DBdrElementDofTable ()
 
void GetPatchNets (const Vector &Nodes, int vdim)
 
void Get1DPatchNets (const Vector &Nodes, int vdim)
 
void Get2DPatchNets (const Vector &Nodes, int vdim)
 
void Get3DPatchNets (const Vector &Nodes, int vdim)
 
void SetSolutionVector (Vector &Nodes, int vdim)
 
void Set1DSolutionVector (Vector &Nodes, int vdim)
 
void Set2DSolutionVector (Vector &Nodes, int vdim)
 
void Set3DSolutionVector (Vector &Nodes, int vdim)
 
void GenerateActiveVertices ()
 
void GenerateActiveBdrElems ()
 
void MergeWeights (Mesh *mesh_array[], int num_pieces)
 
void SetPatchToElements ()
 
void SetPatchToBdrElements ()
 
 NURBSExtension ()
 

Protected Attributes

int mOrder
 
Array< int > mOrders
 
int NumOfKnotVectors
 
int NumOfVertices
 
int NumOfElements
 
int NumOfBdrElements
 
int NumOfDofs
 
int NumOfActiveVertices
 
int NumOfActiveElems
 
int NumOfActiveBdrElems
 
int NumOfActiveDofs
 
Array< int > activeVert
 
Array< bool > activeElem
 
Array< bool > activeBdrElem
 
Array< int > activeDof
 
MeshpatchTopo
 
int own_topo
 
Array< int > edge_to_knot
 
Array< KnotVector * > knotVectors
 
Array< KnotVector * > knotVectorsCompr
 
Vector weights
 
Array< int > d_to_d
 
Array< int > master
 
Array< int > slave
 
Array< int > v_meshOffsets
 
Array< int > e_meshOffsets
 
Array< int > f_meshOffsets
 
Array< int > p_meshOffsets
 
Array< int > v_spaceOffsets
 
Array< int > e_spaceOffsets
 
Array< int > f_spaceOffsets
 
Array< int > p_spaceOffsets
 
Tableel_dof
 
Tablebel_dof
 
Array< int > el_to_patch
 
Array< int > bel_to_patch
 
Array2D< int > el_to_IJK
 
Array2D< int > bel_to_IJK
 
std::vector< Array< int > > patch_to_el
 
std::vector< Array< int > > patch_to_bel
 
Array< NURBSPatch * > patches
 

Friends

class ParNURBSExtension
 
class NURBSPatchMap
 

Detailed Description

Definition at line 197 of file nurbs.hpp.

Constructor & Destructor Documentation

◆ NURBSExtension() [1/6]

mfem::NURBSExtension::NURBSExtension ( )
inlineprotected

Definition at line 363 of file nurbs.hpp.

◆ NURBSExtension() [2/6]

mfem::NURBSExtension::NURBSExtension ( const NURBSExtension orig)

Copy constructor: deep copy.

Definition at line 1506 of file nurbs.cpp.

◆ NURBSExtension() [3/6]

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

Read-in a NURBSExtension.

Definition at line 1560 of file nurbs.cpp.

◆ NURBSExtension() [4/6]

mfem::NURBSExtension::NURBSExtension ( NURBSExtension parent,
int  newOrder 
)

Create a NURBSExtension with elevated order by repeating the endpoints of the knot vectors and using uniform weights of 1.

If a knot vector in parent already has order greater than or equal to newOrder, it will be used unmodified.

Definition at line 1726 of file nurbs.cpp.

◆ NURBSExtension() [5/6]

mfem::NURBSExtension::NURBSExtension ( NURBSExtension parent,
const Array< int > &  newOrders 
)

Create a NURBSExtension with elevated knot vector orders (by repeating the endpoints of the knot vectors and using uniform weights of 1) as given by the array newOrders.

If a knot vector in parent already has order greater than or equal to the corresponding entry in newOrder, it will be used unmodified.

Definition at line 1779 of file nurbs.cpp.

◆ NURBSExtension() [6/6]

mfem::NURBSExtension::NURBSExtension ( Mesh mesh_array[],
int  num_pieces 
)

Construct a NURBSExtension by merging a partitioned NURBS mesh.

Definition at line 1834 of file nurbs.cpp.

◆ ~NURBSExtension()

mfem::NURBSExtension::~NURBSExtension ( )
virtual

Destroy a NURBSExtension.

Definition at line 1879 of file nurbs.cpp.

Member Function Documentation

◆ CheckBdrPatches()

void mfem::NURBSExtension::CheckBdrPatches ( )
protected

Definition at line 2379 of file nurbs.cpp.

◆ CheckKVDirection()

void mfem::NURBSExtension::CheckKVDirection ( int  p,
Array< int > &  kvdir 
)
protected

Checks the direction of the knotvectors in the patch based on the patch orientation for patch p returns the direction of the Knotvectors in kvdir.

Definition at line 2407 of file nurbs.cpp.

◆ CheckPatches()

void mfem::NURBSExtension::CheckPatches ( )
protected

Definition at line 2342 of file nurbs.cpp.

◆ ConnectBoundaries() [1/2]

void mfem::NURBSExtension::ConnectBoundaries ( )
protected

Definition at line 2000 of file nurbs.cpp.

◆ ConnectBoundaries() [2/2]

void mfem::NURBSExtension::ConnectBoundaries ( Array< int > &  master,
Array< int > &  slave 
)

Definition at line 1993 of file nurbs.cpp.

◆ ConnectBoundaries1D()

void mfem::NURBSExtension::ConnectBoundaries1D ( int  bnd0,
int  bnd1 
)
protected

Definition at line 2066 of file nurbs.cpp.

◆ ConnectBoundaries2D()

void mfem::NURBSExtension::ConnectBoundaries2D ( int  bnd0,
int  bnd1 
)
protected

Definition at line 2080 of file nurbs.cpp.

◆ ConnectBoundaries3D()

void mfem::NURBSExtension::ConnectBoundaries3D ( int  bnd0,
int  bnd1 
)
protected

Definition at line 2126 of file nurbs.cpp.

◆ ConsistentKVSets()

bool mfem::NURBSExtension::ConsistentKVSets ( )
protected

Checks if the comprehensive array of KnotVectors agrees with the reduced set of KnotVectors. Returns false if it finds a difference.

Definition at line 2603 of file nurbs.cpp.

◆ ConvertToPatches()

void mfem::NURBSExtension::ConvertToPatches ( const Vector Nodes)

Definition at line 3623 of file nurbs.cpp.

◆ CountBdrElements()

void mfem::NURBSExtension::CountBdrElements ( )
protected

Definition at line 2896 of file nurbs.cpp.

◆ CountElements()

void mfem::NURBSExtension::CountElements ( )
protected

Definition at line 2876 of file nurbs.cpp.

◆ CreateComprehensiveKV()

void mfem::NURBSExtension::CreateComprehensiveKV ( )
protected

Creates the comprehensive set of KnotVectors. They are the same for 1D.

Definition at line 2475 of file nurbs.cpp.

◆ DegreeElevate()

void mfem::NURBSExtension::DegreeElevate ( int  rel_degree,
int  degree = 16 
)

Definition at line 3758 of file nurbs.cpp.

◆ Dimension()

int mfem::NURBSExtension::Dimension ( ) const
inline

Definition at line 405 of file nurbs.hpp.

◆ DofMap()

int mfem::NURBSExtension::DofMap ( int  dof) const
inlineprotected

Definition at line 295 of file nurbs.hpp.

◆ Generate1DBdrElementDofTable()

void mfem::NURBSExtension::Generate1DBdrElementDofTable ( )
protected

Definition at line 3428 of file nurbs.cpp.

◆ Generate1DElementDofTable()

void mfem::NURBSExtension::Generate1DElementDofTable ( )
protected

Definition at line 3191 of file nurbs.cpp.

◆ Generate2DBdrElementDofTable()

void mfem::NURBSExtension::Generate2DBdrElementDofTable ( )
protected

Definition at line 3458 of file nurbs.cpp.

◆ Generate2DElementDofTable()

void mfem::NURBSExtension::Generate2DElementDofTable ( )
protected

Definition at line 3234 of file nurbs.cpp.

◆ Generate3DBdrElementDofTable()

void mfem::NURBSExtension::Generate3DBdrElementDofTable ( )
protected

Definition at line 3501 of file nurbs.cpp.

◆ Generate3DElementDofTable()

void mfem::NURBSExtension::Generate3DElementDofTable ( )
protected

Definition at line 3288 of file nurbs.cpp.

◆ GenerateActiveBdrElems()

void mfem::NURBSExtension::GenerateActiveBdrElems ( )
protected

Definition at line 2270 of file nurbs.cpp.

◆ GenerateActiveVertices()

void mfem::NURBSExtension::GenerateActiveVertices ( )
protected

Definition at line 2197 of file nurbs.cpp.

◆ GenerateBdrElementDofTable()

void mfem::NURBSExtension::GenerateBdrElementDofTable ( )
protected

Definition at line 3403 of file nurbs.cpp.

◆ GenerateElementDofTable()

void mfem::NURBSExtension::GenerateElementDofTable ( )
protected

Definition at line 3155 of file nurbs.cpp.

◆ GenerateOffsets()

void mfem::NURBSExtension::GenerateOffsets ( )
protected

Definition at line 2782 of file nurbs.cpp.

◆ Get1DBdrElementTopo()

void mfem::NURBSExtension::Get1DBdrElementTopo ( Array< Element *> &  boundary) const
protected

Definition at line 3063 of file nurbs.cpp.

◆ Get1DElementTopo()

void mfem::NURBSExtension::Get1DElementTopo ( Array< Element *> &  elements) const
protected

Definition at line 2934 of file nurbs.cpp.

◆ Get1DPatchNets()

void mfem::NURBSExtension::Get1DPatchNets ( const Vector Nodes,
int  vdim 
)
protected

Definition at line 3912 of file nurbs.cpp.

◆ Get2DBdrElementTopo()

void mfem::NURBSExtension::Get2DBdrElementTopo ( Array< Element *> &  boundary) const
protected

Definition at line 3086 of file nurbs.cpp.

◆ Get2DElementTopo()

void mfem::NURBSExtension::Get2DElementTopo ( Array< Element *> &  elements) const
protected

Definition at line 2964 of file nurbs.cpp.

◆ Get2DPatchNets()

void mfem::NURBSExtension::Get2DPatchNets ( const Vector Nodes,
int  vdim 
)
protected

Definition at line 3937 of file nurbs.cpp.

◆ Get3DBdrElementTopo()

void mfem::NURBSExtension::Get3DBdrElementTopo ( Array< Element *> &  boundary) const
protected

Definition at line 3117 of file nurbs.cpp.

◆ Get3DElementTopo()

void mfem::NURBSExtension::Get3DElementTopo ( Array< Element *> &  elements) const
protected

Definition at line 3000 of file nurbs.cpp.

◆ Get3DPatchNets()

void mfem::NURBSExtension::Get3DPatchNets ( const Vector Nodes,
int  vdim 
)
protected

Definition at line 3964 of file nurbs.cpp.

◆ GetBdrElementDofTable()

Table* mfem::NURBSExtension::GetBdrElementDofTable ( )
inline
Note
The returned object should NOT be deleted by the caller.

Definition at line 444 of file nurbs.hpp.

◆ GetBdrElementTopo()

void mfem::NURBSExtension::GetBdrElementTopo ( Array< Element *> &  boundary) const

Definition at line 3045 of file nurbs.cpp.

◆ GetBdrPatchKnotVectors() [1/2]

void mfem::NURBSExtension::GetBdrPatchKnotVectors ( int  p,
Array< KnotVector *> &  kv 
)
protected

Definition at line 2717 of file nurbs.cpp.

◆ GetBdrPatchKnotVectors() [2/2]

void mfem::NURBSExtension::GetBdrPatchKnotVectors ( int  p,
Array< const KnotVector *> &  kv 
) const

Definition at line 2737 of file nurbs.cpp.

◆ GetElementDofTable()

Table* mfem::NURBSExtension::GetElementDofTable ( )
inline
Note
The returned object should NOT be deleted by the caller.

Definition at line 442 of file nurbs.hpp.

◆ GetElementIJK()

void mfem::NURBSExtension::GetElementIJK ( int  elem,
Array< int > &  ijk 
)

Returns the Cartesian indices (i,j) in 2D or (i,j,k) in 3D of element elem, in the knot-span tensor product ordering for its patch.

Definition at line 4096 of file nurbs.cpp.

◆ GetElementLocalToGlobal()

void mfem::NURBSExtension::GetElementLocalToGlobal ( Array< int > &  lelem_elem)

Definition at line 3569 of file nurbs.cpp.

◆ GetElementPatch()

int mfem::NURBSExtension::GetElementPatch ( int  elem) const
inline

Returns the index of the patch containing element elem.

Definition at line 492 of file nurbs.hpp.

◆ GetElementTopo()

void mfem::NURBSExtension::GetElementTopo ( Array< Element *> &  elements) const

Definition at line 2916 of file nurbs.cpp.

◆ GetGNBE()

int mfem::NURBSExtension::GetGNBE ( ) const
inline

Definition at line 421 of file nurbs.hpp.

◆ GetGNE()

int mfem::NURBSExtension::GetGNE ( ) const
inline

Definition at line 419 of file nurbs.hpp.

◆ GetGNV()

int mfem::NURBSExtension::GetGNV ( ) const
inline

Definition at line 417 of file nurbs.hpp.

◆ GetKnotVector()

const KnotVector* mfem::NURBSExtension::GetKnotVector ( int  i) const
inline

Definition at line 433 of file nurbs.hpp.

◆ GetMaster() [1/2]

const Array<int>& mfem::NURBSExtension::GetMaster ( ) const
inline

Definition at line 389 of file nurbs.hpp.

◆ GetMaster() [2/2]

Array<int>& mfem::NURBSExtension::GetMaster ( )
inline

Definition at line 390 of file nurbs.hpp.

◆ GetNBE()

int mfem::NURBSExtension::GetNBE ( ) const
inline

Definition at line 422 of file nurbs.hpp.

◆ GetNBP()

int mfem::NURBSExtension::GetNBP ( ) const
inline

Definition at line 407 of file nurbs.hpp.

◆ GetNDof()

int mfem::NURBSExtension::GetNDof ( ) const
inline

Definition at line 425 of file nurbs.hpp.

◆ GetNE()

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

Definition at line 420 of file nurbs.hpp.

◆ GetNKV()

int mfem::NURBSExtension::GetNKV ( ) const
inline

Definition at line 415 of file nurbs.hpp.

◆ GetNP()

int mfem::NURBSExtension::GetNP ( ) const
inline

Definition at line 406 of file nurbs.hpp.

◆ GetNTotalDof()

int mfem::NURBSExtension::GetNTotalDof ( ) const
inline

Definition at line 424 of file nurbs.hpp.

◆ GetNV()

int mfem::NURBSExtension::GetNV ( ) const
inline

Definition at line 418 of file nurbs.hpp.

◆ GetOrder()

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

If all orders are identical, return that number. Otherwise, return NURBSFECollection::VariableOrder.

Definition at line 413 of file nurbs.hpp.

◆ GetOrders()

const Array<int>& mfem::NURBSExtension::GetOrders ( ) const
inline

Read-only access to the orders of all knot vectors.

Definition at line 410 of file nurbs.hpp.

◆ GetPatchAttribute()

int mfem::NURBSExtension::GetPatchAttribute ( int  i) const
inline

Definition at line 455 of file nurbs.hpp.

◆ GetPatchBdrAttribute()

int mfem::NURBSExtension::GetPatchBdrAttribute ( int  i) const
inline

Definition at line 463 of file nurbs.hpp.

◆ GetPatchBdrElements()

const Array< int > & mfem::NURBSExtension::GetPatchBdrElements ( int  patch)

Definition at line 4131 of file nurbs.cpp.

◆ GetPatchDofs()

void mfem::NURBSExtension::GetPatchDofs ( const int  patch,
Array< int > &  dofs 
)

Definition at line 3354 of file nurbs.cpp.

◆ GetPatchElements()

const Array< int > & mfem::NURBSExtension::GetPatchElements ( int  patch)

Definition at line 4124 of file nurbs.cpp.

◆ GetPatchKnotVectors() [1/2]

void mfem::NURBSExtension::GetPatchKnotVectors ( int  p,
Array< KnotVector *> &  kv 
)
protected

Definition at line 2670 of file nurbs.cpp.

◆ GetPatchKnotVectors() [2/2]

void mfem::NURBSExtension::GetPatchKnotVectors ( int  p,
Array< const KnotVector *> &  kv 
) const

Returns knotvectors in each dimension for patch p.

Definition at line 2693 of file nurbs.cpp.

◆ GetPatchNets()

void mfem::NURBSExtension::GetPatchNets ( const Vector Nodes,
int  vdim 
)
protected

Definition at line 3896 of file nurbs.cpp.

◆ GetSlave() [1/2]

const Array<int>& mfem::NURBSExtension::GetSlave ( ) const
inline

Definition at line 391 of file nurbs.hpp.

◆ GetSlave() [2/2]

Array<int>& mfem::NURBSExtension::GetSlave ( )
inline

Definition at line 392 of file nurbs.hpp.

◆ GetVertexLocalToGlobal()

void mfem::NURBSExtension::GetVertexLocalToGlobal ( Array< int > &  lvert_vert)

Definition at line 3559 of file nurbs.cpp.

◆ GetWeights() [1/2]

const Vector& mfem::NURBSExtension::GetWeights ( ) const
inline

Definition at line 470 of file nurbs.hpp.

◆ GetWeights() [2/2]

Vector& mfem::NURBSExtension::GetWeights ( )
inline

Definition at line 471 of file nurbs.hpp.

◆ HavePatches()

bool mfem::NURBSExtension::HavePatches ( ) const
inline

Definition at line 439 of file nurbs.hpp.

◆ InitDofMap()

void mfem::NURBSExtension::InitDofMap ( )
protected

Definition at line 1986 of file nurbs.cpp.

◆ KnotInd()

int mfem::NURBSExtension::KnotInd ( int  edge) const
inlineprotected

Definition at line 688 of file nurbs.hpp.

◆ KnotInsert() [1/2]

void mfem::NURBSExtension::KnotInsert ( Array< KnotVector *> &  kv)

Definition at line 3782 of file nurbs.cpp.

◆ KnotInsert() [2/2]

void mfem::NURBSExtension::KnotInsert ( Array< Vector *> &  kv)

Definition at line 3833 of file nurbs.cpp.

◆ KnotVec() [1/3]

KnotVector * mfem::NURBSExtension::KnotVec ( int  edge)
inlineprotected
Note
The returned object should NOT be deleted by the caller.

Definition at line 694 of file nurbs.hpp.

◆ KnotVec() [2/3]

const KnotVector * mfem::NURBSExtension::KnotVec ( int  edge) const
inlineprotected

Definition at line 699 of file nurbs.hpp.

◆ KnotVec() [3/3]

const KnotVector * mfem::NURBSExtension::KnotVec ( int  edge,
int  oedge,
int *  okv 
) const
inlineprotected

Definition at line 704 of file nurbs.hpp.

◆ LoadBE()

void mfem::NURBSExtension::LoadBE ( int  i,
const FiniteElement BE 
) const

Definition at line 3600 of file nurbs.cpp.

◆ LoadFE()

void mfem::NURBSExtension::LoadFE ( int  i,
const FiniteElement FE 
) const

Definition at line 3579 of file nurbs.cpp.

◆ LoadSolution()

void mfem::NURBSExtension::LoadSolution ( std::istream &  input,
GridFunction sol 
) const

Definition at line 3683 of file nurbs.cpp.

◆ MergeGridFunctions()

void mfem::NURBSExtension::MergeGridFunctions ( GridFunction gf_array[],
int  num_pieces,
GridFunction merged 
)

Definition at line 2317 of file nurbs.cpp.

◆ MergeWeights()

void mfem::NURBSExtension::MergeWeights ( Mesh mesh_array[],
int  num_pieces 
)
protected

Definition at line 2292 of file nurbs.cpp.

◆ operator=()

NURBSExtension& mfem::NURBSExtension::operator= ( const NURBSExtension )
delete

Copy assignment not supported.

◆ Print()

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

Definition at line 1908 of file nurbs.cpp.

◆ PrintCharacteristics()

void mfem::NURBSExtension::PrintCharacteristics ( std::ostream &  out) const

Definition at line 1943 of file nurbs.cpp.

◆ PrintFunctions()

void mfem::NURBSExtension::PrintFunctions ( const char *  filename,
int  samples = 11 
) const

Definition at line 1973 of file nurbs.cpp.

◆ PrintSolution()

void mfem::NURBSExtension::PrintSolution ( const GridFunction sol,
std::ostream &  out 
) const

Definition at line 3720 of file nurbs.cpp.

◆ Set1DSolutionVector()

void mfem::NURBSExtension::Set1DSolutionVector ( Vector Nodes,
int  vdim 
)
protected

Definition at line 4010 of file nurbs.cpp.

◆ Set2DSolutionVector()

void mfem::NURBSExtension::Set2DSolutionVector ( Vector Nodes,
int  vdim 
)
protected

Definition at line 4037 of file nurbs.cpp.

◆ Set3DSolutionVector()

void mfem::NURBSExtension::Set3DSolutionVector ( Vector Nodes,
int  vdim 
)
protected

Definition at line 4065 of file nurbs.cpp.

◆ SetCoordsFromPatches()

void mfem::NURBSExtension::SetCoordsFromPatches ( Vector Nodes)

Definition at line 3634 of file nurbs.cpp.

◆ SetKnotsFromPatches()

void mfem::NURBSExtension::SetKnotsFromPatches ( )

Definition at line 3642 of file nurbs.cpp.

◆ SetOrderFromOrders()

void mfem::NURBSExtension::SetOrderFromOrders ( )
protected

Definition at line 2758 of file nurbs.cpp.

◆ SetOrdersFromKnotVectors()

void mfem::NURBSExtension::SetOrdersFromKnotVectors ( )
protected

Definition at line 2772 of file nurbs.cpp.

◆ SetPatchAttribute()

void mfem::NURBSExtension::SetPatchAttribute ( int  i,
int  attr 
)
inline

Definition at line 451 of file nurbs.hpp.

◆ SetPatchBdrAttribute()

void mfem::NURBSExtension::SetPatchBdrAttribute ( int  i,
int  attr 
)
inline

Definition at line 459 of file nurbs.hpp.

◆ SetPatchToBdrElements()

void mfem::NURBSExtension::SetPatchToBdrElements ( )
protected

Definition at line 4113 of file nurbs.cpp.

◆ SetPatchToElements()

void mfem::NURBSExtension::SetPatchToElements ( )
protected

Definition at line 4102 of file nurbs.cpp.

◆ SetSolutionVector()

void mfem::NURBSExtension::SetSolutionVector ( Vector Nodes,
int  vdim 
)
protected

Definition at line 3994 of file nurbs.cpp.

◆ UniformRefinement()

void mfem::NURBSExtension::UniformRefinement ( )

Definition at line 3774 of file nurbs.cpp.

◆ UpdateUniqueKV()

void mfem::NURBSExtension::UpdateUniqueKV ( )
protected

Updates the unique set of KnotVectors

Definition at line 2525 of file nurbs.cpp.

Friends And Related Function Documentation

◆ NURBSPatchMap

friend class NURBSPatchMap
friend

Definition at line 202 of file nurbs.hpp.

◆ ParNURBSExtension

friend class ParNURBSExtension
friend

Definition at line 200 of file nurbs.hpp.

Member Data Documentation

◆ activeBdrElem

Array<bool> mfem::NURBSExtension::activeBdrElem
protected

Definition at line 216 of file nurbs.hpp.

◆ activeDof

Array<int> mfem::NURBSExtension::activeDof
protected

Definition at line 217 of file nurbs.hpp.

◆ activeElem

Array<bool> mfem::NURBSExtension::activeElem
protected

Definition at line 215 of file nurbs.hpp.

◆ activeVert

Array<int> mfem::NURBSExtension::activeVert
protected

Definition at line 214 of file nurbs.hpp.

◆ bel_dof

Table * mfem::NURBSExtension::bel_dof
protected

Definition at line 248 of file nurbs.hpp.

◆ bel_to_IJK

Array2D<int> mfem::NURBSExtension::bel_to_IJK
protected

Definition at line 253 of file nurbs.hpp.

◆ bel_to_patch

Array<int> mfem::NURBSExtension::bel_to_patch
protected

Definition at line 251 of file nurbs.hpp.

◆ d_to_d

Array<int> mfem::NURBSExtension::d_to_d
protected

Definition at line 232 of file nurbs.hpp.

◆ e_meshOffsets

Array<int> mfem::NURBSExtension::e_meshOffsets
protected

Definition at line 238 of file nurbs.hpp.

◆ e_spaceOffsets

Array<int> mfem::NURBSExtension::e_spaceOffsets
protected

Definition at line 244 of file nurbs.hpp.

◆ edge_to_knot

Array<int> mfem::NURBSExtension::edge_to_knot
protected

Definition at line 221 of file nurbs.hpp.

◆ el_dof

Table* mfem::NURBSExtension::el_dof
protected

Definition at line 248 of file nurbs.hpp.

◆ el_to_IJK

Array2D<int> mfem::NURBSExtension::el_to_IJK
protected

Definition at line 252 of file nurbs.hpp.

◆ el_to_patch

Array<int> mfem::NURBSExtension::el_to_patch
protected

Definition at line 250 of file nurbs.hpp.

◆ f_meshOffsets

Array<int> mfem::NURBSExtension::f_meshOffsets
protected

Definition at line 239 of file nurbs.hpp.

◆ f_spaceOffsets

Array<int> mfem::NURBSExtension::f_spaceOffsets
protected

Definition at line 245 of file nurbs.hpp.

◆ knotVectors

Array<KnotVector *> mfem::NURBSExtension::knotVectors
protected

Set of knotvectors containing unique KnotVectors only

Definition at line 223 of file nurbs.hpp.

◆ knotVectorsCompr

Array<KnotVector *> mfem::NURBSExtension::knotVectorsCompr
protected

Comprehensive set of knotvectors. This set contains a KnotVector for every edge.

Definition at line 226 of file nurbs.hpp.

◆ master

Array<int> mfem::NURBSExtension::master
protected

Definition at line 233 of file nurbs.hpp.

◆ mOrder

int mfem::NURBSExtension::mOrder
protected

Definition at line 205 of file nurbs.hpp.

◆ mOrders

Array<int> mfem::NURBSExtension::mOrders
protected

Definition at line 206 of file nurbs.hpp.

◆ NumOfActiveBdrElems

int mfem::NURBSExtension::NumOfActiveBdrElems
protected

Definition at line 211 of file nurbs.hpp.

◆ NumOfActiveDofs

int mfem::NURBSExtension::NumOfActiveDofs
protected

Definition at line 212 of file nurbs.hpp.

◆ NumOfActiveElems

int mfem::NURBSExtension::NumOfActiveElems
protected

Definition at line 211 of file nurbs.hpp.

◆ NumOfActiveVertices

int mfem::NURBSExtension::NumOfActiveVertices
protected

Definition at line 211 of file nurbs.hpp.

◆ NumOfBdrElements

int mfem::NURBSExtension::NumOfBdrElements
protected

Definition at line 209 of file nurbs.hpp.

◆ NumOfDofs

int mfem::NURBSExtension::NumOfDofs
protected

Definition at line 209 of file nurbs.hpp.

◆ NumOfElements

int mfem::NURBSExtension::NumOfElements
protected

Definition at line 209 of file nurbs.hpp.

◆ NumOfKnotVectors

int mfem::NURBSExtension::NumOfKnotVectors
protected

Definition at line 207 of file nurbs.hpp.

◆ NumOfVertices

int mfem::NURBSExtension::NumOfVertices
protected

Definition at line 209 of file nurbs.hpp.

◆ own_topo

int mfem::NURBSExtension::own_topo
protected

Definition at line 220 of file nurbs.hpp.

◆ p_meshOffsets

Array<int> mfem::NURBSExtension::p_meshOffsets
protected

Definition at line 240 of file nurbs.hpp.

◆ p_spaceOffsets

Array<int> mfem::NURBSExtension::p_spaceOffsets
protected

Definition at line 246 of file nurbs.hpp.

◆ patch_to_bel

std::vector<Array<int> > mfem::NURBSExtension::patch_to_bel
protected

Definition at line 256 of file nurbs.hpp.

◆ patch_to_el

std::vector<Array<int> > mfem::NURBSExtension::patch_to_el
protected

Definition at line 255 of file nurbs.hpp.

◆ patches

Array<NURBSPatch *> mfem::NURBSExtension::patches
protected

Definition at line 258 of file nurbs.hpp.

◆ patchTopo

Mesh* mfem::NURBSExtension::patchTopo
protected

Definition at line 219 of file nurbs.hpp.

◆ slave

Array<int> mfem::NURBSExtension::slave
protected

Definition at line 234 of file nurbs.hpp.

◆ v_meshOffsets

Array<int> mfem::NURBSExtension::v_meshOffsets
protected

Definition at line 237 of file nurbs.hpp.

◆ v_spaceOffsets

Array<int> mfem::NURBSExtension::v_spaceOffsets
protected

Definition at line 243 of file nurbs.hpp.

◆ weights

Vector mfem::NURBSExtension::weights
protected

Definition at line 227 of file nurbs.hpp.


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