MFEM  v3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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 (std::istream &input)
 Read-in a NURBSExtension. More...
 
 NURBSExtension (NURBSExtension *parent, int Order)
 
 NURBSExtension (Mesh *mesh_array[], int num_pieces)
 Construct a NURBSExtension by merging a partitioned NURBS mesh. More...
 
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)
 
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 ParNURBSExtension
 
class NURBSPatchMap
 

Detailed Description

Definition at line 150 of file nurbs.hpp.

Constructor & Destructor Documentation

mfem::NURBSExtension::NURBSExtension ( )
inlineprotected

Definition at line 261 of file nurbs.hpp.

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

Read-in a NURBSExtension.

Definition at line 1057 of file nurbs.cpp.

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

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

Definition at line 1183 of file nurbs.cpp.

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

Construct a NURBSExtension by merging a partitioned NURBS mesh.

Definition at line 1220 of file nurbs.cpp.

mfem::NURBSExtension::~NURBSExtension ( )
virtual

Destroy a NURBSExtension.

Definition at line 1260 of file nurbs.cpp.

Member Function Documentation

void mfem::NURBSExtension::CheckBdrPatches ( )
protected

Definition at line 1498 of file nurbs.cpp.

void mfem::NURBSExtension::CheckPatches ( )
protected

Definition at line 1454 of file nurbs.cpp.

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

Definition at line 2180 of file nurbs.cpp.

void mfem::NURBSExtension::CountBdrElements ( )
protected

Definition at line 1669 of file nurbs.cpp.

void mfem::NURBSExtension::CountElements ( )
protected

Definition at line 1651 of file nurbs.cpp.

void mfem::NURBSExtension::DegreeElevate ( int  t)

Definition at line 2236 of file nurbs.cpp.

int mfem::NURBSExtension::Dimension ( )
inline

Definition at line 283 of file nurbs.hpp.

void mfem::NURBSExtension::Generate2DBdrElementDofTable ( )
protected

Definition at line 2028 of file nurbs.cpp.

void mfem::NURBSExtension::Generate2DElementDofTable ( )
protected

Definition at line 1895 of file nurbs.cpp.

void mfem::NURBSExtension::Generate3DBdrElementDofTable ( )
protected

Definition at line 2069 of file nurbs.cpp.

void mfem::NURBSExtension::Generate3DElementDofTable ( )
protected

Definition at line 1946 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateActiveBdrElems ( )
protected

Definition at line 1384 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateActiveVertices ( )
protected

Definition at line 1321 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateBdrElementDofTable ( )
protected

Definition at line 2009 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateElementDofTable ( )
protected

Definition at line 1865 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateOffsets ( )
protected

Definition at line 1564 of file nurbs.cpp.

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

Definition at line 1796 of file nurbs.cpp.

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

Definition at line 1701 of file nurbs.cpp.

void mfem::NURBSExtension::Get2DPatchNets ( const Vector Nodes)
protected

Definition at line 2291 of file nurbs.cpp.

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

Definition at line 1827 of file nurbs.cpp.

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

Definition at line 1737 of file nurbs.cpp.

void mfem::NURBSExtension::Get3DPatchNets ( const Vector Nodes)
protected

Definition at line 2318 of file nurbs.cpp.

Table* mfem::NURBSExtension::GetBdrElementDofTable ( )
inline

Definition at line 309 of file nurbs.hpp.

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

Definition at line 1782 of file nurbs.cpp.

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

Definition at line 1545 of file nurbs.cpp.

Table* mfem::NURBSExtension::GetElementDofTable ( )
inline

Definition at line 308 of file nurbs.hpp.

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

Definition at line 2132 of file nurbs.cpp.

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

Definition at line 1687 of file nurbs.cpp.

int mfem::NURBSExtension::GetGNBE ( )
inline

Definition at line 293 of file nurbs.hpp.

int mfem::NURBSExtension::GetGNE ( )
inline

Definition at line 291 of file nurbs.hpp.

int mfem::NURBSExtension::GetGNV ( )
inline

Definition at line 289 of file nurbs.hpp.

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

Definition at line 300 of file nurbs.hpp.

int mfem::NURBSExtension::GetNBE ( )
inline

Definition at line 294 of file nurbs.hpp.

int mfem::NURBSExtension::GetNBP ( )
inline

Definition at line 285 of file nurbs.hpp.

int mfem::NURBSExtension::GetNDof ( )
inline

Definition at line 297 of file nurbs.hpp.

int mfem::NURBSExtension::GetNE ( )
inline

Definition at line 292 of file nurbs.hpp.

