![]() |
MFEM
v4.6.0
Finite element discretization library
|
#include <nurbs.hpp>
Public Member Functions | |
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... | |
NURBSExtension & | operator= (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 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 &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) |
Friends | |
class | ParNURBSExtension |
class | NURBSPatchMap |
mfem::NURBSExtension::NURBSExtension | ( | const NURBSExtension & | orig | ) |
mfem::NURBSExtension::NURBSExtension | ( | std::istream & | input | ) |
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 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
void mfem::NURBSExtension::ConvertToPatches | ( | const Vector & | Nodes | ) |
|
protected |
|
protected |
void mfem::NURBSExtension::DegreeElevate | ( | int | rel_degree, |
int | degree = 16 |
||
) |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
|
protected |
void mfem::NURBSExtension::GetBdrPatchKnotVectors | ( | int | p, |
Array< const KnotVector *> & | kv | ||
) | 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 | ) |
|
protected |
void mfem::NURBSExtension::GetPatchKnotVectors | ( | int | p, |
Array< const KnotVector *> & | kv | ||
) | const |
|
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 & | out | ) | const |
void mfem::NURBSExtension::PrintCharacteristics | ( | std::ostream & | out | ) | const |
void mfem::NURBSExtension::PrintFunctions | ( | const char * | filename, |
int | samples = 11 |
||
) | const |
void mfem::NURBSExtension::PrintSolution | ( | const GridFunction & | sol, |
std::ostream & | out | ||
) | const |
|
protected |
|
protected |
|
protected |
void mfem::NURBSExtension::SetCoordsFromPatches | ( | Vector & | Nodes | ) |
|
protected |
|
protected |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
friend |
|
friend |
|
protected |
|
protected |
Comprehensive set of knotvectors. This set contains a KnotVector for every edge.
|
protected |
|
protected |
|
protected |