libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Private Attributes | Friends | List of all members
MxMeshBoco Class Reference

Detailed Description

Boundary conditions in mixed-element mesh.

MxMeshBoco contains a list (or range) of global element indices to which a certain boundary condition should be applied. In all cases, boundary conditions must concern elements, not vertices.

See Also
MxMesh

#include <mxmeshboco.h>

Inheritance diagram for MxMeshBoco:
[legend]
Collaboration diagram for MxMeshBoco:
[legend]

Public Member Functions

 MxMeshBoco (Mx::BocoType t=Mx::BcUndefined)
 construct unconnected boco
 
 MxMeshBoco (Mx::BocoType t, const Indices &idx)
 construct boco from element list
 
 MxMeshBoco (Mx::BocoType t, uint a, uint b)
 construct boco from element range
 
 MxMeshBoco (const MxMeshBoco &)=default
 default copy constructor
 
 MxMeshBoco (MxMeshBoco &&a)
 move constructor
 
MxMeshBocooperator= (const MxMeshBoco &)=default
 default copy assignment
 
MxMeshBocooperator= (MxMeshBoco &&a)
 move constructor
 
Mx::BocoType bocoType () const
 boundary condition type flag
 
void bocoType (Mx::BocoType t)
 change boundary condition type flag
 
const std::string & name () const
 access section name
 
void rename (const std::string &s)
 change section name
 
int tag () const
 access integer tag
 
void tag (int t)
 set integer tag
 
void appendElement (uint idx)
 append single element
 
void sort ()
 sort elements
 
void appendElements (const Indices &idx)
 append elements for which to apply this BC
 
template<class Iterator >
void appendElements (Iterator begin, Iterator end)
 append elements for which to apply this BC
 
void eraseElements (uint a, uint b)
 erase range of elements
 
void setRange (uint begin, uint end)
 set element range (STL style, first and one-beyond last)
 
bool isRange () const
 return true if element set is a continuous range
 
uint rangeBegin () const
 first element of range, or NotFound if not a range-set
 
uint rangeEnd () const
 one-past-last element of range, or NotFound if not a range-set
 
bool empty () const
 empty region?
 
uint nelements () const
 number of elements in this group
 
void clearElements ()
 remove all elements in set
 
size_t elements (Indices &idx) const
 retrieve set of element indices
 
uint firstElement () const
 return the first element only
 
void shiftElementIndices (int shift, uint threshold=0)
 shift all element indices above threshold by shift
 
void edgeMassflowInlet (Real mdot, Real Ttot, const Vct3 &dir)
 define a total massflow inlet for EDGE
 
void edgeMassflowOutlet (Real mdot)
 define a total massflow outlet for EDGE
 
BinFileNodePtr gbfNode (bool share=true) const
 create a binary file node
 
void fromGbf (const BinFileNodePtr &np, bool digestNode=false)
 retrieve data from gbf file node
 
XmlElement toXml (bool share) const
 convert to xml representation
 
void fromXml (const XmlElement &xe)
 retrieve section from xml representation
 
void toFFA (FFANode &node) const
 export boundary condition data to FFA format
 
void readCgns (CgnsBoco &cb)
 read from CGNS
 
void writeCgns (CgnsBoco &cb) const
 write to CGNS file
 
void writeAbaqus (const Indices &gid, const Indices &eid, std::ostream &os) const
 write element or node set in Abaqus plain text format
 
float megabytes () const
 memory requirements (w/o notes)
 
const ColordisplayColor () const
 access display color
 
void displayColor (const Color &c)
 access display color
 
- Public Member Functions inherited from MxAnnotated
 MxAnnotated ()
 empty annotations
 
 MxAnnotated (const MxAnnotated &)=default
 default copy
 
 MxAnnotated (MxAnnotated &&a)
 move constructor
 
virtual ~MxAnnotated ()
 meant as a base class
 
MxAnnotatedoperator= (const MxAnnotated &)=default
 default copy asignment
 
MxAnnotatedoperator= (MxAnnotated &&a)
 move assignment
 
void note (const XmlElement &xe)
 set the contents of the complete annotation object
 
const XmlElementnote () const
 retrieve xml annotation object
 
void annotate (const XmlElement &xe)
 append annotation element
 
XmlElement::const_iterator noteBegin () const
 iterate over annotations
 
XmlElement::const_iterator noteEnd () const
 iterate over annotations
 
void attribute (const std::string &key, const std::string &value)
 assign attribute, i.e. key-value pair in top-level annotation
 
std::string attribute (const std::string &key) const
 retrieve attribute; return empty string if not present
 

Private Attributes

Indices bcelm
 element indices affected
 
bool bRange
 interprete as element range or list?
 
Mx::BocoType bctype
 boundary condition type
 
std::string bcid
 boco identification
 
Color dispColor
 color to use for graphical display
 
int itag
 tag used to track bc across call to tetgen
 

Friends

class MxMesh
 

Additional Inherited Members

- Protected Attributes inherited from MxAnnotated
XmlElement xnote
 xml annotation
 

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