MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::ParNURBSExtension Class Reference

#include <nurbs.hpp>

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

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.
 
 NURBSExtension (std::istream &input, bool spacing=false)
 Read-in a 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.
 
 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.
 
 NURBSExtension (Mesh *mesh_array[], int num_pieces)
 Construct a NURBSExtension by merging a partitioned NURBS mesh.
 
NURBSExtensionoperator= (const NURBSExtension &)=delete
 Copy assignment not supported.
 
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.
 
void Print (std::ostream &os, const std::string &comments="") const
 
void PrintCharacteristics (std::ostream &os) 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.
 
int GetOrder () const
 If all orders are identical, return that number. Otherwise, return NURBSFECollection::VariableOrder.
 
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
 
int GetActiveDof (int glob) const
 Returns the local dof number.
 
int DofMap (int dof) const
 Returns the dof index whilst accounting for periodic boundaries.
 
void GetPatchKnotVectors (int p, Array< const KnotVector * > &kv) const
 Returns knotvectors in each dimension for patch p.
 
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 &os) const
 
void DegreeElevate (int rel_degree, int degree=16)
 
void UniformRefinement (int rf=2)
 Refine with optional refinement factor rf. Uniform means refinement is done everywhere by the same factor, although nonuniform spacing functions may be used.
 
void UniformRefinement (Array< int > const &rf)
 
void Coarsen (int cf=2, real_t tol=1.0e-12)
 
void Coarsen (Array< int > const &cf, real_t tol=1.0e-12)
 
void KnotInsert (Array< KnotVector * > &kv)
 
void KnotInsert (Array< Vector * > &kv)
 
void KnotRemove (Array< Vector * > &kv, real_t tol=1.0e-12)
 
void GetCoarseningFactors (Array< int > &f) const
 
int GetElementPatch (int elem) const
 Returns the index of the patch containing element elem.
 
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)
 
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
 
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
 

Detailed Description

Definition at line 607 of file nurbs.hpp.

Constructor & Destructor Documentation

◆ ParNURBSExtension() [1/3]

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

Definition at line 4719 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 4732 of file nurbs.cpp.

◆ ParNURBSExtension() [3/3]

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

Definition at line 4805 of file nurbs.cpp.

◆ ~ParNURBSExtension()

virtual mfem::ParNURBSExtension::~ParNURBSExtension ( )
inlinevirtual

Definition at line 636 of file nurbs.hpp.

Member Data Documentation

◆ gtopo

GroupTopology mfem::ParNURBSExtension::gtopo

Definition at line 621 of file nurbs.hpp.

◆ ldof_group

Array<int> mfem::ParNURBSExtension::ldof_group

Definition at line 623 of file nurbs.hpp.


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