Ideal workflow: given a large parent physical group (e.g. base_negative) that has many disjoint entities, this new postrender operation should create a new physical group for every disjoint entity in the parent (e.g. [base_negative_1, base_negative_2, ...]) and there should be an option to retain the original large physical group for convenience of reference e.g. :remove_object => false). If the parent is retained, either it or the subgroups created must not appear in the mesh or else there will be duplicate mesh element errors in Palace (if this is too difficult, can fall back to not retaining parent group).
An example implementation could be (for sm = SolidModel(...) ) to allow sm["base_negative", 2].grouptag to return as usual (unchanged by this splitting postrender op) but also sm["base_negative_$i", 2].grouptag should work for all $i valid entities under the parent.
This would be helpful for e.g. automatically identifying all unique flux loops in an arbitrarily complicated geometry (all the base_negative_$i 's) for flux simulation or for conveniently referencing all unique vacuum regions in a flip-chip radiative loss simulation.
Ideal workflow: given a large parent physical group (e.g. base_negative) that has many disjoint entities, this new postrender operation should create a new physical group for every disjoint entity in the parent (e.g. [base_negative_1, base_negative_2, ...]) and there should be an option to retain the original large physical group for convenience of reference e.g.
:remove_object => false). If the parent is retained, either it or the subgroups created must not appear in the mesh or else there will be duplicate mesh element errors in Palace (if this is too difficult, can fall back to not retaining parent group).An example implementation could be (for
sm = SolidModel(...)) to allowsm["base_negative", 2].grouptagto return as usual (unchanged by this splitting postrender op) but alsosm["base_negative_$i", 2].grouptagshould work for all $i valid entities under the parent.This would be helpful for e.g. automatically identifying all unique flux loops in an arbitrarily complicated geometry (all the base_negative_$i 's) for flux simulation or for conveniently referencing all unique vacuum regions in a flip-chip radiative loss simulation.