def makeGeometry(x, y): cubit.cmd("reset") cubit.cmd('open "circleGeom.trelis"') for i in range(0, len(x)): cubit.cmd("create vertex " + str(x[i]) + " " + str(y[i]) + " 0 on surface 1") V = cubit.get_list_of_free_ref_entities("vertex") for i in range(0, len(V)): cubit.cmd("imprint volume all with vertex " + str(V[i])) cubit.cmd("delete free vertex all") cubit.cmd("compress ids") for i in range(0, len(V)): cubit.cmd("nodeset 1 add vertex " + str(V[i])) cubit.cmd("surface all size 0.2") cubit.cmd("mesh surf all") cubit.cmd("surface all smooth scheme mean ratio cpu 0.1") cubit.cmd("smooth surf all") cubit.cmd('create group "cf_crease_entities"') for i in range(0, len(V)): ssID = cubit.get_next_sideset_id() N = cubit.get_vertex_node(V[i]) nodeEdges = cubit.parse_cubit_list('edge', 'in node ' + str(N)) for e in range(0, len(nodeEdges)): cubit.cmd("sideset " + str(ssID) + " add Edge " + str(nodeEdges[e])) cubit.cmd("cf_crease_entities add Edge " + str(nodeEdges[e])) cubit.cmd("sideset " + str(ssID) + ' name "node_' + str(N) + '_edges"')
def curve2poly(line): curve=int(line) cubit.cmd('curve '+str(curve)+' size auto factor 1') cubit.cmd('mesh curve '+str(curve)) n=cubit.get_curve_nodes(curve) orientnode=[] vertex_list = cubit.get_relatives("curve", curve, "vertex") if len(vertex_list) != 0: startnode=cubit.get_vertex_node(vertex_list[0]) cubit.cmd('del group pgon') cubit.cmd("group 'pgon' add edge in node "+str(startnode)) group1 = cubit.get_id_from_name("pgon") edges = list(cubit.get_group_edges(group1)) edgestart=edges[0] else: startnode=n[0] cubit.cmd('del group pgon') cubit.cmd("group 'pgon' add edge in node "+str(startnode)) group1 = cubit.get_id_from_name("pgon") edges = list(cubit.get_group_edges(group1)) edgestart=edges[0] begin=startnode orientnode.append(begin) node_id_list = list(cubit.get_connectivity("edge", edgestart)) node_id_list.remove(startnode) startnode=node_id_list[0] orientnode.append(startnode) stopflag=False while startnode != begin and not stopflag: cubit.cmd('del group pgon') cubit.cmd("group 'pgon' add edge in node "+str(startnode)) group1 = cubit.get_id_from_name("pgon") edges = list(cubit.get_group_edges(group1)) if len(edges) != 1: edges.remove(edgestart) edgestart=edges[0] node_id_list = list(cubit.get_connectivity("edge", edgestart)) node_id_list.remove(startnode) orientnode.append(node_id_list[0]) startnode=node_id_list[0] else: stopflag=True vx=[] vy=[] for n in orientnode: v=cubit.get_nodal_coordinates(n) vx.append(v[0]) vy.append(v[1]) return vx,vy,orientnode