MFEM v2.0
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
NURBSExtension Class Reference

#include <nurbs.hpp>

Collaboration diagram for NURBSExtension:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 NURBSExtension (istream &input)
 Read-in a NURBSExtension.
 NURBSExtension (NURBSExtension *parent, int Order)
 NURBSExtension (Mesh *mesh_array[], int num_pieces)
 Construct a NURBSExtension by merging a partitioned NURBS mesh.
void MergeGridFunctions (GridFunction *gf_array[], int num_pieces, GridFunction &merged)
virtual ~NURBSExtension ()
 Destroy a NURBSExtension.
void Print (ostream &out) const
void PrintCharacteristics (ostream &out)
int Dimension ()
int GetNP ()
int GetNBP ()
int GetOrder ()
int GetNKV ()
int GetGNV ()
int GetNV ()
int GetGNE ()
int GetNE ()
int GetGNBE ()
int GetNBE ()
int GetNTotalDof ()
int GetNDof ()
const KnotVectorGetKnotVector (int i) const
void GetElementTopo (Array< Element * > &elements)
void GetBdrElementTopo (Array< Element * > &boundary)
bool HavePatches ()
TableGetElementDofTable ()
TableGetBdrElementDofTable ()
void GetVertexLocalToGlobal (Array< int > &lvert_vert)
void GetElementLocalToGlobal (Array< int > &lelem_elem)
void LoadFE (int i, const FiniteElement *FE)
void LoadBE (int i, const FiniteElement *BE)
const VectorGetWeights () const
VectorGetWeights ()
void ConvertToPatches (const Vector &Nodes)
void SetKnotsFromPatches ()
void SetCoordsFromPatches (Vector &Nodes)
void DegreeElevate (int t)
void UniformRefinement ()
void KnotInsert (Array< KnotVector * > &kv)

Protected Member Functions

int KnotInd (int edge)
KnotVectorKnotVec (int edge)
KnotVectorKnotVec (int edge, int oedge, int *okv)
void CheckPatches ()
void CheckBdrPatches ()
void GetPatchKnotVectors (int p, Array< KnotVector * > &kv)
void GetBdrPatchKnotVectors (int p, Array< KnotVector * > &kv)
void GenerateOffsets ()
void CountElements ()
void CountBdrElements ()
void Get2DElementTopo (Array< Element * > &elements)
void Get3DElementTopo (Array< Element * > &elements)
void Get2DBdrElementTopo (Array< Element * > &boundary)
void Get3DBdrElementTopo (Array< Element * > &boundary)
void GenerateElementDofTable ()
void Generate2DElementDofTable ()
void Generate3DElementDofTable ()
void GenerateBdrElementDofTable ()
void Generate2DBdrElementDofTable ()
void Generate3DBdrElementDofTable ()
void GetPatchNets (const Vector &Nodes)
void Get2DPatchNets (const Vector &Nodes)
void Get3DPatchNets (const Vector &Nodes)
void SetSolutionVector (Vector &Nodes)
void Set2DSolutionVector (Vector &Nodes)
void Set3DSolutionVector (Vector &Nodes)
void GenerateActiveVertices ()
void GenerateActiveBdrElems ()
void MergeWeights (Mesh *mesh_array[], int num_pieces)
 NURBSExtension ()

Protected Attributes

int Order
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
Vector weights
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
Array< NURBSPatch * > patches

Friends

class NURBSPatchMap

Detailed Description

Definition at line 136 of file nurbs.hpp.


Constructor & Destructor Documentation

NURBSExtension::NURBSExtension ( ) [inline, protected]

Definition at line 247 of file nurbs.hpp.

NURBSExtension::NURBSExtension ( istream &  input)
NURBSExtension::NURBSExtension ( NURBSExtension parent,
int  Order 
)
NURBSExtension::NURBSExtension ( Mesh mesh_array[],
int  num_pieces 
)
NURBSExtension::~NURBSExtension ( ) [virtual]

