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

#include <nurbs.hpp>

Inheritance diagram for mfem::ParNURBSExtension:
Collaboration diagram for mfem::ParNURBSExtension:

Public Member Functions

 ParNURBSExtension (const ParNURBSExtension &orig)
 ParNURBSExtension (MPI_Comm comm, NURBSExtension *parent, int *partitioning, const Array< bool > &active_bel)
 ParNURBSExtension (NURBSExtension *parent, const ParNURBSExtension *par_parent)
virtual ~ParNURBSExtension ()
- Public Member Functions inherited from mfem::NURBSExtension
 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)

Public Attributes

GroupTopology gtopo
Array< int > ldof_group

Additional Inherited Members

- Protected Member Functions inherited from mfem::NURBSExtension
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 inherited from mfem::NURBSExtension
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
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
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

Detailed Description

Definition at line 507 of file nurbs.hpp.

Constructor & Destructor Documentation

◆ ParNURBSExtension() [1/3]

mfem::ParNURBSExtension::ParNURBSExtension ( const ParNURBSExtension orig)

Definition at line 4139 of file nurbs.cpp.

◆ ParNURBSExtension() [2/3]

mfem::ParNURBSExtension::ParNURBSExtension ( MPI_Comm  comm,
NURBSExtension parent,
int *  partitioning,
const Array< bool > &  active_bel 

Definition at line 4152 of file nurbs.cpp.

◆ ParNURBSExtension() [3/3]

mfem::ParNURBSExtension::ParNURBSExtension ( NURBSExtension parent,
const ParNURBSExtension par_parent 

Definition at line 4225 of file nurbs.cpp.

◆ ~ParNURBSExtension()

virtual mfem::ParNURBSExtension::~ParNURBSExtension ( )

Definition at line 536 of file nurbs.hpp.

Member Data Documentation

◆ gtopo

GroupTopology mfem::ParNURBSExtension::gtopo

Definition at line 521 of file nurbs.hpp.

◆ ldof_group

Array<int> mfem::ParNURBSExtension::ldof_group

Definition at line 523 of file nurbs.hpp.

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