![]() |
MFEM v4.7.0
Finite element discretization library
|
#include <nurbs.hpp>
Public Member Functions | |
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. | |
NURBSExtension & | operator= (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 KnotVector * | GetKnotVector (int i) const |
void | GetElementTopo (Array< Element * > &elements) const |
void | GetBdrElementTopo (Array< Element * > &boundary) const |
bool | HavePatches () const |
Table * | GetElementDofTable () |
Table * | GetBdrElementDofTable () |
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 Vector & | GetWeights () const |
Vector & | GetWeights () |
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) |
Friends | |
class | ParNURBSExtension |
class | NURBSPatchMap |
mfem::NURBSExtension::NURBSExtension | ( | const NURBSExtension & | orig | ) |
mfem::NURBSExtension::NURBSExtension | ( | std::istream & | input, |
bool | spacing = false ) |
Read-in a NURBSExtension.
mfem::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.
If a knot vector in parent already has order greater than or equal to newOrder, it will be used unmodified.
mfem::NURBSExtension::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.
If a knot vector in parent already has order greater than or equal to the corresponding entry in newOrder, it will be used unmodified.
mfem::NURBSExtension::NURBSExtension | ( | Mesh * | mesh_array[], |
int | num_pieces ) |
Construct a NURBSExtension by merging a partitioned NURBS mesh.
|
virtual |
Destroy a NURBSExtension.
|
protected |
void mfem::NURBSExtension::Coarsen | ( | int | cf = 2, |
real_t | tol = 1.0e-12 ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
void mfem::NURBSExtension::ConvertToPatches | ( | const Vector & | Nodes | ) |
|
protected |
|
protected |
void mfem::NURBSExtension::DegreeElevate | ( | int | rel_degree, |
int | degree = 16 ) |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
void mfem::NURBSExtension::GetBdrPatchKnotVectors | ( | int | p, |
Array< const KnotVector * > & | kv ) const |
|
protected |
void mfem::NURBSExtension::GetCoarseningFactors | ( | Array< int > & | f | ) | const |
|
inline |
void mfem::NURBSExtension::GetElementIJK | ( | int | elem, |
Array< int > & | ijk ) |
void mfem::NURBSExtension::GetElementLocalToGlobal | ( | Array< int > & | lelem_elem | ) |
|
inline |
|
inline |
|
inline |
|
inline |
If all orders are identical, return that number. Otherwise, return NURBSFECollection::VariableOrder.
|
inline |
|
inline |
|
inline |
const Array< int > & mfem::NURBSExtension::GetPatchBdrElements | ( | int | patch | ) |
void mfem::NURBSExtension::GetPatchDofs | ( | const int | patch, |
Array< int > & | dofs ) |
const Array< int > & mfem::NURBSExtension::GetPatchElements | ( | int | patch | ) |
void mfem::NURBSExtension::GetPatchKnotVectors | ( | int | p, |
Array< const KnotVector * > & | kv ) const |
|
protected |
|
protected |
|
inline |
void mfem::NURBSExtension::GetVertexLocalToGlobal | ( | Array< int > & | lvert_vert | ) |
|
inline |
|
inlineprotected |
void mfem::NURBSExtension::KnotInsert | ( | Array< KnotVector * > & | kv | ) |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
void mfem::NURBSExtension::LoadBE | ( | int | i, |
const FiniteElement * | BE ) const |
void mfem::NURBSExtension::LoadFE | ( | int | i, |
const FiniteElement * | FE ) const |
void mfem::NURBSExtension::LoadSolution | ( | std::istream & | input, |
GridFunction & | sol ) const |
void mfem::NURBSExtension::MergeGridFunctions | ( | GridFunction * | gf_array[], |
int | num_pieces, | ||
GridFunction & | merged ) |
|
protected |
|
delete |
Copy assignment not supported.
void mfem::NURBSExtension::Print | ( | std::ostream & | os, |
const std::string & | comments = "" ) const |
void mfem::NURBSExtension::PrintCharacteristics | ( | std::ostream & | os | ) | const |
void mfem::NURBSExtension::PrintFunctions | ( | const char * | filename, |
int | samples = 11 ) const |
void mfem::NURBSExtension::PrintSolution | ( | const GridFunction & | sol, |
std::ostream & | os ) const |
|
protected |
|
protected |
|
protected |
void mfem::NURBSExtension::SetCoordsFromPatches | ( | Vector & | Nodes | ) |
|
protected |
|
protected |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
void mfem::NURBSExtension::UniformRefinement | ( | Array< int > const & | rf | ) |
void mfem::NURBSExtension::UniformRefinement | ( | int | rf = 2 | ) |
|
protected |
|
friend |
|
friend |
|
protected |
|
protected |
Comprehensive set of knotvectors. This set contains a KnotVector for every edge.
|
protected |
|
protected |
|
protected |