Destroy a NURBSExtension.

Definition at line 1241 of file nurbs.cpp.

References bel_dof, el_dof, knotVectors, own_topo, patches, patchTopo, and Array< T >::Size().


Member Function Documentation

void NURBSExtension::CheckBdrPatches ( ) [protected]
void NURBSExtension::CheckPatches ( ) [protected]
void NURBSExtension::ConvertToPatches ( const Vector Nodes)
void NURBSExtension::CountBdrElements ( ) [protected]

Definition at line 1650 of file nurbs.cpp.

References Dimension(), GetBdrPatchKnotVectors(), GetNBP(), GetNE(), and NumOfBdrElements.

Referenced by NURBSExtension(), and SetKnotsFromPatches().

void NURBSExtension::CountElements ( ) [protected]

Definition at line 1632 of file nurbs.cpp.

References Dimension(), GetNE(), GetNP(), GetPatchKnotVectors(), and NumOfElements.

Referenced by NURBSExtension(), and SetKnotsFromPatches().

void NURBSExtension::DegreeElevate ( int  t)

Definition at line 2217 of file nurbs.cpp.

References patches, and Array< T >::Size().

Referenced by Mesh::DegreeElevate().

int NURBSExtension::Dimension ( ) [inline]
void NURBSExtension::Generate2DBdrElementDofTable ( ) [protected]
void NURBSExtension::Generate2DElementDofTable ( ) [protected]
void NURBSExtension::Generate3DBdrElementDofTable ( ) [protected]
void NURBSExtension::Generate3DElementDofTable ( ) [protected]
void NURBSExtension::GenerateActiveBdrElems ( ) [protected]
void NURBSExtension::GenerateActiveVertices ( ) [protected]
void NURBSExtension::GenerateBdrElementDofTable ( ) [protected]
void NURBSExtension::GenerateElementDofTable ( ) [protected]
void NURBSExtension::GenerateOffsets ( ) [protected]
void NURBSExtension::Get2DBdrElementTopo ( Array< Element * > &  boundary) [protected]
void NURBSExtension::Get2DElementTopo ( Array< Element * > &  elements) [protected]
void NURBSExtension::Get2DPatchNets ( const Vector Nodes) [protected]

Definition at line 2272 of file nurbs.cpp.

References GetNP(), patches, NURBSPatchMap::SetPatchDofMap(), Array< T >::SetSize(), and weights.

Referenced by GetPatchNets().

void NURBSExtension::Get3DBdrElementTopo ( Array< Element * > &  boundary) [protected]
void NURBSExtension::Get3DElementTopo ( Array< Element * > &  elements) [protected]
void NURBSExtension::Get3DPatchNets ( const Vector Nodes) [protected]

Definition at line 2299 of file nurbs.cpp.

References GetNP(), patches, NURBSPatchMap::SetPatchDofMap(), Array< T >::SetSize(), and weights.

Referenced by GetPatchNets().

Table* NURBSExtension::GetBdrElementDofTable ( ) [inline]

Definition at line 295 of file nurbs.hpp.

References bel_dof.

Referenced by FiniteElementSpace::UpdateNURBS().

void NURBSExtension::GetBdrElementTopo ( Array< Element * > &  boundary)
void NURBSExtension::GetBdrPatchKnotVectors ( int  p,
Array< KnotVector * > &  kv 
) [protected]
Table* NURBSExtension::GetElementDofTable ( ) [inline]

Definition at line 294 of file nurbs.hpp.

References el_dof.

Referenced by FiniteElementSpace::UpdateNURBS().

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

Definition at line 2113 of file nurbs.cpp.

References activeElem, GetGNE(), GetNE(), and Array< T >::SetSize().

Referenced by MergeGridFunctions(), MergeWeights(), and Mesh::Mesh().

void NURBSExtension::GetElementTopo ( Array< Element * > &  elements)
int NURBSExtension::GetGNBE ( ) [inline]