int mfem::NURBSExtension::GetNKV ( )
inline

Definition at line 287 of file nurbs.hpp.

int mfem::NURBSExtension::GetNP ( )
inline

Definition at line 284 of file nurbs.hpp.

int mfem::NURBSExtension::GetNTotalDof ( )
inline

Definition at line 296 of file nurbs.hpp.

int mfem::NURBSExtension::GetNV ( )
inline

Definition at line 290 of file nurbs.hpp.

int mfem::NURBSExtension::GetOrder ( )
inline

Definition at line 286 of file nurbs.hpp.

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

Definition at line 1524 of file nurbs.cpp.

void mfem::NURBSExtension::GetPatchNets ( const Vector Nodes)
protected

Definition at line 2279 of file nurbs.cpp.

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

Definition at line 2124 of file nurbs.cpp.

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

Definition at line 318 of file nurbs.hpp.

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

Definition at line 319 of file nurbs.hpp.

bool mfem::NURBSExtension::HavePatches ( )
inline

Definition at line 306 of file nurbs.hpp.

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

Definition at line 464 of file nurbs.hpp.

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

Definition at line 2252 of file nurbs.cpp.

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

Definition at line 470 of file nurbs.hpp.

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

Definition at line 475 of file nurbs.hpp.

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

Definition at line 2160 of file nurbs.cpp.

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

Definition at line 2140 of file nurbs.cpp.

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

Definition at line 1429 of file nurbs.cpp.

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

Definition at line 1406 of file nurbs.cpp.

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

Definition at line 1275 of file nurbs.cpp.

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

Definition at line 1296 of file nurbs.cpp.

void mfem::NURBSExtension::Set2DSolutionVector ( Vector Nodes)
protected

Definition at line 2360 of file nurbs.cpp.

void mfem::NURBSExtension::Set3DSolutionVector ( Vector Nodes)
protected

Definition at line 2387 of file nurbs.cpp.

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

Definition at line 2189 of file nurbs.cpp.

void mfem::NURBSExtension::SetKnotsFromPatches ( )

Definition at line 2197 of file nurbs.cpp.

void mfem::NURBSExtension::SetSolutionVector ( Vector Nodes)
protected

Definition at line 2348 of file nurbs.cpp.

void mfem::NURBSExtension::UniformRefinement ( )

Definition at line 2244 of file nurbs.cpp.

Friends And Related Function Documentation

friend class NURBSPatchMap
friend

Definition at line 155 of file nurbs.hpp.

friend class ParNURBSExtension
friend

Definition at line 153 of file nurbs.hpp.

Member Data Documentation

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

Definition at line 168 of file nurbs.hpp.

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

Definition at line 169 of file nurbs.hpp.

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

Definition at line 167 of file nurbs.hpp.

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

Definition at line 166 of file nurbs.hpp.

Table * mfem::NURBSExtension::bel_dof
protected

Definition at line 189 of file nurbs.hpp.

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

Definition at line 194 of file nurbs.hpp.

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

Definition at line 192 of file nurbs.hpp.

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

Definition at line 179 of file nurbs.hpp.

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

Definition at line 185 of file nurbs.hpp.

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

Definition at line 173 of file nurbs.hpp.

Table* mfem::NURBSExtension::el_dof
protected

Definition at line 189 of file nurbs.hpp.

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

Definition at line 193 of file nurbs.hpp.

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

Definition at line 191 of file nurbs.hpp.

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

Definition at line 180 of file nurbs.hpp.

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

Definition at line 186 of file nurbs.hpp.

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

Definition at line 174 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveBdrElems
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveDofs
protected

Definition at line 164 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveElems
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveVertices
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfBdrElements
protected

Definition at line 161 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfDofs
protected

Definition at line 161 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfElements
protected

Definition at line 161 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfKnotVectors
protected

Definition at line 159 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfVertices
protected

Definition at line 161 of file nurbs.hpp.

int mfem::NURBSExtension::Order
protected

Definition at line 158 of file nurbs.hpp.

int mfem::NURBSExtension::own_topo
protected

Definition at line 172 of file nurbs.hpp.

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

Definition at line 181 of file nurbs.hpp.

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

Definition at line 187 of file nurbs.hpp.

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

Definition at line 196 of file nurbs.hpp.

Mesh* mfem::NURBSExtension::patchTopo
protected

Definition at line 171 of file nurbs.hpp.

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

Definition at line 178 of file nurbs.hpp.

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

Definition at line 184 of file nurbs.hpp.

Vector mfem::NURBSExtension::weights
protected

Definition at line 175 of file nurbs.hpp.


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