smenu.addItem(oofmenu.OOFMenuItem( 'Initialize', callback = _parallel_init, secret=1, no_log=1, threadable = oofmenu.PARALLEL_THREADABLE, params = parameter.ParameterGroup( AutomaticNameParameter('name', value=automatic.automatic, resolver=skeletonmenu.skeletonNameResolver, tip="Name of the new skeleton."), StringParameter('microstructure'), IntParameter('x_elements', 4, tip="No. of elements in the x-direction."), IntParameter('y_elements', 4, tip="No. of elements in the y-direction."), RegisteredParameter('skeleton_geometry', skeleton.SkeletonGeometry, skeleton.QuadSkeleton()) ) )) class InitializeSkeletonParallel: def __init__(self, skelname, msname, nx, ny, geometry): self.skelname = skelname self.msname = msname self.nx = nx self.ny = ny self.geometry = geometry self.dummy = None self.skeleton = None def create(self):
ms = microStructures[microstructure].getObject() skel = skeleton.initialSkeleton(name, ms, x_elements, y_elements, skeleton_geometry) switchboard.notify("redraw") skelparams=parameter.ParameterGroup( AutoWhoNameParameter('name', value=automatic.automatic, resolver=skeletonNameResolver, tip="Name of the new skeleton."), WhoParameter('microstructure', microStructures, tip=parameter.emptyTipString), IntParameter('x_elements', 4, tip="No. of elements in the x-direction."), IntParameter('y_elements', 4, tip="No. of elements in the y-direction."), RegisteredParameter('skeleton_geometry', skeleton.SkeletonGeometry, skeleton.QuadSkeleton(), tip="The shape of the elements.")) elif config.dimension() == 3: def _skeleton_from_mstructure(menuitem, name, microstructure, x_elements, y_elements, z_elements, skeleton_geometry): if parallel_enable.enabled(): # PARALLEL skeleton.initialSkeletonParallel(name, microstructure, x_elements, y_elements, z_elements, skeleton_geometry) else: ms = microStructures[microstructure].getObject() skel = skeleton.initialSkeleton(name, ms, x_elements, y_elements, z_elements, skeleton_geometry)