MFEM  v3.3.2
Finite element discretization library
 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 152 of file nurbs.hpp.

Constructor & Destructor Documentation

mfem::NURBSExtension::NURBSExtension ( )
inlineprotected

Definition at line 263 of file nurbs.hpp.

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

Read-in a NURBSExtension.

Definition at line 1163 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 1293 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 1330 of file nurbs.cpp.

mfem::NURBSExtension::~NURBSExtension ( )
virtual

Destroy a NURBSExtension.

Definition at line 1370 of file nurbs.cpp.

Member Function Documentation

void mfem::NURBSExtension::CheckBdrPatches ( )
protected

Definition at line 1639 of file nurbs.cpp.

void mfem::NURBSExtension::CheckPatches ( )
protected

Definition at line 1593 of file nurbs.cpp.

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

Definition at line 2331 of file nurbs.cpp.

void mfem::NURBSExtension::CountBdrElements ( )
protected

Definition at line 1814 of file nurbs.cpp.

void mfem::NURBSExtension::CountElements ( )
protected

Definition at line 1794 of file nurbs.cpp.

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

Definition at line 2391 of file nurbs.cpp.

int mfem::NURBSExtension::Dimension ( )
inline

Definition at line 285 of file nurbs.hpp.

void mfem::NURBSExtension::Generate2DBdrElementDofTable ( )
protected

Definition at line 2175 of file nurbs.cpp.

void mfem::NURBSExtension::Generate2DElementDofTable ( )
protected

Definition at line 2042 of file nurbs.cpp.

void mfem::NURBSExtension::Generate3DBdrElementDofTable ( )
protected

Definition at line 2216 of file nurbs.cpp.

void mfem::NURBSExtension::Generate3DElementDofTable ( )
protected

Definition at line 2093 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateActiveBdrElems ( )
protected

Definition at line 1521 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateActiveVertices ( )
protected

Definition at line 1454 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateBdrElementDofTable ( )
protected

Definition at line 2156 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateElementDofTable ( )
protected

Definition at line 2012 of file nurbs.cpp.

void mfem::NURBSExtension::GenerateOffsets ( )
protected

Definition at line 1707 of file nurbs.cpp.

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

Definition at line 1943 of file nurbs.cpp.

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

Definition at line 1848 of file nurbs.cpp.

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

Definition at line 2446 of file nurbs.cpp.

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

Definition at line 1974 of file nurbs.cpp.

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

Definition at line 1884 of file nurbs.cpp.

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

Definition at line 2473 of file nurbs.cpp.

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

Definition at line 311 of file nurbs.hpp.

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

Definition at line 1929 of file nurbs.cpp.

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

Definition at line 1688 of file nurbs.cpp.

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

Definition at line 310 of file nurbs.hpp.

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

Definition at line 2281 of file nurbs.cpp.

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

Definition at line 1834 of file nurbs.cpp.

int mfem::NURBSExtension::GetGNBE ( )
inline

Definition at line 295 of file nurbs.hpp.

int mfem::NURBSExtension::GetGNE ( )
inline

Definition at line 293 of file nurbs.hpp.

int mfem::NURBSExtension::GetGNV ( )
inline

Definition at line 291 of file nurbs.hpp.

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

Definition at line 302 of file nurbs.hpp.

int mfem::NURBSExtension::GetNBE ( )
inline

Definition at line 296 of file nurbs.hpp.

int mfem::NURBSExtension::GetNBP ( )
inline

Definition at line 287 of file nurbs.hpp.

int mfem::NURBSExtension::GetNDof ( )
inline

Definition at line 299 of file nurbs.hpp.

int mfem::NURBSExtension::GetNE ( )
inline

Definition at line 294 of file nurbs.hpp.

int mfem::NURBSExtension::GetNKV ( )
inline

Definition at line 289 of file nurbs.hpp.

int mfem::NURBSExtension::GetNP ( )
inline

Definition at line 286 of file nurbs.hpp.

int mfem::NURBSExtension::GetNTotalDof ( )
inline