Definition at line 279 of file nurbs.hpp.

References NumOfBdrElements.

Referenced by GenerateActiveBdrElems(), and PrintCharacteristics().

int NURBSExtension::GetGNE ( ) [inline]
int NURBSExtension::GetGNV ( ) [inline]

Definition at line 275 of file nurbs.hpp.

References NumOfVertices.

Referenced by GenerateActiveVertices(), GetVertexLocalToGlobal(), and PrintCharacteristics().

const KnotVector* NURBSExtension::GetKnotVector ( int  i) const [inline]

Definition at line 286 of file nurbs.hpp.

References knotVectors.

Referenced by NURBSExtension().

int NURBSExtension::GetNBE ( ) [inline]

Definition at line 280 of file nurbs.hpp.

References NumOfActiveBdrElems.

Referenced by GetBdrElementTopo(), Mesh::Load(), PrintCharacteristics(), and Mesh::UpdateNURBS().

int NURBSExtension::GetNBP ( ) [inline]
int NURBSExtension::GetNDof ( ) [inline]
int NURBSExtension::GetNE ( ) [inline]
int NURBSExtension::GetNKV ( ) [inline]

Definition at line 273 of file nurbs.hpp.

References NumOfKnotVectors.

Referenced by Mesh::KnotInsert(), NURBSExtension(), and PrintCharacteristics().

int NURBSExtension::GetNP ( ) [inline]
int NURBSExtension::GetNTotalDof ( ) [inline]

Definition at line 282 of file nurbs.hpp.

References NumOfDofs.

Referenced by GenerateElementDofTable(), and PrintCharacteristics().

int NURBSExtension::GetNV ( ) [inline]
int NURBSExtension::GetOrder ( ) [inline]
void NURBSExtension::GetPatchKnotVectors ( int  p,
Array< KnotVector * > &  kv 
) [protected]
void NURBSExtension::GetPatchNets ( const Vector Nodes) [protected]

Definition at line 2260 of file nurbs.cpp.

References Dimension(), Get2DPatchNets(), and Get3DPatchNets().

Referenced by ConvertToPatches().

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

Definition at line 2105 of file nurbs.cpp.

References activeVert, GetGNV(), GetNV(), and Array< T >::SetSize().

Referenced by Mesh::Mesh().

Vector& NURBSExtension::GetWeights ( ) [inline]

Definition at line 305 of file nurbs.hpp.

References weights.

const Vector& NURBSExtension::GetWeights ( ) const [inline]

Definition at line 304 of file nurbs.hpp.

References weights.

bool NURBSExtension::HavePatches ( ) [inline]

Definition at line 292 of file nurbs.hpp.

References patches, and Array< T >::Size().

Referenced by Mesh::Load().

int NURBSExtension::KnotInd ( int  edge) [inline, protected]

Definition at line 450 of file nurbs.hpp.

References edge_to_knot.

Referenced by KnotInsert(), KnotVec(), and NURBSExtension().

void NURBSExtension::KnotInsert ( Array< KnotVector * > &  kv)
KnotVector * NURBSExtension::KnotVec ( int  edge) [inline, protected]
KnotVector * NURBSExtension::KnotVec ( int  edge,
int  oedge,
int *  okv 
) [inline, protected]

Definition at line 461 of file nurbs.hpp.

References edge_to_knot, and knotVectors.

void NURBSExtension::LoadBE ( int  i,
const FiniteElement BE 
)
void NURBSExtension::LoadFE ( int  i,
const FiniteElement FE 
)
void NURBSExtension::MergeGridFunctions ( GridFunction gf_array[],
int  num_pieces,
GridFunction merged 
)
void NURBSExtension::MergeWeights ( Mesh mesh_array[],
int  num_pieces 
) [protected]
void NURBSExtension::Print ( ostream &  out) const
void NURBSExtension::PrintCharacteristics ( ostream &  out)
void NURBSExtension::Set2DSolutionVector ( Vector Nodes) [protected]

