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

add(item_s)[source]

Add an item or an iterable of items to the OrderedSet

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

add(item_s)[source]

Add an item or an iterable of items to the OrderedSet

checkObjectType(obj)[source]

Checks if the object type is allowed in the OrderedSet

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 _version so 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 cached extractNodeSet() 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

replaceMembers(item_s)[source]

Replace all members in-place (see OrderedSet.replaceMembers()), additionally invalidating the cached extractNodeSet() result, which is stale once the element membership changes.