![]() |
MFEM
v4.3.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... | |
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 |
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 | 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) |
Protected Attributes | |
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 |
Mesh * | patchTopo |
int | own_topo |
Array< int > | edge_to_knot |
Array< KnotVector * > | knotVectors |
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 |
Table * | el_dof |
Table * | bel_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 |
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 |
void mfem::NURBSExtension::ConvertToPatches | ( | const Vector & | Nodes | ) |
|
protected |
void mfem::NURBSExtension::DegreeElevate | ( | int | rel_degree, |
int | degree = 16 |
||
) |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
|
protected |
|
protected |
|
inline |
void mfem::NURBSExtension::GetElementLocalToGlobal | ( | Array< int > & | lelem_elem | ) |
|
inline |
|
inline |
|
inline |
If all orders are identical, return that number. Otherwise, return NURBSFECollection::VariableOrder.
|
inline |
|
protected |
|
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 |
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 |
void mfem::NURBSExtension::SetCoordsFromPatches | ( | Vector & | Nodes | ) |
|
protected |
|
protected |
|
protected |
|
friend |
|
friend |
|
protected |
|
protected |