Definition at line 2341 of file nurbs.cpp.

References GetNDof(), GetNP(), patches, NURBSPatchMap::SetPatchDofMap(), Vector::SetSize(), and weights.

Referenced by SetSolutionVector().

void NURBSExtension::Set3DSolutionVector ( Vector Nodes) [protected]

Definition at line 2368 of file nurbs.cpp.

References GetNDof(), GetNP(), patches, NURBSPatchMap::SetPatchDofMap(), Vector::SetSize(), and weights.

Referenced by SetSolutionVector().

void NURBSExtension::SetCoordsFromPatches ( Vector Nodes)

Definition at line 2170 of file nurbs.cpp.

References patches, Array< T >::SetSize(), SetSolutionVector(), and Array< T >::Size().

Referenced by Mesh::Load(), and Mesh::UpdateNURBS().

void NURBSExtension::SetKnotsFromPatches ( )
void NURBSExtension::SetSolutionVector ( Vector Nodes) [protected]

Definition at line 2329 of file nurbs.cpp.

References Dimension(), Set2DSolutionVector(), and Set3DSolutionVector().

Referenced by SetCoordsFromPatches().

void NURBSExtension::UniformRefinement ( )

Definition at line 2225 of file nurbs.cpp.

References patches, and Array< T >::Size().

Referenced by Mesh::NURBSUniformRefinement().


Friends And Related Function Documentation

friend class NURBSPatchMap [friend]

Definition at line 141 of file nurbs.hpp.


Member Data Documentation

Array<int> NURBSExtension::activeDof [protected]
Array<bool> NURBSExtension::activeElem [protected]

Definition at line 180 of file nurbs.hpp.

Referenced by Generate2DBdrElementDofTable(), Generate3DBdrElementDofTable(), and LoadBE().

Definition at line 178 of file nurbs.hpp.

Referenced by Generate2DBdrElementDofTable(), Generate3DBdrElementDofTable(), and LoadBE().

Definition at line 159 of file nurbs.hpp.

Referenced by CheckBdrPatches(), CheckPatches(), KnotInd(), KnotVec(), NURBSExtension(), and Print().

Definition at line 179 of file nurbs.hpp.

Referenced by Generate2DElementDofTable(), Generate3DElementDofTable(), and LoadFE().

Definition at line 177 of file nurbs.hpp.

Referenced by Generate2DElementDofTable(), Generate3DElementDofTable(), and LoadFE().

Definition at line 150 of file nurbs.hpp.

Referenced by GenerateElementDofTable(), and GetNDof().

Definition at line 149 of file nurbs.hpp.

Referenced by GenerateActiveVertices(), GetNV(), and NURBSExtension().

Definition at line 147 of file nurbs.hpp.

Referenced by CountBdrElements(), GetGNBE(), and NURBSExtension().

int NURBSExtension::NumOfDofs [protected]

Definition at line 147 of file nurbs.hpp.

Referenced by GenerateOffsets(), and GetNTotalDof().

Definition at line 147 of file nurbs.hpp.

Referenced by CountElements(), GetGNE(), NURBSExtension(), Print(), and SetKnotsFromPatches().

Definition at line 145 of file nurbs.hpp.

Referenced by GetNKV(), NURBSExtension(), Print(), PrintCharacteristics(), and SetKnotsFromPatches().

Definition at line 147 of file nurbs.hpp.

Referenced by GenerateOffsets(), and GetGNV().

int NURBSExtension::Order [protected]
int NURBSExtension::own_topo [protected]

Definition at line 158 of file nurbs.hpp.

Referenced by NURBSExtension(), and ~NURBSExtension().

Definition at line 167 of file nurbs.hpp.

Referenced by GenerateOffsets(), and NURBSPatchMap::SetPatchVertexMap().

Definition at line 173 of file nurbs.hpp.

Referenced by GenerateOffsets(), and NURBSPatchMap::SetPatchDofMap().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines