[docs]defremove_void_nodes():""" Removes free node from the model, i.e. nodes that are not attached to any element. Returns ------- free_node_tags: list, a list containing all free nodes. """ele_tags=ops.getEleTags()fixed_node_tags=ops.getFixedNodes()all_node_valid=[]foretaginele_tags:nodes=ops.eleNodes(etag)all_node_valid.extend(nodes)all_node_valid+=fixed_node_tagsnode_tags=ops.getNodeTags()node_invalid=list(set(node_tags)-set(all_node_valid))iflen(node_invalid)==0:print(f"Info:: The model has no free nodes!")else:forntaginnode_invalid:ops.remove("node",ntag)print(f"Info:: Free nodes with tags {node_invalid} have been removed!")returnnode_invalid