56 std :: list< Range >inputNodeRanges;
70 std :: list< Range >inputElementRanges;
117 for (
auto &range: ranges ) {
118 if ( range.giveEnd() > maxIndex ) {
119 maxIndex = range.giveEnd();
123 afflictedNodes.
zero();
125 for (
int i = 1; i <= specified.
giveSize(); ++i ) {
126 afflictedNodes.
at( specified.
at(i) ) = 1;
129 for (
auto &range: ranges ) {
130 for (
int i = range.giveStart(); i <= range.giveEnd(); ++i ) {
131 afflictedNodes.
at(i) = 1;
151 afflictedNodes.
zero();
166 for (
int inode = 1; inode <= bNodes.
giveSize(); ++inode ) {
177 for (
int inode = 1; inode <= eNodes.
giveSize(); ++inode ) {
187 for (
int inode = 1; inode <= eNodes.
giveSize(); ++inode ) {
194 for (
int inode = 1; inode <= this->
nodes.
giveSize(); ++inode ) {
195 afflictedNodes.at( this->
nodes.
at(inode) ) = 1;
contextIOResultType storeYourself(DataStream &stream) const
Stores array to output stream.
void enumerate(int maxVal)
Resizes receiver and enumerates from 1 to the maximum value given.
int number
Component number.
IntArray elementEdges
Element numbers + boundary numbers (interleaved).
const IntArray & giveSurfaceList()
Returns list of element surfaces within set.
Domain * domain
Link to domain object, useful for communicating with other FEM components.
int giveNumberOfDofManagers() const
Returns number of dof managers in domain.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
const IntArray & giveBoundaryList()
Returns list of element boundaries within set.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
void zero()
Sets all component to zero.
void setBoundaryList(IntArray newBoundaries)
Sets list of element boundaries within set.
virtual void boundarySurfaceGiveNodes(IntArray &answer, int boundary)=0
Gives the boundary nodes for requested boundary number.
bool mElementListIsSorted
Abstract base class for all finite elements.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
std::vector< int >::iterator end()
#define _IFT_Set_elementBoundaries
Interleaved array of element index + boundary number.
IntArray elementBoundaries
#define _IFT_Set_allElements
Will generate a list of att the elements in the domain)
void findNonzeros(const IntArray &logical)
Finds all indices where the input array is nonzero.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
void setElementList(IntArray newElements)
Sets list of elements within set.
virtual FEInterpolation * giveInterpolation() const
IntArray elements
Element numbers.
virtual int giveNumberOfNodes() const
Returns number of nodes of receiver.
Class representing a general abstraction for finite element interpolation class.
IntArray nodes
Element numbers + surface numbers (interleaved).
#define _IFT_Set_elements
List of specific element indices.
Element * giveElement(int n)
Service for accessing particular domain fe element.
virtual void boundaryEdgeGiveNodes(IntArray &answer, int boundary)=0
Gives the boundary nodes for requested boundary number.
IntArray elementSurfaces
Element numbers + edge numbers (interleaved).
void clear()
Clears the array (zero size).
void setEdgeList(IntArray newEdges)
Sets list of element edges within set (must be edges of 3D elements).
const IntArray & giveNodeList()
Returns list of all nodes within set.
int maximum() const
Finds the maximum component in the array.
const IntArray & giveEdgeList()
Returns list of element edges within set (must be edges of 3D elements).
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void computeIntArray(IntArray &answer, const IntArray &specified, std::list< Range >ranges)
Converts list ranges to list of individual values + individually specified values.
#define _IFT_Set_nodes
List of specific node indices.
void updateLocalNodeNumbering(EntityRenumberingFunctor &f)
Renumbering of nodes (could change due to load balancing).
virtual void updateLocalNumbering(EntityRenumberingFunctor &f)
Local renumbering support.
#define _IFT_Set_elementEdges
Interleaved array of element index + edge number.
contextIOResultType restoreYourself(DataStream &stream)
Restores array from image on stream.
virtual void boundaryGiveNodes(IntArray &answer, int boundary)=0
Gives the boundary nodes for requested boundary number.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
const IntArray & giveSpecifiedNodeList()
Returns list of all directly specified nodes (excluding those generated from elements).
#define _IFT_Set_elementRanges
List of element index ranges.
void addAllElements()
Initialize the element set to contain all elements in the receiver domain.
IntArray totalNodes
Unique set of nodes (computed).
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Domain * giveDomain() const
std::vector< int >::iterator begin()
void setNodeList(IntArray newNodes)
Sets list of nodes within set.
#define _IFT_Set_elementSurfaces
Interleaved array of element index + surface number.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
void clear()
Clears the entire set.
#define _IFT_Set_allNodes
List of specific node indices.
the oofem namespace is to define a context or scope in which all oofem names are defined.
void updateLocalElementNumbering(EntityRenumberingFunctor &f)
Renumbering of nodes (could change due to load balancing).
Node * giveNode(int i) const
Returns reference to the i-th node of element.
bool hasElement(int elem) const
Return True if given element is contained.
#define _IFT_Set_nodeRanges
List of node index ranges.
const IntArray & giveElementList()
Returns list of elements within set.