15 #include "apfDynamicArray.h"
51 void fix(
Numbering* n, MeshEntity* e,
int node,
int component,
bool fixed);
153 DynamicArray<Node>& on,
186 NewArray<long>& numbers);
void fix(Numbering *n, MeshEntity *e, int node, int component, bool fixed)
Set the fixed/free status of a degree of freedom,.
Numbering * numberOverlapDimension(Mesh *mesh, const char *name, int dim)
number all local entities of a given dimension
int adjReorder(Numbering *num, Sharing *sharing=NULL)
like apf::reorder, but numbers all free nodal components
NumberingOf< long > GlobalNumbering
Global numberings use 64-bit integers.
void getNodesOnClosure(Mesh *m, ModelEntity *me, DynamicArray< Node > &on, FieldShape *sh=0)
get nodes on the closure of a model entity
MeshEntity * entity
unique entity to which the node is associated
bool isPrintable(Field *f)
Checks whether a Field/Numbering/GlobalNumbering is complete and therefore printable to visualization...
Numbering * numberElements(Mesh *mesh, const char *name)
number the local elements
Describes field distribution and shape functions.
void destroyNumbering(Numbering *n)
Destroy a Numbering.
void synchronize(Field *f, Sharing *shr=0)
Synchronize field values along partition boundary.
void destroyGlobalNumbering(GlobalNumbering *n)
destroy a global numbering
int naiveOrder(Numbering *num, Sharing *sharing=NULL)
number all components by simple iteration
int NaiveOrder(Numbering *num)
todo : mark as deprecated
int getElementNumbers(Numbering *n, MeshEntity *e, NewArray< int > &numbers)
returns the node numbers of an element
Numbering * numberOwnedDimension(Mesh *mesh, const char *name, int dim, Sharing *shr=0)
number the local owned entities of a given dimension
GlobalNumbering * makeGlobal(Numbering *n, bool destroy=true)
converts a local numbering into a global numbering.
int node
which node on the entity it is
Interface to a mesh part.
int countNodes(Element *e)
Returns the number of element nodes.
FieldShape * getShape(Field *f)
Retrieve the apf::FieldShape used by a field.
void setNumberingOffset(Numbering *num, int off, Sharing *sharing=NULL)
add an offset to all free nodal component numbers
void number(Numbering *n, MeshEntity *e, int node, int component, int number)
number a degree of freedom
apf::Mesh2 Mesh
convenient mesh name
abstract description of entity copy sharing
void SetNumberingOffset(Numbering *num, int off)
todo : mark as deprecated
Numbering * createNumbering(Field *f)
Create a Numbering of degrees of freedom of a Field.
Numbering * numberOverlapNodes(Mesh *mesh, const char *name, FieldShape *s=0)
number all local nodes
Mesh * getMesh(Field *f)
Retrieve the Mesh over which a Field is defined.
Field * getField(Numbering *n)
get the field being numbered
int countComponents(Field *f)
Count the number of scalar components in the field's value type.
Numbering * numberOwnedNodes(Mesh *mesh, const char *name, FieldShape *s=0, Sharing *shr=0)
number the local owned nodes
GlobalNumbering * createGlobalNumbering(Mesh *mesh, const char *name, FieldShape *shape, int components=1)
create global numbering
int getNumber(Numbering *n, MeshEntity *e, int node, int component)
get a degree of freedom number
NumberingOf< int > Numbering
Numbering is meant to be a 32-bit local numbering.
int countFixed(Numbering *n)
return the number of fixed degrees of freedom
const char * getName(Field *f)
Get the name of a Field.
bool isNumbered(Numbering *n, MeshEntity *e, int node, int component)
Check whether a degree of freedom is numbered.
bool isFixed(Numbering *n, MeshEntity *e, int node, int component)
Check whether a degree of freedom is fixed.
MeshTag * reorder(Mesh *mesh, const char *name)
Number by adjacency graph traversal.
void getNodes(Numbering *n, DynamicArray< Node > &nodes)
get an array of numbered nodes
int AdjReorder(Numbering *num)
todo : mark as deprecated