Sets
Currently, EdelweissFE supports nodesets and elementsets. Since for the usage of nodesets or elementsets in the outputmanagers or constraints the ordering of the respective objects is of importance they are based on a custom ordered set object.
Relevant modules:
edelweissfe.sets.orderedset
edelweissfe.sets.nodeset
edelweissfe.sets.elementset
- class edelweissfe.sets.orderedset.ImmutableOrderedSet(name, item_s)[source]
An immutable ordered set.
- Parameters:
name (str) – A name for the object.
items – A list of items.
Methods
add(item_s)Add an item or an iterable of items to the OrderedSet
checkObjectType(obj)Checks if the object type is allowed in the OrderedSet
clear()forceIter(item_s)Return an iterator object for item_s even if item_s itself is not iterable
get(k[,d])items()keys()pop(k[,d])value.
popitem()as a 2-tuple; but raise KeyError if D is empty.
replaceMembers(item_s)Replace all members in-place, preserving this object's identity.
setdefault(k[,d])update([E, ]**F)If E present and has a .keys() method, does:
values()copy
fromkeys
- class edelweissfe.sets.orderedset.OrderedSet(name, item_s)[source]
An ordered set.
- Parameters:
name (str) – A name for the object.
items – A list of items.
Methods
add(item_s)Add an item or an iterable of items to the OrderedSet
checkObjectType(obj)Checks if the object type is allowed in the OrderedSet
clear()forceIter(item_s)Return an iterator object for item_s even if item_s itself is not iterable
get(k[,d])items()keys()pop(k[,d])value.
popitem()as a 2-tuple; but raise KeyError if D is empty.
replaceMembers(item_s)Replace all members in-place, preserving this object's identity.
setdefault(k[,d])update([E, ]**F)If E present and has a .keys() method, does:
values()copy
fromkeys
- forceIter(item_s)[source]
Return an iterator object for item_s even if item_s itself is not iterable
- replaceMembers(item_s)[source]
Replace all members in-place, preserving this object’s identity.
Any reference held by a consumer (e.g.
self.nSet = model.nodeSets["mySet"]) stays valid after this call – it sees the new members without re-fetching from the model. Bumps_versionso a cached derived array (e.g. a pre-sized load vector) can detect the change lazily.- Parameters:
item_s – The new item or iterable of items replacing the current members.
- class edelweissfe.sets.nodeset.NodeSet(label, nodes)[source]
A basic node set. It has a label, and a list containing the unique nodes.
- Parameters:
label (str) – The unique label for this element set.
nodes – A list of nodes.
Methods
add(item_s)Add an item or an iterable of items to the OrderedSet
checkObjectType(obj)Checks if the object type is allowed in the OrderedSet
clear()forceIter(item_s)Return an iterator object for item_s even if item_s itself is not iterable
get(k[,d])items()keys()pop(k[,d])value.
popitem()as a 2-tuple; but raise KeyError if D is empty.
replaceMembers(item_s)Replace all members in-place, preserving this object's identity.
setdefault(k[,d])update([E, ]**F)If E present and has a .keys() method, does:
values()copy
fromkeys
- class edelweissfe.sets.elementset.ElementSet(label, elements)[source]
A basic element set. It has a label, and a list containing unique elements.
- Parameters:
name – The unique label for this element set.
elements – A list of elements.
label (str)
Methods
add(item_s)Add an item or an iterable of items to the OrderedSet
checkObjectType(obj)Checks if the object type is allowed in the OrderedSet
clear()forceIter(item_s)Return an iterator object for item_s even if item_s itself is not iterable
get(k[,d])items()keys()pop(k[,d])value.
popitem()as a 2-tuple; but raise KeyError if D is empty.
replaceMembers(item_s)Replace all members in-place (see
OrderedSet.replaceMembers()), additionally invalidating the cachedextractNodeSet()result, which is stale once the element membership changes.setdefault(k[,d])update([E, ]**F)If E present and has a .keys() method, does:
values()copy
extractNodeSet
fromkeys