Definition at line 298 of file nurbs.hpp.

int mfem::NURBSExtension::GetNV ( )
inline

Definition at line 292 of file nurbs.hpp.

int mfem::NURBSExtension::GetOrder ( )
inline

Definition at line 288 of file nurbs.hpp.

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

Definition at line 1667 of file nurbs.cpp.

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

Definition at line 2434 of file nurbs.cpp.

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

Definition at line 2271 of file nurbs.cpp.

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

Definition at line 320 of file nurbs.hpp.

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

Definition at line 321 of file nurbs.hpp.

bool mfem::NURBSExtension::HavePatches ( )
inline

Definition at line 308 of file nurbs.hpp.

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

Definition at line 474 of file nurbs.hpp.

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

Definition at line 2407 of file nurbs.cpp.

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

Definition at line 480 of file nurbs.hpp.

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

Definition at line 485 of file nurbs.hpp.

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

Definition at line 2311 of file nurbs.cpp.

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

Definition at line 2291 of file nurbs.cpp.

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

Definition at line 1568 of file nurbs.cpp.

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

Definition at line 1543 of file nurbs.cpp.

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

Definition at line 1394 of file nurbs.cpp.

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

Definition at line 1429 of file nurbs.cpp.

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

Definition at line 2515 of file nurbs.cpp.

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

Definition at line 2542 of file nurbs.cpp.

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

Definition at line 2342 of file nurbs.cpp.

void mfem::NURBSExtension::SetKnotsFromPatches ( )

Definition at line 2350 of file nurbs.cpp.

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

Definition at line 2503 of file nurbs.cpp.

void mfem::NURBSExtension::UniformRefinement ( )

Definition at line 2399 of file nurbs.cpp.

Friends And Related Function Documentation

friend class NURBSPatchMap
friend

Definition at line 157 of file nurbs.hpp.

friend class ParNURBSExtension
friend

Definition at line 155 of file nurbs.hpp.

Member Data Documentation

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

Definition at line 170 of file nurbs.hpp.

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

Definition at line 171 of file nurbs.hpp.

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

Definition at line 169 of file nurbs.hpp.

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

Definition at line 168 of file nurbs.hpp.

Table * mfem::NURBSExtension::bel_dof
protected

Definition at line 191 of file nurbs.hpp.

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

Definition at line 196 of file nurbs.hpp.

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

Definition at line 194 of file nurbs.hpp.

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

Definition at line 181 of file nurbs.hpp.

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

Definition at line 187 of file nurbs.hpp.

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

Definition at line 175 of file nurbs.hpp.

Table* mfem::NURBSExtension::el_dof
protected

Definition at line 191 of file nurbs.hpp.

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

Definition at line 195 of file nurbs.hpp.

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

Definition at line 193 of file nurbs.hpp.

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

Definition at line 182 of file nurbs.hpp.

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

Definition at line 188 of file nurbs.hpp.

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

Definition at line 176 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveBdrElems
protected

Definition at line 165 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveDofs
protected

Definition at line 166 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveElems
protected

Definition at line 165 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfActiveVertices
protected

Definition at line 165 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfBdrElements
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfDofs
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfElements
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfKnotVectors
protected

Definition at line 161 of file nurbs.hpp.

int mfem::NURBSExtension::NumOfVertices
protected

Definition at line 163 of file nurbs.hpp.

int mfem::NURBSExtension::Order
protected

Definition at line 160 of file nurbs.hpp.

int mfem::NURBSExtension::own_topo
protected

Definition at line 174 of file nurbs.hpp.

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

Definition at line 183 of file nurbs.hpp.

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

Definition at line 189 of file nurbs.hpp.

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

Definition at line 198 of file nurbs.hpp.

Mesh* mfem::NURBSExtension::patchTopo
protected

Definition at line 173 of file nurbs.hpp.

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

Definition at line 180 of file nurbs.hpp.

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

Definition at line 186 of file nurbs.hpp.

Vector mfem::NURBSExtension::weights
protected

Definition at line 177 of file nurbs.hpp.


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